summaryrefslogtreecommitdiff
path: root/compiler/main/DriverPipeline.hs
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2011-11-16 15:51:44 +0000
committerSimon Marlow <marlowsd@gmail.com>2011-11-16 15:52:07 +0000
commit07f6af72215bea70ad95c6b1278ed927cd9693e4 (patch)
tree2ee3d3772003e71a764013029004dbff981636ad /compiler/main/DriverPipeline.hs
parent66265ae0970b9d36b8847b75e176f0de4844690e (diff)
downloadhaskell-07f6af72215bea70ad95c6b1278ed927cd9693e4.tar.gz
Give a warning when -rtsopts/-with-rtsopts are used with -no-hs-main
Diffstat (limited to 'compiler/main/DriverPipeline.hs')
-rw-r--r--compiler/main/DriverPipeline.hs9
1 files changed, 9 insertions, 0 deletions
diff --git a/compiler/main/DriverPipeline.hs b/compiler/main/DriverPipeline.hs
index 8103f66239..aaf9f0009c 100644
--- a/compiler/main/DriverPipeline.hs
+++ b/compiler/main/DriverPipeline.hs
@@ -1446,6 +1446,15 @@ mkExtraObjToLinkIntoBinary :: DynFlags -> [PackageId] -> IO FilePath
mkExtraObjToLinkIntoBinary dflags dep_packages = do
link_info <- getLinkInfo dflags dep_packages
+ let have_rts_opts_flags =
+ isJust (rtsOpts dflags) || case rtsOptsEnabled dflags of
+ RtsOptsSafeOnly -> False
+ _ -> True
+
+ when (dopt Opt_NoHsMain dflags && have_rts_opts_flags) $ do
+ hPutStrLn stderr $ "Warning: -rtsopts and -with-rtsopts have no effect with -no-hs-main.\n" ++
+ " Call hs_init_ghc() from your main() function to set these options."
+
mkExtraCObj dflags (showSDoc (vcat [main,
link_opts link_info]
<> char '\n')) -- final newline, to