r261297 - Implement the likely resolution of core issue 253.

Hans Wennborg via cfe-commits cfe-commits at lists.llvm.org
Fri Feb 19 08:26:02 PST 2016


On Fri, Feb 19, 2016 at 4:00 AM, Ismail Donmez via cfe-commits
<cfe-commits at lists.llvm.org> wrote:
> On Fri, Feb 19, 2016 at 3:52 AM, Nico Weber via cfe-commits
> <cfe-commits at lists.llvm.org> wrote:
>> Author: nico
>> Date: Thu Feb 18 19:52:46 2016
>> New Revision: 261297
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=261297&view=rev
>> Log:
>> Implement the likely resolution of core issue 253.
>>
>> C++11 requires const objects to have a user-provided constructor, even for
>> classes without any fields. DR 253 relaxes this to say "If the implicit default
>> constructor initializes all subobjects, no initializer should be required."
>>
>> clang is currently the only compiler that implements this C++11 rule, and e.g.
>> libstdc++ relies on something like DR 253 to compile in newer versions.  This
>> change  makes it possible to build code that says `const vector<int> v;' again
>> when using libstdc++5.2 and _GLIBCXX_DEBUG
>> (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60284).
>>
>> Fixes PR23381.
>
> Since nearly all Linux distros now ship gcc5, it would be nice to have
> this fix in 3.8 release.

Richard, what do you think?


More information about the cfe-commits mailing list