From 8e0adc0215ff3e6e4c972f9ed6ba9df2f5d2c4f9 Mon Sep 17 00:00:00 2001 From: Duncan Coutts Date: Mon, 8 Jun 2009 14:55:09 +0000 Subject: [PATCH] Check we're not using stdcall in foreign export on unsupported platforms It's already checked for foreign import, but was missing for export. --- compiler/typecheck/TcForeign.lhs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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} -- 1.7.10.4