Add a manual testcase for the "not interpreted" issue

This commit is contained in:
Daniel Gröber
2015-09-16 08:36:35 +02:00
parent 0fde762500
commit 6f0eb46db9
5 changed files with 430 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
-- $ ghc -package ghc -package ghc-paths GhcTestcase.hs
{-# LANGUAGE ScopedTypeVariables #-}
module Main where
import GHC
import GHC.Paths (libdir)
import DynFlags
import System.Environment
main :: IO ()
main = do
args <- getArgs
defaultErrorHandler defaultFatalMessager defaultFlushOut $
runGhc (Just libdir) $
doStuff "Main.hs" "Main" args
doStuff :: String -> String -> [String] -> Ghc ()
doStuff targetFile targetModule args = do
dflags0 <- getSessionDynFlags
let dflags1 = dflags0 {
ghcMode = CompManager
, ghcLink = LinkInMemory
, hscTarget = HscInterpreted
, optLevel = 0
}
(dflags2, _, _) <- parseDynamicFlags dflags1 (map noLoc args)
_ <- setSessionDynFlags dflags2
target <- guessTarget targetFile Nothing
setTargets [target { targetAllowObjCode = True }]
_ <- load LoadAllTargets
setContext [IIModule $ mkModuleName targetModule]
return ()