merge up to ghc HEAD 16-Apr-2011
authorAdam Megacz <megacz@cs.berkeley.edu>
Sat, 16 Apr 2011 23:56:37 +0000 (16:56 -0700)
committerAdam Megacz <megacz@cs.berkeley.edu>
Sun, 17 Apr 2011 01:21:58 +0000 (18:21 -0700)
1  2 
compiler/cmm/CLabel.hs
compiler/deSugar/Desugar.lhs
compiler/ghc.cabal.in
compiler/hetmet
compiler/main/DynFlags.hs
compiler/prelude/PrelNames.lhs
compiler/rename/RnExpr.lhs
ghc.mk
libraries/base

@@@ -976,8 -1032,14 +980,8 @@@ pprCLbl (PlainModuleInitLabel mod
  pprCLbl (HpcTicksLabel mod)
    = ptext (sLit "_hpc_tickboxes_")  <> ppr mod <> ptext (sLit "_hpc")
  
- ppIdFlavor :: IdLabelInfo -> SDoc
- ppIdFlavor x = pp_cSEP <>
 -pprCLbl HpcModuleNameLabel
 -  = ptext (sLit "_hpc_module_name_str")
 -
+ ppIdFlavor :: Name -> IdLabelInfo -> SDoc
+ ppIdFlavor n x = pp_cSEP <> closureSuffix' n <>
               (case x of
                       Closure          -> ptext (sLit "closure")
                       SRT              -> ptext (sLit "srt")
@@@ -105,14 -108,12 +108,16 @@@ deSugar hsc_en
                            ; (ds_fords, foreign_prs) <- dsForeigns fords
                            ; ds_rules <- mapMaybeM dsRule rules
                            ; ds_vects <- mapM dsVect vects
+                           ; hetmet_brak <- if dopt Opt_F_coqpass dflags then dsLookupGlobalId hetmet_brak_name else return undefined
+                           ; hetmet_esc  <- if dopt Opt_F_coqpass dflags then dsLookupGlobalId hetmet_esc_name  else return undefined
 +                          ; let hpc_init
 +                                  | opt_Hpc   = hpcInitCode mod ds_hpc_info
 +                                  | otherwise = empty
                            ; return ( ds_ev_binds
                                     , foreign_prs `appOL` core_prs `appOL` spec_prs
                                     , spec_rules ++ ds_rules, ds_vects
 -                                   , ds_fords, ds_hpc_info, modBreaks, hetmet_brak, hetmet_esc) }
 +                                   , ds_fords `appendStubC` hpc_init
-                                    , ds_hpc_info, modBreaks) }
++                                   , ds_hpc_info, modBreaks, hetmet_brak, hetmet_esc) }
  
          ; case mb_res of {
             Nothing -> return (msgs, Nothing) ;
Simple merge
diff --cc compiler/hetmet
index 0000000,6c949de..b18f84a
mode 000000,160000..160000
--- /dev/null
@@@ -1,0 -1,1 +1,1 @@@
 -Subproject commit 6c949de6b044bda942fd0553e3eb9c0386a94e44
++Subproject commit b18f84ae40af08b3df0214593f4e4eb0665cdf7d
@@@ -1282,11 -1296,16 +1287,16 @@@ dynamic_flags = 
                                                setVerbosity (Just 2)))
    , Flag "dfaststring-stats"       (NoArg (setDynFlag Opt_D_faststring_stats))
  
+         ------ Coq-in-GHC ---------------------------
+   , Flag "dcoqpass"                (NoArg (setDynFlag Opt_D_coqpass))
+   , Flag "ddump-coqpass"           (NoArg (setDynFlag Opt_D_dump_coqpass))
+   , Flag "fcoqpass"                (NoArg (setDynFlag Opt_F_coqpass))
          ------ Machine dependant (-m<blah>) stuff ---------------------------
  
 -  , Flag "monly-2-regs" (noArg (\s -> s{stolen_x86_regs = 2}))
 -  , Flag "monly-3-regs" (noArg (\s -> s{stolen_x86_regs = 3}))
 -  , Flag "monly-4-regs" (noArg (\s -> s{stolen_x86_regs = 4}))
 +  , Flag "monly-2-regs" (NoArg (addWarn "The -monly-2-regs flag does nothing; it will be removed in a future GHC release"))
 +  , Flag "monly-3-regs" (NoArg (addWarn "The -monly-3-regs flag does nothing; it will be removed in a future GHC release"))
 +  , Flag "monly-4-regs" (NoArg (addWarn "The -monly-4-regs flag does nothing; it will be removed in a future GHC release"))
    , Flag "msse2"        (NoArg (setDynFlag Opt_SSE2))
  
       ------ Warning opts -------------------------------------------------
@@@ -1671,8 -1690,12 +1682,13 @@@ impliedFlag
      , (Opt_ExistentialQuantification, turnOn, Opt_ExplicitForAll)
      , (Opt_PolymorphicComponents,     turnOn, Opt_ExplicitForAll)
      , (Opt_FlexibleInstances,         turnOn, Opt_TypeSynonymInstances)
 +    , (Opt_FunctionalDependencies,    turnOn, Opt_MultiParamTypeClasses)
  
+     , (Opt_ModalTypes,                 turnOn,  Opt_RankNTypes)
+     , (Opt_ModalTypes,                 turnOn,  Opt_ExplicitForAll)
+     --, (Opt_ModalTypes,                 turnOn,  Opt_RebindableSyntax)
+     , (Opt_ModalTypes,                 turnOff, Opt_MonomorphismRestriction)
      , (Opt_RebindableSyntax, turnOff, Opt_ImplicitPrelude)      -- NB: turn off!
  
      , (Opt_GADTs,            turnOn, Opt_GADTSyntax)
@@@ -1086,8 -1103,12 +1103,12 @@@ opaqueTyConKe
  stringTyConKey :: Unique
  stringTyConKey                                = mkPreludeTyConUnique 134
  
+ -- Heterogeneous Metaprogramming code type constructor
+ hetMetCodeTypeTyConKey :: Unique
+ hetMetCodeTypeTyConKey                        = mkPreludeTyConUnique 135
  ---------------- Template Haskell -------------------
 ---    USES TyConUniques 100-129
 +--    USES TyConUniques 200-299
  -----------------------------------------------------
  
  unitTyConKey :: Unique
@@@ -1325,8 -1350,18 +1350,18 @@@ realToFracIdKey      = mkPreludeMiscIdU
  toIntegerClassOpKey  = mkPreludeMiscIdUnique 129
  toRationalClassOpKey = mkPreludeMiscIdUnique 130
  
+ -- code types
+ hetmet_brak_key, hetmet_esc_key, hetmet_csp_key :: Unique
+ hetmet_brak_key    = mkPreludeMiscIdUnique 131
+ hetmet_esc_key     = mkPreludeMiscIdUnique 132
+ hetmet_csp_key     = mkPreludeMiscIdUnique 133
+ hetmet_guest_integer_literal_key, hetmet_guest_string_literal_key, hetmet_guest_char_literal_key :: Unique
+ hetmet_guest_integer_literal_key = mkPreludeMiscIdUnique 134
+ hetmet_guest_string_literal_key  = mkPreludeMiscIdUnique 135
+ hetmet_guest_char_literal_key    = mkPreludeMiscIdUnique 136
  ---------------- Template Haskell -------------------
 ---    USES IdUniques 200-399
 +--    USES IdUniques 200-499
  -----------------------------------------------------
  \end{code}
  
Simple merge
diff --cc ghc.mk
Simple merge
diff --cc libraries/base
index 0000000,ec77c2c..f643d95
mode 000000,160000..160000
--- /dev/null
@@@ -1,0 -1,1 +1,1 @@@
 -Subproject commit ec77c2ce0ef81e7bfee1839ddae6326f69a896ec
++Subproject commit f643d954e30d5ac635d3c0ff41ad40401fbd5e92