summaryrefslogtreecommitdiff
path: root/libstdc++-v3/src/complex_io.cc
diff options
context:
space:
mode:
authorbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-07 22:23:58 +0000
committerbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-07 22:23:58 +0000
commitd7fbb98b08d28cb403fcfcb3162b4792aa64116b (patch)
treeb8066f235ec23f5dc04e5951f1059343bd4db2ac /libstdc++-v3/src/complex_io.cc
parent5925d47a9678680da55feb29ec3f65f045e7408a (diff)
downloadgcc-d7fbb98b08d28cb403fcfcb3162b4792aa64116b.tar.gz
2006-02-07 Jakub Jelinek <jakub@redhat.com>
Benjamin Kosnik <bkoz@redhat.com> * configure.ac (_GLIBCXX_LONG_DOUBLE_COMPAT): New check. If true, set also port_specific_symbol_files and create as_symver_specs. (GLIBCXX_LDBL_COMPAT): New GLIBCXX_CONDITIONAL. * configure: Rebuilt. * config.h.in: Rebuilt. * config/os/gnu-linux/ldbl-extra.ver: New file. * config/abi/pre/gnu.ver: Make sure no __float128 symbols are exported. * include/bits/c++config (_GLIBCXX_LONG_DOUBLE_COMPAT, _GLIBCXX_LDBL_NAMESPACE, _GLIBCXX_BEGIN_LDBL_NAMESPACE, _GLIBCXX_END_LDBL_NAMESPACE): Define. * include/bits/localefwd.h: Use them to conditionally scope facets. * include/bits/locale_facets.h: Surround std::{money,num}_{get,put} with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE. Surround std::{money,num}_{get,put} with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE. [_GLIBCXX_LONG_DOUBLE_COMPAT] (std::money_get): Add __do_get method. [_GLIBCXX_LONG_DOUBLE_COMPAT] (std::money_put): Add __do_put method. [_GLIBCXX_LONG_DOUBLE_COMPAT] (std::num_get): Add __do_get method. [_GLIBCXX_LONG_DOUBLE_COMPAT] (std::num_put): Add __do_put method. * include/bits/locale_facets.tcc: Surround std::{money,num}_{get,put} with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE. (std::money_get::__do_get, std::money_put::__do_put, std::num_get::__do_get, std::num_put::__do_put): New specializations. * include/Makefile.am: Conditionally define _GLIBCXX_LONG_DOUBLE_COMPAT in c++config. * include/Makefile.in: Regenerate. * src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT] (_GLIBCXX_LOC_ID, _GLIBCXX_SYNC_ID): Define, use them. * src/compatibility-ldbl.cc: New file. * src/complex_io.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Add compatibility symbols. * src/limits.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise. * src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise. * src/locale-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise. * src/locale-misc-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise. * src/istream-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise. * src/ostream-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise. * src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise. * src/wlocale-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise. * src/compatibility.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise. * config/locale/generic/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise. * config/locale/gnu/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise. * src/Makefile.am (libstdc++-symbol.ver): Append instead of insert in the middle if port specific symbol file requests it. (ldbl_compat_sources): New variable. (sources): Use it. (compatibility-ldbl.lo, compatibility-ldbl.o): New rules. * src/Makefile.in: Rebuilt. * testsuite/testsuite_abi.cc: Recognize GLIBCXX_LDBL_3.4, GLIBCXX_LDBL_3.4.7, CXXABI_LDBL_1.3. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110725 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/src/complex_io.cc')
-rw-r--r--libstdc++-v3/src/complex_io.cc19
1 files changed, 18 insertions, 1 deletions
diff --git a/libstdc++-v3/src/complex_io.cc b/libstdc++-v3/src/complex_io.cc
index 103795888b0..e65a22d8457 100644
--- a/libstdc++-v3/src/complex_io.cc
+++ b/libstdc++-v3/src/complex_io.cc
@@ -1,6 +1,6 @@
// The template and inlines for the -*- C++ -*- complex number classes.
-// Copyright (C) 2000, 2001, 2005 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2001, 2005, 2006 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -92,3 +92,20 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#endif //_GLIBCXX_USE_WCHAR_T
_GLIBCXX_END_NAMESPACE
+
+// XXX GLIBCXX_ABI Deprecated
+#ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
+
+#define _GLIBCXX_LDBL_COMPAT(dbl, ldbl) \
+ extern "C" void ldbl (void) __attribute__ ((alias (#dbl), weak))
+
+_GLIBCXX_LDBL_COMPAT (_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E,
+ _ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E);
+_GLIBCXX_LDBL_COMPAT (_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E,
+ _ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E);
+_GLIBCXX_LDBL_COMPAT (_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E,
+ _ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E);
+_GLIBCXX_LDBL_COMPAT (_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E,
+ _ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E);
+
+#endif // _GLIBCXX_LONG_DOUBLE_COMPAT