[Bug 1201246] [NEW] lp:mir FTBFS: error: looser throw specifier for ‘testing::NiceMock<M>::~NiceMock()

Daniel van Vugt daniel.van.vugt at canonical.com
Mon Jul 15 02:40:33 UTC 2013


Public bug reported:

I know this is a gcc-4.7 (raring) bug. But I'm logging it in case we can
find a workaround.

[ 48%] Building CXX object tests/mir_test_doubles/CMakeFiles/mir-test-doubles.dir/test_protobuf_client.cpp.o
In file included from /usr/include/gmock/gmock.h:62:0,
                 from /home/dan/bzr/mir/ftb/include/test/mir_test/test_protobuf_client.h:25,
                 from /home/dan/bzr/mir/ftb/tests/mir_test_doubles/test_protobuf_client.cpp:19:
/usr/include/gmock/gmock-generated-nice-strict.h: In instantiation of ‘class testing::NiceMock<mir::test::doubles::MockRpcReport>’:
/usr/include/c++/4.7/type_traits:1252:2:   required by substitution of ‘template<class _From1, class _To1> static decltype ((__test_aux<_To1>(declval<_From1>()), std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To, false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = testing::NiceMock<mir::test::doubles::MockRpcReport>*; _To = mir::test::doubles::MockRpcReport*] [with _From1 = testing::NiceMock<mir::test::doubles::MockRpcReport>*; _To1 = mir::test::doubles::MockRpcReport*]’
/usr/include/c++/4.7/type_traits:1258:70:   required from ‘constexpr const bool std::__is_convertible_helper<testing::NiceMock<mir::test::doubles::MockRpcReport>*, mir::test::doubles::MockRpcReport*, false>::value’
/usr/include/c++/4.7/type_traits:1263:12:   required from ‘struct std::is_convertible<testing::NiceMock<mir::test::doubles::MockRpcReport>*, mir::test::doubles::MockRpcReport*>’
/usr/include/c++/4.7/bits/shared_ptr.h:216:31:   required from here
/usr/include/gmock/gmock-generated-nice-strict.h:166:11: error: looser throw specifier for ‘testing::NiceMock<M>::~NiceMock() [with MockClass = mir::test::doubles::MockRpcReport]’
In file included from /home/dan/bzr/mir/ftb/tests/mir_test_doubles/test_protobuf_client.cpp:20:0:
/home/dan/bzr/mir/ftb/include/test/mir_test_doubles/mock_rpc_report.h:38:5: error:   overriding ‘virtual mir::test::doubles::MockRpcReport::~MockRpcReport() noexcept (true)’
make[2]: *** [tests/mir_test_doubles/CMakeFiles/mir-test-doubles.dir/test_protobuf_client.cpp.o] Error 1
make[1]: *** [tests/mir_test_doubles/CMakeFiles/mir-test-doubles.dir/all] Error 2
make: *** [all] Error 2

** Affects: gcc
     Importance: Unknown
         Status: Unknown

** Affects: mir
     Importance: Undecided
         Status: New

** Affects: gcc-defaults (Ubuntu)
     Importance: Undecided
         Status: Fix Released

** Bug watch added: GCC Bugzilla #50043
   http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50043

** Also affects: gcc via
   http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50043
   Importance: Unknown
       Status: Unknown

** Also affects: gcc-defaults (Ubuntu)
   Importance: Undecided
       Status: New

** Changed in: gcc-defaults (Ubuntu)
       Status: New => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to gcc-defaults in Ubuntu.
https://bugs.launchpad.net/bugs/1201246

Title:
  lp:mir FTBFS: error: looser throw specifier for
  ‘testing::NiceMock<M>::~NiceMock()

Status in The GNU Compiler Collection:
  Unknown
Status in Mir:
  New
Status in “gcc-defaults” package in Ubuntu:
  Fix Released

Bug description:
  I know this is a gcc-4.7 (raring) bug. But I'm logging it in case we
  can find a workaround.

  [ 48%] Building CXX object tests/mir_test_doubles/CMakeFiles/mir-test-doubles.dir/test_protobuf_client.cpp.o
  In file included from /usr/include/gmock/gmock.h:62:0,
                   from /home/dan/bzr/mir/ftb/include/test/mir_test/test_protobuf_client.h:25,
                   from /home/dan/bzr/mir/ftb/tests/mir_test_doubles/test_protobuf_client.cpp:19:
  /usr/include/gmock/gmock-generated-nice-strict.h: In instantiation of ‘class testing::NiceMock<mir::test::doubles::MockRpcReport>’:
  /usr/include/c++/4.7/type_traits:1252:2:   required by substitution of ‘template<class _From1, class _To1> static decltype ((__test_aux<_To1>(declval<_From1>()), std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To, false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = testing::NiceMock<mir::test::doubles::MockRpcReport>*; _To = mir::test::doubles::MockRpcReport*] [with _From1 = testing::NiceMock<mir::test::doubles::MockRpcReport>*; _To1 = mir::test::doubles::MockRpcReport*]’
  /usr/include/c++/4.7/type_traits:1258:70:   required from ‘constexpr const bool std::__is_convertible_helper<testing::NiceMock<mir::test::doubles::MockRpcReport>*, mir::test::doubles::MockRpcReport*, false>::value’
  /usr/include/c++/4.7/type_traits:1263:12:   required from ‘struct std::is_convertible<testing::NiceMock<mir::test::doubles::MockRpcReport>*, mir::test::doubles::MockRpcReport*>’
  /usr/include/c++/4.7/bits/shared_ptr.h:216:31:   required from here
  /usr/include/gmock/gmock-generated-nice-strict.h:166:11: error: looser throw specifier for ‘testing::NiceMock<M>::~NiceMock() [with MockClass = mir::test::doubles::MockRpcReport]’
  In file included from /home/dan/bzr/mir/ftb/tests/mir_test_doubles/test_protobuf_client.cpp:20:0:
  /home/dan/bzr/mir/ftb/include/test/mir_test_doubles/mock_rpc_report.h:38:5: error:   overriding ‘virtual mir::test::doubles::MockRpcReport::~MockRpcReport() noexcept (true)’
  make[2]: *** [tests/mir_test_doubles/CMakeFiles/mir-test-doubles.dir/test_protobuf_client.cpp.o] Error 1
  make[1]: *** [tests/mir_test_doubles/CMakeFiles/mir-test-doubles.dir/all] Error 2
  make: *** [all] Error 2

To manage notifications about this bug go to:
https://bugs.launchpad.net/gcc/+bug/1201246/+subscriptions




More information about the foundations-bugs mailing list