NCG: Validate fixes
[ghc-hetmet.git] / compiler / parser / Lexer.x
index 3d13bc0..b3b2336 100644 (file)
@@ -271,7 +271,7 @@ $tab+         { warn Opt_WarnTabs (text "Tab character") }
 
   -- We ignore all these pragmas, but don't generate a warning for them
   -- CFILES is a hugs-only thing.
-  "{-#" $whitechar* (OPTIONS_HUGS|options_hugs|OPTIONS_NHC98|options_nhc98|OPTIONS_JHC|options_jhc|CFILES|cfiles) / { notFollowedByPragmaChar }
+  "{-#" $whitechar* (OPTIONS_(HUGS|hugs|NHC98|nhc98|JHC|jhc|YHC|yhc|CATCH|catch|DERIVE|derive)|CFILES|cfiles) / { notFollowedByPragmaChar }
                     { nested_comment lexToken }
 
   -- ToDo: should only be valid inside a pragma:
@@ -1243,11 +1243,11 @@ lex_char_tok span _buf _len = do        -- We've seen '
                -- We've seen 'x, where x is a valid character
                --  (i.e. not newline etc) but not a quote or backslash
           case alexGetChar' i2 of      -- Look ahead one more character
-               Nothing -> lit_error
                Just ('\'', i3) -> do   -- We've seen 'x'
                        setInput i3 
                        finish_char_tok loc c
                _other -> do            -- We've seen 'x not followed by quote
+                                       -- (including the possibility of EOF)
                                        -- If TH is on, just parse the quote only
                        th_exts <- extension thEnabled  
                        let (AI end _ _) = i1