This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/25864] Enable IBM long double format in 32-bit PowerPC Linux



------- Comment #15 from jakub at gcc dot gnu dot org  2006-02-14 14:18 -------
Subject: Bug 25864

Author: jakub
Date: Tue Feb 14 14:17:59 2006
New Revision: 110967

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110967
Log:
2006-02-07  Jakub Jelinek  <jakub@redhat.com>
            Benjamin Kosnik  <bkoz@redhat.com>

        PR target/25864
        * 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/linker-map.gnu: 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.
        [_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.    

Added:
   
branches/redhat/gcc-4_1-branch/libstdc++-v3/config/os/gnu-linux/ldbl-extra.ver
    branches/redhat/gcc-4_1-branch/libstdc++-v3/src/compatibility-ldbl.cc
Modified:
    branches/redhat/gcc-4_1-branch/libstdc++-v3/ChangeLog
    branches/redhat/gcc-4_1-branch/libstdc++-v3/config.h.in
    branches/redhat/gcc-4_1-branch/libstdc++-v3/config/linker-map.gnu
   
branches/redhat/gcc-4_1-branch/libstdc++-v3/config/locale/generic/c_locale.cc
    branches/redhat/gcc-4_1-branch/libstdc++-v3/config/locale/gnu/c_locale.cc
    branches/redhat/gcc-4_1-branch/libstdc++-v3/configure
    branches/redhat/gcc-4_1-branch/libstdc++-v3/configure.ac
    branches/redhat/gcc-4_1-branch/libstdc++-v3/include/Makefile.am
    branches/redhat/gcc-4_1-branch/libstdc++-v3/include/Makefile.in
    branches/redhat/gcc-4_1-branch/libstdc++-v3/include/bits/c++config
    branches/redhat/gcc-4_1-branch/libstdc++-v3/include/bits/locale_facets.h
    branches/redhat/gcc-4_1-branch/libstdc++-v3/include/bits/locale_facets.tcc
    branches/redhat/gcc-4_1-branch/libstdc++-v3/include/bits/localefwd.h
    branches/redhat/gcc-4_1-branch/libstdc++-v3/src/Makefile.am
    branches/redhat/gcc-4_1-branch/libstdc++-v3/src/Makefile.in
    branches/redhat/gcc-4_1-branch/libstdc++-v3/src/compatibility.cc
    branches/redhat/gcc-4_1-branch/libstdc++-v3/src/complex_io.cc
    branches/redhat/gcc-4_1-branch/libstdc++-v3/src/istream-inst.cc
    branches/redhat/gcc-4_1-branch/libstdc++-v3/src/limits.cc
    branches/redhat/gcc-4_1-branch/libstdc++-v3/src/locale-inst.cc
    branches/redhat/gcc-4_1-branch/libstdc++-v3/src/locale-misc-inst.cc
    branches/redhat/gcc-4_1-branch/libstdc++-v3/src/locale.cc
    branches/redhat/gcc-4_1-branch/libstdc++-v3/src/ostream-inst.cc
    branches/redhat/gcc-4_1-branch/libstdc++-v3/src/wlocale-inst.cc
    branches/redhat/gcc-4_1-branch/libstdc++-v3/testsuite/testsuite_abi.cc


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25864


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]