From: Duncan Coutts Date: Mon, 8 Jun 2009 14:55:09 +0000 (+0000) Subject: Check we're not using stdcall in foreign export on unsupported platforms X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=8e0adc0215ff3e6e4c972f9ed6ba9df2f5d2c4f9 Check we're not using stdcall in foreign export on unsupported platforms It's already checked for foreign import, but was missing for export. --- diff --git a/compiler/typecheck/TcForeign.lhs b/compiler/typecheck/TcForeign.lhs index 185e592..aa40d02 100644 --- a/compiler/typecheck/TcForeign.lhs +++ b/compiler/typecheck/TcForeign.lhs @@ -243,8 +243,9 @@ tcFExport d = pprPanic "tcFExport" (ppr d) \begin{code} tcCheckFEType :: Type -> ForeignExport -> TcM () -tcCheckFEType sig_ty (CExport (CExportStatic str _)) = do +tcCheckFEType sig_ty (CExport (CExportStatic str cconv)) = do check (isCLabelString str) (badCName str) + checkCConv cconv checkForeignArgs isFFIExternalTy arg_tys checkForeignRes nonIOok isFFIExportResultTy res_ty where @@ -341,7 +342,7 @@ checkCConv CCallConv = return () #if i386_TARGET_ARCH checkCConv StdCallConv = return () #else -checkCConv StdCallConv = addErrTc (text "calling convention not supported on this architecture: stdcall") +checkCConv StdCallConv = addErrTc (text "calling convention not supported on this platform: stdcall") #endif checkCConv CmmCallConv = panic "checkCConv CmmCallConv" \end{code}