diff options
-rw-r--r-- | compiler/rename/RnNames.hs | 4 | ||||
-rw-r--r-- | testsuite/tests/warnings/should_compile/DeprM.hs | 4 | ||||
-rw-r--r-- | testsuite/tests/warnings/should_compile/DeprU.hs | 6 | ||||
-rw-r--r-- | testsuite/tests/warnings/should_compile/DeprU.stderr | 10 | ||||
-rw-r--r-- | testsuite/tests/warnings/should_compile/all.T | 6 |
5 files changed, 28 insertions, 2 deletions
diff --git a/compiler/rename/RnNames.hs b/compiler/rename/RnNames.hs index 0c116dfa6b..aeb0388673 100644 --- a/compiler/rename/RnNames.hs +++ b/compiler/rename/RnNames.hs @@ -1788,11 +1788,11 @@ missingImportListItem ie moduleWarn :: ModuleName -> WarningTxt -> SDoc moduleWarn mod (WarningTxt _ txt) = sep [ ptext (sLit "Module") <+> quotes (ppr mod) <> ptext (sLit ":"), - nest 2 (vcat (map ppr txt)) ] + nest 2 (vcat (map (ppr . snd . unLoc) txt)) ] moduleWarn mod (DeprecatedTxt _ txt) = sep [ ptext (sLit "Module") <+> quotes (ppr mod) <+> ptext (sLit "is deprecated:"), - nest 2 (vcat (map ppr txt)) ] + nest 2 (vcat (map (ppr . snd . unLoc) txt)) ] packageImportErr :: SDoc packageImportErr diff --git a/testsuite/tests/warnings/should_compile/DeprM.hs b/testsuite/tests/warnings/should_compile/DeprM.hs new file mode 100644 index 0000000000..2a84622e21 --- /dev/null +++ b/testsuite/tests/warnings/should_compile/DeprM.hs @@ -0,0 +1,4 @@ +module DeprM {-# DEPRECATED "Here can be your menacing deprecation warning!" #-} where + +f :: Int +f = 42 diff --git a/testsuite/tests/warnings/should_compile/DeprU.hs b/testsuite/tests/warnings/should_compile/DeprU.hs new file mode 100644 index 0000000000..d15a7c51f7 --- /dev/null +++ b/testsuite/tests/warnings/should_compile/DeprU.hs @@ -0,0 +1,6 @@ +module A where + +import DeprM -- here should be emitted deprecation warning + +g :: Int +g = f diff --git a/testsuite/tests/warnings/should_compile/DeprU.stderr b/testsuite/tests/warnings/should_compile/DeprU.stderr new file mode 100644 index 0000000000..c27dccb474 --- /dev/null +++ b/testsuite/tests/warnings/should_compile/DeprU.stderr @@ -0,0 +1,10 @@ +[1 of 2] Compiling DeprM ( DeprM.hs, DeprM.o ) +[2 of 2] Compiling A ( DeprU.hs, DeprU.o ) + +DeprU.hs:3:1: Warning: + Module ‘DeprM’ is deprecated: + Here can be your menacing deprecation warning! + +DeprU.hs:6:5: Warning: + In the use of ‘f’ (imported from DeprM): + Deprecated: "Here can be your menacing deprecation warning!" diff --git a/testsuite/tests/warnings/should_compile/all.T b/testsuite/tests/warnings/should_compile/all.T index 7fa8caf584..bbf5d1cc85 100644 --- a/testsuite/tests/warnings/should_compile/all.T +++ b/testsuite/tests/warnings/should_compile/all.T @@ -4,3 +4,9 @@ test('T9178', extra_clean(['T9178.o', 'T9178DataType.o', 'T9178.hi', 'T9178DataType.hi']), multimod_compile, ['T9178', '-Wall']) test('T9230', normal, compile_without_flag('-fno-warn-tabs'), ['']) + +test('DeprU', + extra_clean([ + 'DeprM.o', 'DeprU.o', + 'DeprM.hi', 'DeprU.hi']), + multimod_compile, ['DeprU', '-Wall']) |