This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: [C++0x] fix libstdc++/41005 - missing fstream instantiations
tested x86_64/linux - ok for 4.4 branch?
PR libstdc++/41005
* configure.ac: Bump libtool_VERSION to 6:13:0.
* configure: Regenerate.
* src/Makefile.ac: Compile fstream-inst.cc as C++0x.
* src/Makefile.in: Regenerate.
* config/abi/pre/gnu.ver: Add new symbols and disambiguate old ones.
* testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.13 version.
Index: src/Makefile.am
===================================================================
--- src/Makefile.am (revision 150791)
+++ src/Makefile.am (working copy)
@@ -277,6 +277,11 @@
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
Index: src/Makefile.in
===================================================================
--- src/Makefile.in (revision 150791)
+++ src/Makefile.in (working copy)
@@ -888,6 +888,11 @@
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
Index: configure.ac
===================================================================
--- configure.ac (revision 150791)
+++ configure.ac (working copy)
@@ -12,7 +12,7 @@
### am handles this now? ORIGINAL_LD_FOR_MULTILIBS=$LD
# For libtool versioning info, format is CURRENT:REVISION:AGE
-libtool_VERSION=6:12:0
+libtool_VERSION=6:13:0
AC_SUBST(libtool_VERSION)
# Find the rest of the source tree framework.
Index: configure
===================================================================
--- configure (revision 150791)
+++ configure (working copy)
@@ -1567,7 +1567,7 @@
### am handles this now? ORIGINAL_LD_FOR_MULTILIBS=$LD
# For libtool versioning info, format is CURRENT:REVISION:AGE
-libtool_VERSION=6:12:0
+libtool_VERSION=6:13:0
# Find the rest of the source tree framework.
Index: config/abi/pre/gnu.ver
===================================================================
--- config/abi/pre/gnu.ver (revision 150791)
+++ config/abi/pre/gnu.ver (working copy)
@@ -32,7 +32,9 @@
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]*;
@@ -273,28 +275,40 @@
_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<char>
@@ -966,6 +980,19 @@
} GLIBCXX_3.4.11;
+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;
+
# Symbols in the support library (libsupc++) have their own tag.
CXXABI_1.3 {
Index: testsuite/util/testsuite_abi.cc
===================================================================
--- testsuite/util/testsuite_abi.cc (revision 150791)
+++ testsuite/util/testsuite_abi.cc (working copy)
@@ -184,6 +184,7 @@
known_versions.push_back("GLIBCXX_3.4.10");
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_LDBL_3.4");
known_versions.push_back("GLIBCXX_LDBL_3.4.7");
known_versions.push_back("GLIBCXX_LDBL_3.4.10");