-tcMonoExpr (HsCCall lbl args may_gc is_asm ignored_fake_result_ty) res_ty
- = -- Get the callable and returnable classes.
+tcMonoExpr e0@(HsCCall lbl args may_gc is_casm ignored_fake_result_ty) res_ty
+
+ = getDOptsTc `thenNF_Tc` \ dflags ->
+
+ checkTc (not (is_casm && dopt_HscLang dflags /= HscC))
+ (vcat [text "_casm_ is only supported when compiling via C (-fvia-C).",
+ text "Either compile with -fvia-C, or, better, rewrite your code",
+ text "to use the foreign function interface. _casm_s are deprecated",
+ text "and support for them may one day disappear."])
+ `thenTc_`
+
+ -- Get the callable and returnable classes.