- = case reads (unpackFS ext) of
- [] -> languagePragParseError l
- (okExt,""):_ -> case extensionsToGHCFlag [okExt] of
- ([],[opt]) -> L l opt
- _ -> unsupportedExtnError l okExt
+-- Checks if a given extension is valid, and if so returns
+-- its corresponding flag. Otherwise it throws an exception.
+ = let ext' = unpackFS ext in
+ if ext' `elem` supportedLanguages
+ || ext' `elem` (map ("No"++) supportedLanguages)
+ then L l ("-X"++ext')
+ else unsupportedExtnError l ext'