Index: base/template_util.h |
diff --git a/base/template_util.h b/base/template_util.h |
index 80a24d1722e2c466e31d2e09f483a4a73a45e90b..56da87555d2e28ca34f7841d552faf8472dad777 100644 |
--- a/base/template_util.h |
+++ b/base/template_util.h |
@@ -24,13 +24,12 @@ |
#endif |
// Some versions of libstdc++ have partial support for type_traits, but misses |
-// a smaller subset while removing some of the older non-standard stuff. |
-#define CR_GLIBCXX_4_8_4 20141219 |
-#define CR_GLIBCXX_4_9_2 20150426 |
+// a smaller subset while removing some of the older non-standard stuff. Assume |
+// that all versions below 5.0 fall in this category, along with one 5.0 |
+// experimental release. |
#define CR_GLIBCXX_5_0_0 20150123 |
-#if defined(__GLIBCXX__) && \ |
- (__GLIBCXX__ == CR_GLIBCXX_4_8_4 || __GLIBCXX__ == CR_GLIBCXX_4_9_2 || \ |
- __GLIBCXX__ == CR_GLIBCXX_5_0_0) |
+#if (defined(__GNUC__) && __GNUC_ < 5) || \ |
danakj
2017/01/05 16:30:15
I agree that it's odd to check the compiler versio
sof
2017/01/05 18:59:44
ok, tried to do so.
ABI skew is one reason why it
|
+ (defined(__GLIBCXX__) && __GLIBCXX__ == CR_GLIBCXX_5_0_0) |
#define CR_USE_FALLBACKS_FOR_OLD_EXPERIMENTAL_GLIBCXX |
#endif |