Unconditionally handle TH known key names.
authorEdward Z. Yang <ezyang@cs.stanford.edu>
Thu, 25 Feb 2016 20:47:30 +0000 (21:47 +0100)
committerBen Gamari <ben@smart-cactus.org>
Fri, 26 Feb 2016 11:23:15 +0000 (12:23 +0100)
Previously, we didn't add Template Haskell key names to the list
of known uniques when building a stage 1 compiler.  But with
f16ddcee0c64a92ab911a7841a8cf64e3ac671fd we may refer to TH
names even in stage 1, and this was causing uniques to not
be setup properly.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Test Plan: validate and run stage1 test suite

Reviewers: osa1, austin, bgamari

Reviewed By: bgamari

Subscribers: thomie

Differential Revision: https://phabricator.haskell.org/D1520

GHC Trac Issues: #10382

compiler/main/HscMain.hs

index b1daae5..d9aae24 100644 (file)
@@ -90,12 +90,12 @@ import Type             ( Type )
 import {- Kind parts of -} Type         ( Kind )
 import CoreLint         ( lintInteractiveExpr )
 import VarEnv           ( emptyTidyEnv )
-import THNames          ( templateHaskellNames )
 import Panic
 import ConLike
 import Control.Concurrent
 #endif
 
+import THNames          ( templateHaskellNames )
 import Module
 import Packages
 import RdrName
@@ -208,9 +208,7 @@ allKnownKeyNames                -- where templateHaskellNames are defined
   = all_names
   where
     all_names = knownKeyNames
-#ifdef GHCI
                 ++ templateHaskellNames
-#endif
 
     namesEnv      = foldl (\m n -> extendNameEnv_Acc (:) singleton m n n)
                           emptyUFM all_names