DynFlags: Prohibit hpc and byte-code interpreter
authorBen Gamari <ben@smart-cactus.org>
Thu, 13 Aug 2015 18:17:06 +0000 (20:17 +0200)
committerBen Gamari <ben@smart-cactus.org>
Thu, 13 Aug 2015 19:03:05 +0000 (21:03 +0200)
The user's guide says hpc is incompatible with GHCi and #9903 would
agree. Fixes #9903.

compiler/main/DynFlags.hs

index 4f0bfc5..5fa62b4 100644 (file)
@@ -4179,6 +4179,10 @@ makeDynFlagsConsistent dflags
       else let dflags' = dflags { hscTarget = HscLlvm }
                warn = "Compiler not unregisterised, so using LLVM rather than compiling via C"
            in loop dflags' warn
+ | gopt Opt_Hpc dflags && hscTarget dflags == HscInterpreted
+    = 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 &&
    platformUnregisterised (targetPlatform dflags)
     = loop (dflags { hscTarget = HscC })