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

Reply via email to