diff options
author | Bernhard Schommer <bernhardschommer@gmail.com> | 2015-02-19 16:24:28 +0100 |
---|---|---|
committer | Bernhard Schommer <bernhardschommer@gmail.com> | 2015-02-19 16:24:28 +0100 |
commit | e51ffb6c1d9411515facc5e97a4e8dba5d8b55ab (patch) | |
tree | 80a7fc8212d28712365082e1a2a2d0fa28cedad3 /cparser/Lexer.mll | |
parent | c130f4936bad11fd6dab3a5d142b870d2a5f650c (diff) | |
parent | b0eb1dfc9fd7b15c556c49101390d882b0f00f8a (diff) | |
download | compcert-e51ffb6c1d9411515facc5e97a4e8dba5d8b55ab.tar.gz compcert-e51ffb6c1d9411515facc5e97a4e8dba5d8b55ab.zip |
Merge branch 'master' into no-shell
Diffstat (limited to 'cparser/Lexer.mll')
-rw-r--r-- | cparser/Lexer.mll | 45 |
1 files changed, 24 insertions, 21 deletions
diff --git a/cparser/Lexer.mll b/cparser/Lexer.mll index 3ab83902..13c1248b 100644 --- a/cparser/Lexer.mll +++ b/cparser/Lexer.mll @@ -28,13 +28,34 @@ let init filename channel : Lexing.lexbuf = Hashtbl.clear lexicon; List.iter (fun (key, builder) -> Hashtbl.add lexicon key builder) - [ ("auto", fun loc -> AUTO loc); + [ + ("_Alignas", fun loc -> ALIGNAS loc); + ("_Alignof", fun loc -> ALIGNOF loc); + ("_Bool", fun loc -> UNDERSCORE_BOOL loc); + ("__alignof", fun loc -> ALIGNOF loc); + ("__alignof__", fun loc -> ALIGNOF loc); + ("__asm", fun loc -> ASM loc); + ("__asm__", fun loc -> ASM loc); + ("__attribute", fun loc -> ATTRIBUTE loc); + ("__attribute__", fun loc -> ATTRIBUTE loc); + ("__builtin_va_arg", fun loc -> BUILTIN_VA_ARG loc); + ("__const", fun loc -> CONST loc); + ("__const__", fun loc -> CONST loc); + ("__inline", fun loc -> INLINE loc); + ("__inline__", fun loc -> INLINE loc); + ("__packed__", fun loc -> PACKED loc); + ("__restrict", fun loc -> RESTRICT loc); + ("__restrict__", fun loc -> RESTRICT loc); + ("__signed", fun loc -> SIGNED loc); + ("__signed__", fun loc -> SIGNED loc); + ("__volatile", fun loc -> VOLATILE loc); + ("__volatile__", fun loc -> VOLATILE loc); + ("asm", fun loc -> ASM loc); + ("auto", fun loc -> AUTO loc); ("break", fun loc -> BREAK loc); ("case", fun loc -> CASE loc); ("char", fun loc -> CHAR loc); ("const", fun loc -> CONST loc); - ("__const", fun loc -> CONST loc); - ("__const__", fun loc -> CONST loc); ("continue", fun loc -> CONTINUE loc); ("default", fun loc -> DEFAULT loc); ("do", fun loc -> DO loc); @@ -47,14 +68,10 @@ let init filename channel : Lexing.lexbuf = ("goto", fun loc -> GOTO loc); ("if", fun loc -> IF loc); ("inline", fun loc -> INLINE loc); - ("__inline", fun loc -> INLINE loc); - ("__inline__", fun loc -> INLINE loc); ("int", fun loc -> INT loc); ("long", fun loc -> LONG loc); ("register", fun loc -> REGISTER loc); ("restrict", fun loc -> RESTRICT loc); - ("__restrict", fun loc -> RESTRICT loc); - ("__restrict__", fun loc -> RESTRICT loc); ("return", fun loc -> RETURN loc); ("short", fun loc -> SHORT loc); ("signed", fun loc -> SIGNED loc); @@ -67,21 +84,7 @@ let init filename channel : Lexing.lexbuf = ("unsigned", fun loc -> UNSIGNED loc); ("void", fun loc -> VOID loc); ("volatile", fun loc -> VOLATILE loc); - ("__volatile", fun loc -> VOLATILE loc); - ("__volatile__", fun loc -> VOLATILE loc); ("while", fun loc -> WHILE loc); - ("_Alignas", fun loc -> ALIGNAS loc); - ("_Alignof", fun loc -> ALIGNOF loc); - ("__alignof", fun loc -> ALIGNOF loc); - ("__alignof__", fun loc -> ALIGNOF loc); - ("__attribute", fun loc -> ATTRIBUTE loc); - ("__attribute__", fun loc -> ATTRIBUTE loc); - ("_Bool", fun loc -> UNDERSCORE_BOOL loc); - ("__builtin_va_arg", fun loc -> BUILTIN_VA_ARG loc); - ("__packed__", fun loc -> PACKED loc); - ("__asm__", fun loc -> ASM loc); - ("__asm", fun loc -> ASM loc); - ("asm", fun loc -> ASM loc); ]; push_context := begin fun () -> contexts := []::!contexts end; |