UNREG: ignore -fllvm (Trac #13495)
authorSergei Trofimovich <slyfox@gentoo.org>
Sat, 1 Apr 2017 09:35:52 +0000 (10:35 +0100)
committerSergei Trofimovich <slyfox@gentoo.org>
Sat, 1 Apr 2017 09:47:15 +0000 (10:47 +0100)
Unregisterised GHC can only use C as a target backend
(option used to be called -fvia-C). -fasm option was
ignored with a warhing, but not -fllvm.

jms noticed the failure when tried to use quick-cross
build flavour. quick-cross enables -fllvm in makefile.

  "inplace/bin/ghc-stage1" ... -fllvm
  ghc-stage1: panic! (the 'impossible' happened)
    (GHC version 8.0.2 for powerpc-unknown-linux):
          LlvmCodeGen.Ppr: Cross compiling without valid target info.

This change ignores -fllvm as well.

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
compiler/main/DynFlags.hs

index 2750ca6..dad1d6f 100644 (file)
@@ -5151,7 +5151,7 @@ makeDynFlagsConsistent dflags
     = let dflags' = gopt_unset dflags Opt_Hpc
           warn = "Hpc can't be used with byte-code interpreter. Ignoring -fhpc."
       in loop dflags' warn
- | hscTarget dflags == HscAsm &&
+ | hscTarget dflags `elem` [HscAsm, HscLlvm] &&
    platformUnregisterised (targetPlatform dflags)
     = loop (dflags { hscTarget = HscC })
            "Compiler unregisterised, so compiling via C"