summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Terei <code@davidterei.com>2014-11-12 16:11:39 -0800
committerDavid Terei <code@davidterei.com>2014-11-12 17:49:42 -0800
commit475dd93efa5158a0f9516f6819a24edfc30c1a76 (patch)
treec4f3fc0a526056dffb275d7bf9c9e142755559ac
parent1f8b4ee074b4d9e3d847b3139dc89fff1bb5d2e6 (diff)
downloadhaskell-475dd93efa5158a0f9516f6819a24edfc30c1a76.tar.gz
Add `--fwarn-trustworthy-safe` to `-Wall`
Update submodule haskell2010, haskell98, hoop, hpc and stm to fix new warnings.
-rw-r--r--compiler/main/DynFlags.hs3
m---------libraries/haskell20100
m---------libraries/haskell980
m---------libraries/hoopl0
m---------libraries/hpc0
m---------libraries/stm0
-rw-r--r--mk/validate-settings.mk7
-rw-r--r--testsuite/tests/safeHaskell/safeInfered/TrustworthySafe03.hs10
-rw-r--r--testsuite/tests/safeHaskell/safeInfered/TrustworthySafe03.stderr3
-rw-r--r--testsuite/tests/safeHaskell/safeInfered/all.T1
10 files changed, 23 insertions, 1 deletions
diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs
index 043174f3b0..70fc6d390d 100644
--- a/compiler/main/DynFlags.hs
+++ b/compiler/main/DynFlags.hs
@@ -3154,7 +3154,8 @@ minusWallOpts
Opt_WarnMissingSigs,
Opt_WarnHiShadows,
Opt_WarnOrphans,
- Opt_WarnUnusedDoBind
+ Opt_WarnUnusedDoBind,
+ Opt_WarnTrustworthySafe
]
enableGlasgowExts :: DynP ()
diff --git a/libraries/haskell2010 b/libraries/haskell2010
-Subproject 425df1d9ea7adcf823bbb5426528bd80eb2b820
+Subproject a21abff3e385a85e1353aa720516e148865710a
diff --git a/libraries/haskell98 b/libraries/haskell98
-Subproject 401283a98a818f66f856939f939562de5c4a2b4
+Subproject cf064d954c511a2edddb5a55a1984d57ce36c40
diff --git a/libraries/hoopl b/libraries/hoopl
-Subproject 7f06b16ba3a49c2c927fb06fe7dc89089dd7e29
+Subproject a90a3af92be400af8912555bce21b041a1c48ad
diff --git a/libraries/hpc b/libraries/hpc
-Subproject d430be4664aac337cd0e49dd6b69e818f21cde6
+Subproject 60e7bbfeea8ba54688b8f432f0f337b275f06c5
diff --git a/libraries/stm b/libraries/stm
-Subproject 40fd6d88f75c31b66419ab93f436225c9403846
+Subproject 6b63e91b2b0b7d7b4bef654117da62c22cac34d
diff --git a/mk/validate-settings.mk b/mk/validate-settings.mk
index 52aa648893..150aec3323 100644
--- a/mk/validate-settings.mk
+++ b/mk/validate-settings.mk
@@ -163,6 +163,13 @@ libraries/dph/dph-lifted-common-install_EXTRA_HC_OPTS += -Wwarn
# We need to turn of deprecated warnings for SafeHaskell transition
libraries/array_dist-install_EXTRA_HC_OPTS += -fno-warn-warnings-deprecations
+# Turn of trustworthy-safe warning
+libraries/base_dist-install_EXTRA_HC_OPTS += -fno-warn-trustworthy-safe
+libraries/ghc-prim_dist-install_EXTRA_HC_OPTS += -fno-warn-trustworthy-safe
+libraries/containers_dist-install_EXTRA_HC_OPTS += -fno-warn-trustworthy-safe
+libraries/process_dist-install_EXTRA_HC_OPTS += -fno-warn-trustworthy-safe
+libraries/unix_dist-install_EXTRA_HC_OPTS += -fno-warn-trustworthy-safe
+
# Temporarely disable inline rule shadowing warning
libraries/bytestring_dist-install_EXTRA_HC_OPTS += -fno-warn-inline-rule-shadowing
libraries/template-haskell_dist-install_EXTRA_HC_OPTS += -fno-warn-inline-rule-shadowing
diff --git a/testsuite/tests/safeHaskell/safeInfered/TrustworthySafe03.hs b/testsuite/tests/safeHaskell/safeInfered/TrustworthySafe03.hs
new file mode 100644
index 0000000000..12be9b174c
--- /dev/null
+++ b/testsuite/tests/safeHaskell/safeInfered/TrustworthySafe03.hs
@@ -0,0 +1,10 @@
+{-# LANGUAGE Trustworthy #-}
+{-# OPTIONS_GHC -Wall #-}
+
+-- | This module is marked trustworthy but should be inferable as -XSafe.
+-- Warning enabled through `-W`.
+module TrustworthySafe03 where
+
+g :: Int
+g = 1
+
diff --git a/testsuite/tests/safeHaskell/safeInfered/TrustworthySafe03.stderr b/testsuite/tests/safeHaskell/safeInfered/TrustworthySafe03.stderr
new file mode 100644
index 0000000000..9505d06031
--- /dev/null
+++ b/testsuite/tests/safeHaskell/safeInfered/TrustworthySafe03.stderr
@@ -0,0 +1,3 @@
+
+TrustworthySafe03.hs:1:14: Warning:
+ ‘TrustworthySafe03’ is marked as Trustworthy but has been inferred as safe!
diff --git a/testsuite/tests/safeHaskell/safeInfered/all.T b/testsuite/tests/safeHaskell/safeInfered/all.T
index 89062cd174..12e80a7fde 100644
--- a/testsuite/tests/safeHaskell/safeInfered/all.T
+++ b/testsuite/tests/safeHaskell/safeInfered/all.T
@@ -76,6 +76,7 @@ test('Mixed03', normal, compile_fail, [''])
# Trustworthy Safe modules
test('TrustworthySafe01', normal, compile, [''])
test('TrustworthySafe02', normal, compile, [''])
+test('TrustworthySafe03', normal, compile, [''])
test('TrustworthySafe04', normal, compile, [''])
# Check -fwarn-unsafe works