[allow foreign import specification parameters to appear in arbitrary order
John Meacham <john@repetae.net>**20090227142607
 Ignore-this: b107a2faf20d87e1cebcc4ada1c156f9
] hunk ./FrontEnd/ParseUtils.hs 104
-checkClassHeader :: HsQualType -> P (HsContext,HsName,[HsName])
-checkClassHeader (HsQualType cs t) = do
-	(c,ts) <- checkSimple "class" t []
-	return (cs,c,ts)
hunk ./FrontEnd/ParseUtils.hs 400
-    pconv rs = case rs of
-                ("safe":rs) -> g Safe rs
-                ("unsafe":rs) -> g Unsafe rs
-                rs -> g Safe rs
-            where
-            g safe [] = (safe,CCall)
-            g safe ["ccall"] = (safe,CCall)
-            g safe ["stdcall"] = (safe,StdCall)
-            g x y = error $ "FrontEnd.ParseUtils: " ++ show (x,y)
+    pconv rs = g Safe CCall rs where
+        g _ cc ("safe":rs) = g Safe cc rs
+        g _ cc ("unsafe":rs) = g Unsafe cc rs
+        g s _  ("ccall":rs)  = g s CCall rs
+        g s _  ("stdcall":rs) = g s StdCall rs
+        g s c  [] = (s,c)
+        g _ _ rs = error $ "FrontEnd.ParseUtils: unknown foreign flags " ++ show rs