This allows _GLIBCXX_HAS_BUILTIN (or _GLIBCXX_USE_BUILTIN_TRAIT) to be
used as part of a larger logical expression.
libstdc++-v3/ChangeLog:
* include/bits/c++config (_GLIBCXX_HAS_BUILTIN): Add parentheses.
---
Tested x86_64-linux. Pushed to trunk.
This isn't currently necessary on the release branches but it might be
worth backporting anyway, in case we want to be able to use this macro
as `_GLIBCXX_HAS_BUILTIN(foo) && bar` on the branches in future.
libstdc++-v3/include/bits/c++config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libstdc++-v3/include/bits/c++config
b/libstdc++-v3/include/bits/c++config
index b0ca6579cfb..07f75ea6659 100644
--- a/libstdc++-v3/include/bits/c++config
+++ b/libstdc++-v3/include/bits/c++config
@@ -885,7 +885,7 @@ namespace __gnu_cxx
#ifdef __has_builtin
# ifdef __is_identifier
// Intel and older Clang require !__is_identifier for some built-ins:
-# define _GLIBCXX_HAS_BUILTIN(B) __has_builtin(B) || ! __is_identifier(B)
+# define _GLIBCXX_HAS_BUILTIN(B) (__has_builtin(B) || ! __is_identifier(B))
# else
# define _GLIBCXX_HAS_BUILTIN(B) __has_builtin(B)
# endif
--
2.48.1