X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fparser%2FLexer.x;h=5c595f5df21afff0c52e5d8d41ff89684dbf4cac;hb=5252fa374b66e58ae734eeae9684970837c6e990;hp=07ee66f9d8f6491718ed08898a407bb2e7ee7802;hpb=f2fd487da87fcf55b6f04f06a84cb567af6a2104;p=ghc-hetmet.git diff --git a/compiler/parser/Lexer.x b/compiler/parser/Lexer.x index 07ee66f..5c595f5 100644 --- a/compiler/parser/Lexer.x +++ b/compiler/parser/Lexer.x @@ -244,6 +244,12 @@ $tab+ { warn Opt_WarnTabs (text "Tab character") } { token (ITinline_prag True) } "{-#" $whitechar* (NO(T?)INLINE|no(t?)inline) / { notFollowedByPragmaChar } { token (ITinline_prag False) } + "{-#" $whitechar* (INLINE|inline) + $whitechar+ (CONLIKE|conlike) / { notFollowedByPragmaChar } + { token (ITinline_conlike_prag True) } + "{-#" $whitechar* (NO(T)?INLINE|no(t?)inline) + $whitechar+ (CONLIKE|constructorlike) / { notFollowedByPragmaChar } + { token (ITinline_conlike_prag False) } "{-#" $whitechar* (SPECIALI[SZ]E|speciali[sz]e) / { notFollowedByPragmaChar } { token ITspec_prag } "{-#" $whitechar* (SPECIALI[SZ]E|speciali[sz]e) @@ -490,6 +496,7 @@ data Token -- Pragmas | ITinline_prag Bool -- True <=> INLINE, False <=> NOINLINE + | ITinline_conlike_prag Bool -- same | ITspec_prag -- SPECIALISE | ITspec_inline_prag Bool -- SPECIALISE INLINE (or NOINLINE) | ITsource_prag