Mercurial > gnulib
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 |
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 |