diff options
author | Akim Demaille <akim.demaille@gmail.com> | 2021-01-12 06:28:13 +0100 |
---|---|---|
committer | Akim Demaille <akim.demaille@gmail.com> | 2021-01-23 09:24:01 +0100 |
commit | 1ac973aa568342700bfd404b41b6f0081d6a2a67 (patch) | |
tree | 47b691d602f8625ab086595e0b9dbffe5105e772 | |
parent | 8358090292e21c61a583da542bad9099ad65f355 (diff) | |
download | bison-1ac973aa568342700bfd404b41b6f0081d6a2a67.tar.gz |
c: adjust _Noreturn to pedantic clang
Reported by Joe Nelson <joe@begriffs.com>.
https://lists.gnu.org/r/help-bison/2021-01/msg00004.html
Fixed by Paul Eggert in gnulib.
https://lists.gnu.org/r/bug-gnulib/2021-01/msg00156.html
* data/skeletons/c.m4 (b4_attribute_define): Adjust _Noreturn to
pedantic clang.
-rw-r--r-- | data/skeletons/c.m4 | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/data/skeletons/c.m4 b/data/skeletons/c.m4 index 14a16a9d..8c08b0a5 100644 --- a/data/skeletons/c.m4 +++ b/data/skeletons/c.m4 @@ -378,14 +378,16 @@ dnl use C' _Noreturn in C++, to avoid -Wc11-extensions warnings. && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \ || (defined _MSC_VER && 1900 <= _MSC_VER))) # define _Noreturn [[noreturn]] -# elif (!defined __cplusplus \ - && (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) |