summaryrefslogtreecommitdiff
path: root/lib/_Noreturn.h
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2021-01-31 22:34:48 -0700
committerSean Whitton <spwhitton@spwhitton.name>2021-01-31 22:34:48 -0700
commitd4d613629b59d2eadd80026cab6c9dabc92cab24 (patch)
treed31086a817251dddb847d027661d218c1ecd6540 /lib/_Noreturn.h
parentfdb813e529602914360fc2d0cf22e42e32e6905f (diff)
parenta5438ee11ad052e71334dcfb2db51fb9123411e5 (diff)
downloademacs-d4d613629b59d2eadd80026cab6c9dabc92cab24.tar.gz
Merge remote-tracking branch 'origin/master' into athena/unstable
Diffstat (limited to 'lib/_Noreturn.h')
-rw-r--r--lib/_Noreturn.h16
1 files changed, 9 insertions, 7 deletions
diff --git a/lib/_Noreturn.h b/lib/_Noreturn.h
index 38afe1d5672..fb718bc0691 100644
--- a/lib/_Noreturn.h
+++ b/lib/_Noreturn.h
@@ -26,14 +26,16 @@
AIX system header files and several gnulib header files use precisely
this syntax with 'extern'. */
# define _Noreturn [[noreturn]]
-# elif ((!defined __cplusplus || defined __clang__) \
- && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \
- || 4 < __GNUC__ + (7 <= __GNUC_MINOR__) \
- || (defined __apple_build_version__ \
- ? 6000000 <= __apple_build_version__ \
- : 3 < __clang_major__ + (5 <= __clang_minor__))))
+# elif ((!defined __cplusplus || defined __clang__) \
+ && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \
+ || (!defined __STRICT_ANSI__ \
+ && (__4 < __GNUC__ + (7 <= __GNUC_MINOR__) \
+ || (defined __apple_build_version__ \
+ ? 6000000 <= __apple_build_version__ \
+ : 3 < __clang_major__ + (5 <= __clang_minor__))))))
/* _Noreturn works as-is. */
-# elif 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C
+# elif (2 < __GNUC__ + (8 <= __GNUC_MINOR__) || defined __clang__ \
+ || 0x5110 <= __SUNPRO_C)
# define _Noreturn __attribute__ ((__noreturn__))
# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0)
# define _Noreturn __declspec (noreturn)