aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/libstdc++-v3
diff options
context:
space:
mode:
authorAndrew Hsieh <andrewhsieh@google.com>2014-04-28 17:58:16 -0700
committerAndrew Hsieh <andrewhsieh@google.com>2014-04-28 18:10:28 -0700
commitd7c9c7963a79b60e2247bd5a41decc80938023f4 (patch)
tree1356f86b3068e98dc6d6e34ea8295f8b7878bbf6 /gcc-4.9/libstdc++-v3
parent16712a032061c7f8e9647004a10f8af866e57719 (diff)
downloadtoolchain_gcc-d7c9c7963a79b60e2247bd5a41decc80938023f4.tar.gz
toolchain_gcc-d7c9c7963a79b60e2247bd5a41decc80938023f4.tar.bz2
toolchain_gcc-d7c9c7963a79b60e2247bd5a41decc80938023f4.zip
Fix GNU4.7/4.8/4.9 libstdc++ for clang
1. Undo fix in ed7057a1ece24733fe30423cd94131deb8ccb2ca which precludes __atomic_fetch_add() now supported by clang >= 3.3 2. __float128 is supported by clang >= 3.4 Change-Id: Ic2856368d83d261e3a27e0e24ccc09743afdc68b
Diffstat (limited to 'gcc-4.9/libstdc++-v3')
-rw-r--r--gcc-4.9/libstdc++-v3/include/std/type_traits2
-rw-r--r--gcc-4.9/libstdc++-v3/libsupc++/eh_globals.cc4
2 files changed, 3 insertions, 3 deletions
diff --git a/gcc-4.9/libstdc++-v3/include/std/type_traits b/gcc-4.9/libstdc++-v3/include/std/type_traits
index 0261c7de9..86fde9e0c 100644
--- a/gcc-4.9/libstdc++-v3/include/std/type_traits
+++ b/gcc-4.9/libstdc++-v3/include/std/type_traits
@@ -259,7 +259,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
struct __is_floating_point_helper<long double>
: public true_type { };
-#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_FLOAT128)
+#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_FLOAT128) && (!defined(__clang__) || __clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4))
template<>
struct __is_floating_point_helper<__float128>
: public true_type { };
diff --git a/gcc-4.9/libstdc++-v3/libsupc++/eh_globals.cc b/gcc-4.9/libstdc++-v3/libsupc++/eh_globals.cc
index 12e48db6a..a790246a0 100644
--- a/gcc-4.9/libstdc++-v3/libsupc++/eh_globals.cc
+++ b/gcc-4.9/libstdc++-v3/libsupc++/eh_globals.cc
@@ -93,9 +93,9 @@ struct __eh_globals_init
bool _M_init;
__eh_globals_init() : _M_init(false)
- {
+ {
if (__gthread_active_p())
- _M_init = __gthread_key_create(&_M_key, eh_globals_dtor) == 0;
+ _M_init = __gthread_key_create(&_M_key, eh_globals_dtor) == 0;
}
~__eh_globals_init()