group.of.nepali.translators team mailing list archive
-
group.of.nepali.translators team
-
Mailing list archive
-
Message #16680
[Bug 1610168] Re: error: 'basic_string<_CharT, _Traits, _Allocator>' is missing exception specification
This bug was fixed in the package libc++ - 3.7.0-1ubuntu0.1
---------------
libc++ (3.7.0-1ubuntu0.1) xenial; urgency=medium
* Fix error int the string header in c++11 mode (LP: #1610168).
-- Sergey Vidyuk <Sir-VestniK@xxxxxxxxx> Sat, 24 Jun 2017 18:09:34
+0700
** Changed in: libc++ (Ubuntu Xenial)
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1610168
Title:
error: 'basic_string<_CharT, _Traits, _Allocator>' is missing
exception specification
Status in libc++ package in Ubuntu:
Fix Released
Status in libc++ source package in Xenial:
Fix Released
Status in libc++ package in Debian:
Fix Released
Bug description:
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)
^
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
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libc++/+bug/1610168/+subscriptions