aboutsummaryrefslogtreecommitdiffstats
path: root/cparser/pre_parser.mly
diff options
context:
space:
mode:
authorBernhard Schommer <bernhardschommer@gmail.com>2016-03-23 14:22:33 +0100
committerBernhard Schommer <bernhardschommer@gmail.com>2016-03-23 14:22:33 +0100
commit4e62a2c4b2c809ea020423e7e328ba96e379d64d (patch)
tree67a9325ae6e04c3ed353e9cd1f9dc19c1fd87405 /cparser/pre_parser.mly
parentccd59f7fc19ffe2347724b532d6ce13c8580c2ab (diff)
downloadcompcert-kvx-4e62a2c4b2c809ea020423e7e328ba96e379d64d.tar.gz
compcert-kvx-4e62a2c4b2c809ea020423e7e328ba96e379d64d.zip
Added the _Noreturn keyword.
CompCert now recognizes the C11 _Noreturn function specifier and emits a simple warning for functions declared _Noreturn containing a return statement. Also the stdnoreturn header and additionally the stdalign header are added. Bug 18541
Diffstat (limited to 'cparser/pre_parser.mly')
-rw-r--r--cparser/pre_parser.mly3
1 files changed, 2 insertions, 1 deletions
diff --git a/cparser/pre_parser.mly b/cparser/pre_parser.mly
index 21008f1c..05dd1016 100644
--- a/cparser/pre_parser.mly
+++ b/cparser/pre_parser.mly
@@ -54,7 +54,7 @@
COLON AND MUL_ASSIGN DIV_ASSIGN MOD_ASSIGN ADD_ASSIGN SUB_ASSIGN LEFT_ASSIGN
RIGHT_ASSIGN AND_ASSIGN XOR_ASSIGN OR_ASSIGN LPAREN RPAREN LBRACK RBRACK
LBRACE RBRACE DOT COMMA SEMICOLON ELLIPSIS TYPEDEF EXTERN STATIC RESTRICT
- AUTO REGISTER INLINE CHAR SHORT INT LONG SIGNED UNSIGNED FLOAT DOUBLE
+ AUTO REGISTER INLINE NORETURN CHAR SHORT INT LONG SIGNED UNSIGNED FLOAT DOUBLE
UNDERSCORE_BOOL CONST VOLATILE VOID STRUCT UNION ENUM CASE DEFAULT IF ELSE
SWITCH WHILE DO FOR GOTO CONTINUE BREAK RETURN BUILTIN_VA_ARG ALIGNOF
ATTRIBUTE ALIGNAS PACKED ASM
@@ -608,6 +608,7 @@ gcc_attribute_word:
function_specifier:
| INLINE
+| NORETURN
{}
(* We add this non-terminal here to force the resolution of the