...
 
Commits (7)
......@@ -31,7 +31,6 @@ import GHC.Runtime.Heap.Layout
import UniqSupply
import CostCentre
import GHC.StgToCmm.Heap
import ErrUtils
import Control.Monad
import Data.Map.Strict (Map)
......@@ -802,9 +801,6 @@ doSRTs dflags moduleSRTInfo procs data_ = do
(srt_declss, pairs, funSRTs, has_caf_refs) = unzip4 result
srt_decls = concat srt_declss
unless (null srt_decls) $
dumpIfSet_dyn dflags Opt_D_dump_srts "SRTs" FormatCMM (ppr srt_decls)
-- Next, update the info tables with the SRTs
let
srtFieldMap = mapFromList (concat pairs)
......
......@@ -427,7 +427,6 @@ data DumpFlag
| Opt_D_dump_cmm_split
| Opt_D_dump_cmm_info
| Opt_D_dump_cmm_cps
| Opt_D_dump_srts
-- end cmm subflags
| Opt_D_dump_cfg_weights -- ^ Dump the cfg used for block layout.
| Opt_D_dump_asm
......@@ -3360,8 +3359,6 @@ dynamic_flags_deps = [
(setDumpFlag Opt_D_dump_cmm_info)
, make_ord_flag defGhcFlag "ddump-cmm-cps"
(setDumpFlag Opt_D_dump_cmm_cps)
, make_ord_flag defGhcFlag "ddump-srts"
(setDumpFlag Opt_D_dump_srts)
, make_ord_flag defGhcFlag "ddump-cfg-weights"
(setDumpFlag Opt_D_dump_cfg_weights)
, make_ord_flag defGhcFlag "ddump-core-stats"
......
......@@ -220,9 +220,10 @@ of ``-W(no-)*``.
encountered on the command line.
:type: dynamic
:reverse: -Wno-unrecognised-warning-flags
:default: on
:category:
:default: on
Enables warnings when the compiler encounters a ``-W...`` flag that is not
recognised.
......@@ -252,9 +253,10 @@ of ``-W(no-)*``.
:ghc-flag:`-fdefer-typed-holes`.
:type: dynamic
:reverse: -Wno-typed-holes
:default: on
:category:
:default: on
Determines whether the compiler reports typed holes warnings. Has no
effect unless typed holes errors are deferred until runtime. See
:ref:`typed-holes` and :ref:`defer-type-errors`
......
#!/usr/bin/env bash
# Make sure that the script exits if Hadrian fails to build
set -euo pipefail
# Make sure Hadrian is up-to-date
cd hadrian
stack build --no-library-profiling ${HADRIAN_NIX:+--nix}
......
This diff is collapsed.
......@@ -10,11 +10,11 @@ configureBuilderArgs = do
stage <- getStage
libffiPath <- expr (libffiBuildPath stage)
mconcat [ builder (Configure gmpPath) ? do
hostPlatform <- getSetting HostPlatform
targetPlatform <- getSetting TargetPlatform
buildPlatform <- getSetting BuildPlatform
pure [ "--enable-shared=no"
, "--with-pic=yes"
, "--host=" ++ hostPlatform
, "--host=" ++ targetPlatform -- GMP's host is our target
, "--build=" ++ buildPlatform ]
, builder (Configure libffiPath) ? do
......
......@@ -8,7 +8,7 @@
--
-- A data type defining the language extensions supported by GHC.
--
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DeriveGeneric, Safe #-}
module GHC.LanguageExtensions.Type ( Extension(..) ) where
import Prelude -- See note [Why do we import Prelude here?]
......
......@@ -4,6 +4,7 @@ For other documentation, refer to:
<http://www.haskell.org/haskellwiki/Template_Haskell>
-}
{-# LANGUAGE Safe #-}
module Language.Haskell.TH(
-- * The monad and its operations
Q,
......
{-# LANGUAGE Safe #-}
-----------------------------------------------------------------------------
-- |
-- Module : Language.Haskell.TH.LanguageExtensions
......
{-# LANGUAGE Safe #-}
-- |
-- Language.Haskell.TH.Lib contains lots of useful helper functions for
-- generating and manipulating Template Haskell terms
......
{-# LANGUAGE Safe #-}
-- |
-- Language.Haskell.TH.Lib.Internal exposes some additional functionality that
-- is used internally in GHC's integration with Template Haskell. This is not a
......
{-# LANGUAGE BangPatterns #-}
{-# LANGUAGE Safe #-}
-- This is a non-exposed internal module
--
......
{-# LANGUAGE Safe #-}
-- | contains a prettyprinter for the
-- Template Haskell datatypes
......
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE FlexibleInstances, Safe #-}
-- | Monadic front-end to Text.PrettyPrint
......
{-# LANGUAGE RankNTypes, ScopedTypeVariables #-}
{-# LANGUAGE RankNTypes, ScopedTypeVariables, Safe #-}
{- |
Module : Language.Haskell.TH.Quote
Description : Quasi-quoting support for Template Haskell
......
......@@ -58,3 +58,20 @@ T15155l:
'$(TEST_HC)' $(TEST_HC_OPTS) -c -O0 -ddump-llvm T15155l.hs 2>/dev/null \
| grep -F "= alias %T15155_" | grep -E "@T15155_[ab]_closure.def = " | grep -F "%T15155_a_closure_struct*" \
| wc -l | sed -e 's/ *//g' | grep "2"; echo $$?
# Without -fcatch-bottoms `f` is non-CAFFY. With -fcatch-bottoms it becomes
# CAFFY. Before CafInfo rework (c846618a) this used to cause incorrect CafInfo
# attached to `f` in the interface file.
T17648:
# -dno-typeable-binds is to make the iface simpler
# -O is necessary as otherwise we don't write interface pragmas (e.g.
# NoCafRefs) to the interface files.
'$(TEST_HC)' $(TEST_HC_OPTS) -dno-typeable-binds -O T17648.hs -v0
'$(TEST_HC)' --show-iface T17648.hi | tr -d '\n' | \
grep -F 'f :: T GHC.Types.Int -> () {- HasNoCafRefs, Arity' >/dev/null
# Second compilation with -fcatch-bottoms, f should be CAFFY
'$(TEST_HC)' $(TEST_HC_OPTS) -dno-typeable-binds -O \
-fcatch-bottoms T17648.hs -v0 -fforce-recomp
'$(TEST_HC)' --show-iface T17648.hi | tr -d '\n' | \
grep -F 'f :: T GHC.Types.Int -> () {- Arity: 1, Strictness' >/dev/null
{-# LANGUAGE GADTs #-}
module T17648 where
data T a where
A :: T Int
B :: T Bool
f :: T Int -> ()
f A = ()
......@@ -89,3 +89,5 @@ switch_skeleton_and_entries_only = ('grep -e "switch \[" -e "case " -e "default:
test('T14373d', [],
multimod_compile_filter, ['T14373d', '-fasm -O2 -c -ddump-cmm-from-stg',
switch_skeleton_and_entries_only])
test('T17648', normal, makefile_test, [])