ghc-7.10.3: The GHC API

Safe HaskellNone




runCc :: DynFlags -> [Option] -> IO () Source

runPp :: DynFlags -> [Option] -> IO () Source

runAs :: DynFlags -> [Option] -> IO () Source

runLlvmOpt :: DynFlags -> [Option] -> IO () Source

Run the LLVM Optimiser

runLlvmLlc :: DynFlags -> [Option] -> IO () Source

Run the LLVM Compiler

runClang :: DynFlags -> [Option] -> IO () Source

Run the clang compiler (used as an assembler for the LLVM backend on OS X as LLVM doesn't support the OS X system assembler)

figureLlvmVersion :: DynFlags -> IO (Maybe Int) Source

Figure out which version of LLVM we are running this session

readElfSection :: DynFlags -> String -> FilePath -> IO (Maybe String) Source

read the contents of the named section in an ELF object as a String.

data Option Source

When invoking external tools as part of the compilation pipeline, we pass these a sequence of options on the command-line. Rather than just using a list of Strings, we use a type that allows us to distinguish between filepaths and 'other stuff'. The reason for this is that this type gives us a handle on transforming filenames, and filenames only, to whatever format they're expected to be on a particular platform.