From: Jonathan Wakely Date: Wed, 26 Aug 2009 19:03:24 +0000 (+0000) Subject: re PR libstdc++/41005 ([C++0x] Unable to link fstream open and ctor with std::string... X-Git-Tag: releases/gcc-4.5.0~3831 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=41bc3c4a822b838e38a4b8f1d09c36ec54f40ddc;p=thirdparty%2Fgcc.git re PR libstdc++/41005 ([C++0x] Unable to link fstream open and ctor with std::string argument.) 2009-08-26 Jonathan Wakely PR libstdc++/41005 * configure.ac: Bump libtool_VERSION to 6:14:0. * configure: Regenerate. * src/Makefile.am: Compile fstream-inst.cc as C++0x. * src/Makefile.in: Regenerate. * config/abi/pre/gnu.ver: Add new symbols and disambiguate old ones, move symbols to 3.4.14 version. * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.14 version. From-SVN: r151126 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index cd892b2c879a..39a7f0aa8af6 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,14 @@ +2009-08-26 Jonathan Wakely + + PR libstdc++/41005 + * configure.ac: Bump libtool_VERSION to 6:14:0. + * configure: Regenerate. + * src/Makefile.am: Compile fstream-inst.cc as C++0x. + * src/Makefile.in: Regenerate. + * config/abi/pre/gnu.ver: Add new symbols and disambiguate old ones, + move symbols to 3.4.14 version. + * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.14 version. + 2009-08-25 Benjamin Kosnik * include/bits/basic_string.h (basic_string): Add cbegin(), diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver index e73b5fef1692..60db314267bb 100644 --- a/libstdc++-v3/config/abi/pre/gnu.ver +++ b/libstdc++-v3/config/abi/pre/gnu.ver @@ -32,7 +32,9 @@ GLIBCXX_3.4 { std::a[e-z]*; # std::ba[a-r]*; std::basic_[a-e]*; - std::basic_f[a-r]*; + std::basic_f[a-h]*; +# std::basic_filebuf; + std::basic_f[j-r]*; # std::basic_fstream; std::basic_f[t-z]*; std::basic_[g-h]*; @@ -283,28 +285,40 @@ GLIBCXX_3.4 { _ZNSdC*; _ZNSdD*; + # std::basic_filebuf + _ZNSt13basic_filebufI[cw]St11char_traitsI[cw]EEC*; + _ZNSt13basic_filebufI[cw]St11char_traitsI[cw]EED*; + _ZNSt13basic_filebufI[cw]St11char_traitsI[cw]EE[0-3]*; + _ZNSt13basic_filebufI[cw]St11char_traitsI[cw]EE4openEPKc*; + _ZNSt13basic_filebufI[cw]St11char_traitsI[cw]EE4sync*; + _ZNSt13basic_filebufI[cw]St11char_traitsI[cw]EE[5-9]*; + _ZNKSt13basic_filebufI[cw]St11char_traitsI[cw]EE7is_openEv; + # std::basic_fstream - _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EEC*; + _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EEC[12]Ev; + _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EEC[12]EPKc*; _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EED*; _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EE5closeEv; _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EE7is_openEv; - _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EE4open*; + _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EE4openEPKc*; _ZNKSt13basic_fstreamI[cw]St11char_traitsI[cw]EE5rdbufEv; # std::basic_ifstream - _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EEC*; + _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EEC[12]Ev; + _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EEC[12]EPKc*; _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EED*; _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EE5closeEv; _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EE7is_openEv; - _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EE4open*; + _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EE4openEPKc*; _ZNKSt14basic_ifstreamI[cw]St11char_traitsI[cw]EE5rdbufEv; # std::basic_ofstream - _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EEC*; + _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EEC[12]Ev; + _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EEC[12]EPKc*; _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EED*; _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EE5closeEv; _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EE7is_openEv; - _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EE4open*; + _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EE4openEPKc*; _ZNKSt14basic_ofstreamI[cw]St11char_traitsI[cw]EE5rdbufEv; # std::basic_istream @@ -978,6 +992,19 @@ GLIBCXX_3.4.12 { GLIBCXX_3.4.13 { + # new fstream members + _ZNSt13basic_filebufI[cw]St11char_traitsI[cw]EE4openERKSsSt13_Ios_Openmode; + _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EEC[12]ERKSsSt13_Ios_Openmode; + _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EE4openERKSsSt13_Ios_Openmode; + _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EEC[12]ERKSsSt13_Ios_Openmode; + _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EE4openERKSsSt13_Ios_Openmode; + _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EEC[12]ERKSsSt13_Ios_Openmode; + _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EE4openERKSsSt13_Ios_Openmode; + +} GLIBCXX_3.4.12; + +GLIBCXX_3.4.14 { + # future _ZSt15future_category; _ZNSt12future_errorD*; @@ -997,7 +1024,7 @@ GLIBCXX_3.4.13 { _ZNKSbIwSt11char_traitsIwESaIwEE7crbeginEv; _ZNKSbIwSt11char_traitsIwESaIwEE5crendEv; -} GLIBCXX_3.4.12; +} GLIBCXX_3.4.13; # Symbols in the support library (libsupc++) have their own tag. CXXABI_1.3 { diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure index 49bf86cfdfd9..9bfa40b8d2c3 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure @@ -2927,7 +2927,7 @@ ac_config_headers="$ac_config_headers config.h" ### am handles this now? ORIGINAL_LD_FOR_MULTILIBS=$LD # For libtool versioning info, format is CURRENT:REVISION:AGE -libtool_VERSION=6:13:0 +libtool_VERSION=6:14:0 # Find the rest of the source tree framework. diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac index bb80cd5d79a4..bc05d2d5d4a1 100644 --- a/libstdc++-v3/configure.ac +++ b/libstdc++-v3/configure.ac @@ -12,7 +12,7 @@ AC_CONFIG_HEADER(config.h) ### am handles this now? ORIGINAL_LD_FOR_MULTILIBS=$LD # For libtool versioning info, format is CURRENT:REVISION:AGE -libtool_VERSION=6:13:0 +libtool_VERSION=6:14:0 AC_SUBST(libtool_VERSION) # Find the rest of the source tree framework. diff --git a/libstdc++-v3/src/Makefile.am b/libstdc++-v3/src/Makefile.am index bc562b44bbcf..54d521825c46 100644 --- a/libstdc++-v3/src/Makefile.am +++ b/libstdc++-v3/src/Makefile.am @@ -278,6 +278,11 @@ atomic.lo: atomic.cc atomic.o: atomic.cc $(CXXCOMPILE) -std=gnu++0x -c $< +fstream-inst.lo: fstream-inst.cc + $(LTCXXCOMPILE) -std=gnu++0x -c $< +fstream-inst.o: fstream-inst.cc + $(CXXCOMPILE) -std=gnu++0x -c $< + string-inst.lo: string-inst.cc $(LTCXXCOMPILE) -std=gnu++0x -c $< string-inst.o: string-inst.cc diff --git a/libstdc++-v3/src/Makefile.in b/libstdc++-v3/src/Makefile.in index 944ffd02ede3..e484d86e1309 100644 --- a/libstdc++-v3/src/Makefile.in +++ b/libstdc++-v3/src/Makefile.in @@ -913,6 +913,11 @@ atomic.lo: atomic.cc atomic.o: atomic.cc $(CXXCOMPILE) -std=gnu++0x -c $< +fstream-inst.lo: fstream-inst.cc + $(LTCXXCOMPILE) -std=gnu++0x -c $< +fstream-inst.o: fstream-inst.cc + $(CXXCOMPILE) -std=gnu++0x -c $< + string-inst.lo: string-inst.cc $(LTCXXCOMPILE) -std=gnu++0x -c $< string-inst.o: string-inst.cc diff --git a/libstdc++-v3/testsuite/util/testsuite_abi.cc b/libstdc++-v3/testsuite/util/testsuite_abi.cc index ae146babb877..562568aebcdc 100644 --- a/libstdc++-v3/testsuite/util/testsuite_abi.cc +++ b/libstdc++-v3/testsuite/util/testsuite_abi.cc @@ -185,6 +185,7 @@ check_version(symbol& test, bool added) known_versions.push_back("GLIBCXX_3.4.11"); known_versions.push_back("GLIBCXX_3.4.12"); known_versions.push_back("GLIBCXX_3.4.13"); + known_versions.push_back("GLIBCXX_3.4.14"); known_versions.push_back("GLIBCXX_LDBL_3.4"); known_versions.push_back("GLIBCXX_LDBL_3.4.7"); known_versions.push_back("GLIBCXX_LDBL_3.4.10");