[C++0x] fix libstdc++/41005 - missing fstream instantiations

Jonathan Wakely jwakely.gcc@gmail.com
Fri Aug 14 08:02:00 GMT 2009


2009/8/14 Benjamin Kosnik:
>
>> We already compile src/string-inst.cc and src/wstring-inst.cc with
>> -std=gnu0x so that the new members are instantiated in the library,
>> this does the same for fstream-inst.cc.
>>
>>         PR libstdc++/41005
>>         * src/Makefile.am (fstream-inst.o): Compile as C++0x.
>>         * src/Makefile.in: Regenerate.
>>         * config/abi/pre/gnu.ver: Add new exports and adjust old ones
>> to be more precise.
>>
>> The linker script changes are necessary so that the new symbols are
>> not matched by the patterns in the 3.4 version.  Tested x86_64/linux,
>> OK for trunk?
>
> Yes.
>
>> And 4.4 branch when I've tested it there?
>
> Yes, but do an audit first on trunk to make sure that all the *-inst.cc
> files that have C++0x MF's are done? Ideally there would be some link
> tests for these.

Will do.  I think valarray has some C++0x member functions, but we
don't use extern templates for valarray anyway, so I don't think
valarray-inst.cc needs to be compiled as -std=c++0x

>> How would I add the symbols to the 4.4 linker map?  Would the fstream
>> ones go in 3.4.13 and then the <future> symbols on trunk get moved to
>> a new 3.4.14 version?
>
> Yes.

Cool, I'll get the 4.4. patch tested and submitted over the weekend
then checkin trunk and 4.4. together.

Thanks,

Jonathan



More information about the Gcc-patches mailing list