annotate lib/_Noreturn.h @ 40246:c34f677e6117 default tip master

_Noreturn: GCC 4.7 does not support [[noreturn]] in C++11 mode * lib/_Noreturn.h, m4/gnulib-common.m4: Don't use [[noreturn]] before GCC 4.8.
author Akim Demaille <akim.demaille@gmail.com>
date Sun, 17 Mar 2019 19:27:20 +0100
parents 4a9dba57ac9e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
39961
4a9dba57ac9e gnulib-common.m4: port _Noreturn to C++
Paul Eggert <eggert@cs.ucla.edu>
parents: 18735
diff changeset
1 #ifndef _Noreturn
40246
c34f677e6117 _Noreturn: GCC 4.7 does not support [[noreturn]] in C++11 mode
Akim Demaille <akim.demaille@gmail.com>
parents: 39961
diff changeset
2 # if (201103 <= (defined __cplusplus ? __cplusplus : 0) \
c34f677e6117 _Noreturn: GCC 4.7 does not support [[noreturn]] in C++11 mode
Akim Demaille <akim.demaille@gmail.com>
parents: 39961
diff changeset
3 && (!defined __GNUC__ || 4 < __GNUC__ + (8 <= __GNUC_MINOR__)))
39961
4a9dba57ac9e gnulib-common.m4: port _Noreturn to C++
Paul Eggert <eggert@cs.ucla.edu>
parents: 18735
diff changeset
4 # define _Noreturn [[noreturn]]
4a9dba57ac9e gnulib-common.m4: port _Noreturn to C++
Paul Eggert <eggert@cs.ucla.edu>
parents: 18735
diff changeset
5 # elif (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \
4a9dba57ac9e gnulib-common.m4: port _Noreturn to C++
Paul Eggert <eggert@cs.ucla.edu>
parents: 18735
diff changeset
6 || 4 < __GNUC__ + (7 <= __GNUC_MINOR__))
4a9dba57ac9e gnulib-common.m4: port _Noreturn to C++
Paul Eggert <eggert@cs.ucla.edu>
parents: 18735
diff changeset
7 /* _Noreturn works as-is. */
4a9dba57ac9e gnulib-common.m4: port _Noreturn to C++
Paul Eggert <eggert@cs.ucla.edu>
parents: 18735
diff changeset
8 # elif 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C
18735
a77371738a7e snippets: move unadjusted snippet sources to lib
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
9 # define _Noreturn __attribute__ ((__noreturn__))
39961
4a9dba57ac9e gnulib-common.m4: port _Noreturn to C++
Paul Eggert <eggert@cs.ucla.edu>
parents: 18735
diff changeset
10 # elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0)
18735
a77371738a7e snippets: move unadjusted snippet sources to lib
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
11 # define _Noreturn __declspec (noreturn)
a77371738a7e snippets: move unadjusted snippet sources to lib
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
12 # else
a77371738a7e snippets: move unadjusted snippet sources to lib
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
13 # define _Noreturn
a77371738a7e snippets: move unadjusted snippet sources to lib
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
14 # endif
a77371738a7e snippets: move unadjusted snippet sources to lib
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
15 #endif