Added the SRU info, added ~ubuntu-bug-control. ** Description changed:
This is mirroring Debian bug #808086 https://bugs.debian.org/cgi- bin/bugreport.cgi?bug=808086 Compiling any source file that includes <string> with clang 3.8 and -std=c++11 -stdlib=libc++ results in a compile error. While this is a minor bug in Debian (as it doesn't ship 3.8 yet), xenial does, and that's a major problem as it makes libc++ useless. - clang: warning: argument unused during compilation: '-stdlib=libc++' In file included from test.cpp:1: In file included from /usr/include/c++/v1/iostream:38: In file included from /usr/include/c++/v1/ios:216: In file included from /usr/include/c++/v1/__locale:15: /usr/include/c++/v1/string:1938:44: error: 'basic_string<_CharT, _Traits, _Allocator>' is missing exception specification 'noexcept(is_nothrow_copy_constructible<allocator_type>::value)' basic_string<_CharT, _Traits, _Allocator>::basic_string(const allocator_type& __a) - ^ + ^ /usr/include/c++/v1/string:1326:76: note: previous declaration is here - __attribute__ ((__visibility__("hidden"), __always_inline__)) explicit basic_string(const allocator_type& __a) - ^ + __attribute__ ((__visibility__("hidden"), __always_inline__)) explicit basic_string(const allocator_type& __a) + ^ 1 error generated. + + -- + + Update (30 Aug 2017): as per + https://wiki.ubuntu.com/StableReleaseUpdates : + + [Impact] + + This bug makes it impossible to compile any C++11 source file that + includes <string> with clang 3.8 using libc++. Any non-trivial C++11 + codebase is affected, making the whole libc++ package useless. + + [Test Case] + + See above. Create a C++ file that simply contains #include <string> and + compile it with clang++ -std=c++11 -stdlib=libc++ file.cpp. + + [Regression Potential] + + The current <string> header simply does not work with clang-3.8 under + any condition, so there is no regression potential. + + The regression potential for GCC is also extremely limited: no package + whatsoever uses GCC in combination with libc++, and the fact that GCC + 5.4 -- currently in Xenial -- does not detect the error that Clang + detects is just showing that GCC is bugged in this regard. + + [Other Info] + + The patch/workaround fixes the problem. See also the discussion at the + linked Debian bug report as well as https://stackoverflow.com/q/37096062 -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1610168 Title: error: 'basic_string<_CharT, _Traits, _Allocator>' is missing exception specification To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/libc++/+bug/1610168/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs