diff --git a/src/kernel_internals/parsing/clexer.mll b/src/kernel_internals/parsing/clexer.mll
index 5d83bbc63c40b026f08077b505cf31ccab06d6f3..b97fdcbfa1177383e253d9f14c5f451446f00776 100644
--- a/src/kernel_internals/parsing/clexer.mll
+++ b/src/kernel_internals/parsing/clexer.mll
@@ -144,6 +144,7 @@ let init_lexicon _ =
                         INLINE loc
                       else
                         IDENT ("_inline"));
+      ("_Noreturn", fun loc -> NORETURN loc);
       ("__attribute__", fun loc -> ATTRIBUTE loc);
       ("__attribute", fun loc -> ATTRIBUTE loc);
       ("__blockattribute__", fun _ -> BLOCKATTRIBUTE);
diff --git a/src/kernel_internals/parsing/cparser.mly b/src/kernel_internals/parsing/cparser.mly
index 6f2547db91ff1ebf4e193024ad1158e06428e887..d58c42823f1bd91a8345b13c5d21f2e7df3de59b 100644
--- a/src/kernel_internals/parsing/cparser.mly
+++ b/src/kernel_internals/parsing/cparser.mly
@@ -367,7 +367,7 @@ let in_ghost_block ?(battrs=[]) l =
 %token<Cabs.cabsloc> IF TRY EXCEPT FINALLY
 %token ELSE
 
-%token<Cabs.cabsloc> ATTRIBUTE INLINE ASM TYPEOF FUNCTION__ PRETTY_FUNCTION__
+%token<Cabs.cabsloc> ATTRIBUTE INLINE NORETURN ASM TYPEOF FUNCTION__ PRETTY_FUNCTION__
 %token LABEL__
 %token<Cabs.cabsloc> BUILTIN_VA_ARG
 %token BLOCKATTRIBUTE
@@ -1116,6 +1116,7 @@ decl_spec_wo_type:                         /* ISO 6.7 */
 |   REGISTER         { SpecStorage REGISTER, $1}
                                         /* ISO 6.7.4 */
 |   INLINE           { SpecInline, $1 }
+|   NORETURN         { SpecAttr (("noreturn",[])), $1 }
 |   cvspec           { $1 }
 |   attribute_nocv   { SpecAttr (fst $1), snd $1 }
 ;
diff --git a/tests/syntax/built.i b/tests/syntax/built.i
index 28f1ee5b7dcfa6b7da378ef24face8d449f1f6b1..61f23ea3387ab0d34cb1073a42d49d07f6ae9b0f 100644
--- a/tests/syntax/built.i
+++ b/tests/syntax/built.i
@@ -4,7 +4,7 @@ STDOPT: +"-machdep gcc_x86_32"
 
 extern __attribute__((const, noreturn))
 int ____ilog2_NaN(void);
-
+_Noreturn inline dummy_f(void);
 static inline __attribute__((no_instrument_function)) __attribute__((const))
 int __ilog2_u32(int n);