diff --git a/ghc/compiler/parser/hslexer.flex b/ghc/compiler/parser/hslexer.flex index 037bee49c31dce64a8c626b31c55a2a4fe0055a3..c18335b64541a470b6f270ae565228304a6c4022 100644 --- a/ghc/compiler/parser/hslexer.flex +++ b/ghc/compiler/parser/hslexer.flex @@ -323,14 +323,26 @@ NL [\n\r] PUSH_STATE(UserPragma); RETURN(SPECIALISE_UPRAGMA); } +<Code,GlaExt>"{-#"{WS}*"speciali"[sz]e { + PUSH_STATE(UserPragma); + RETURN(SPECIALISE_UPRAGMA); + } <Code,GlaExt>"{-#"{WS}*"INLINE" { PUSH_STATE(UserPragma); RETURN(INLINE_UPRAGMA); } +<Code,GlaExt>"{-#"{WS}*"inline" { + PUSH_STATE(UserPragma); + RETURN(INLINE_UPRAGMA); + } <Code,GlaExt>"{-#"{WS}*"NOINLINE" { PUSH_STATE(UserPragma); RETURN(NOINLINE_UPRAGMA); } +<Code,GlaExt>"{-#"{WS}*"notInline" { + PUSH_STATE(UserPragma); + RETURN(NOINLINE_UPRAGMA); + } <Code,GlaExt>"{-#"{WS}*"MAGIC_UNFOLDING" { PUSH_STATE(UserPragma); RETURN(MAGIC_UNFOLDING_UPRAGMA); @@ -353,7 +365,7 @@ NL [\n\r] RETURN(SOURCE_UPRAGMA); } -<Code,GlaExt>"{-#"{WS}*[A-Z_]+ { +<Code,GlaExt>"{-#"{WS}*[a-zA-Z_]+ { fprintf(stderr, "%s:%d: Warning: Unrecognised pragma '", input_filename, hsplineno); format_string(stderr, (unsigned char *) yytext, yyleng);