+2023-01-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ verify: work around xlclang 16.1 compiler bug
+ Problem reported by Bruno Haible in:
+ https://lists.gnu.org/r/grep-devel/2023-01/msg00003.html
+ * lib/verify.h (_GL_HAS_BUILTIN_TRAP, _GL_HAS_BUILTIN_UNREACHABLE):
+ Define to 0 if compiler advertises itself as clang before version 5.
+ xlclang 16.1 advertises itself as 4.0.1 and this patch works
+ around what appears to be a compiler bug when compiling dfa.c in
+ bleeding-edge grep.
+
2023-01-13 Paul Eggert <eggert@cs.ucla.edu>
assert-h: fix configure comment-out
/* @assert.h omit start@ */
-#if 3 < __GNUC__ + (3 < __GNUC_MINOR__ + (4 <= __GNUC_PATCHLEVEL__))
+#if defined __clang_major__ && __clang_major__ < 5
+# define _GL_HAS_BUILTIN_TRAP 0
+#elif 3 < __GNUC__ + (3 < __GNUC_MINOR__ + (4 <= __GNUC_PATCHLEVEL__))
# define _GL_HAS_BUILTIN_TRAP 1
#elif defined __has_builtin
# define _GL_HAS_BUILTIN_TRAP __has_builtin (__builtin_trap)
# define _GL_HAS_BUILTIN_TRAP 0
#endif
-#if 4 < __GNUC__ + (5 <= __GNUC_MINOR__)
+#if defined __clang_major__ && __clang_major__ < 5
+# define _GL_HAS_BUILTIN_UNREACHABLE 0
+#elif 4 < __GNUC__ + (5 <= __GNUC_MINOR__)
# define _GL_HAS_BUILTIN_UNREACHABLE 1
#elif defined __has_builtin
# define _GL_HAS_BUILTIN_UNREACHABLE __has_builtin (__builtin_unreachable)