diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 8d36a12c724..0a31f6bdb76 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2019-07-02 Jonathan Wakely + + * include/bits/c++config (_GLIBCXX_HAVE_BUILTIN_LAUNDER) + (_GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED): Use __has_builtin + instead of __is_identifier to detect Clang support. + 2019-07-02 Jim Wilson * configure.ac (BUILD_PDF): Also test for doxygen, dot, xsltproc, diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config index 746e35efbfc..c8e099aaadd 100644 --- a/libstdc++-v3/include/bits/c++config +++ b/libstdc++-v3/include/bits/c++config @@ -636,7 +636,7 @@ namespace std # if __GNUC__ >= 9 # define _GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED 1 # endif -#elif defined(__is_identifier) +#elif defined(__is_identifier) && defined(__has_builtin) // For non-GNU compilers: # if ! __is_identifier(__has_unique_object_representations) # define _GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP 1 @@ -644,10 +644,10 @@ namespace std # if ! __is_identifier(__is_aggregate) # define _GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE 1 # endif -# if ! __is_identifier(__builtin_launder) +# if __has_builtin(__builtin_launder) # define _GLIBCXX_HAVE_BUILTIN_LAUNDER 1 # endif -# if ! __is_identifier(__builtin_is_constant_evaluated) +# if __has_builtin(__builtin_is_constant_evaluated) # define _GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED 1 # endif #endif // GCC