Print which flag controls emitted lexer warnings
authorHerbert Valerio Riedel <hvr@gnu.org>
Sat, 27 Feb 2016 16:34:14 +0000 (17:34 +0100)
committerHerbert Valerio Riedel <hvr@gnu.org>
Sat, 27 Feb 2016 16:34:14 +0000 (17:34 +0100)
This is extends bb5afd3c274011c5ea302210b4c290ec1f83209c to cover
warnings emitted during lexing.

This implements another part of #10752

13 files changed:
compiler/parser/Lexer.x
testsuite/tests/driver/recomp005/recomp005.stderr
testsuite/tests/driver/werror.stderr
testsuite/tests/ghci/should_run/T7253.stderr
testsuite/tests/layout/layout001.stdout
testsuite/tests/layout/layout003.stdout
testsuite/tests/layout/layout006.stdout
testsuite/tests/parser/should_compile/T9723a.stderr
testsuite/tests/parser/should_compile/T9723b.stderr
testsuite/tests/parser/should_compile/read043.stderr
testsuite/tests/parser/should_compile/read064.stderr
testsuite/tests/parser/should_compile/read066.stderr
testsuite/tests/warnings/should_compile/T9230.stderr

index 7147802..650b302 100644 (file)
@@ -2206,7 +2206,8 @@ mkPState flags buf loc =
 addWarning :: WarningFlag -> SrcSpan -> SDoc -> P ()
 addWarning option srcspan warning
  = P $ \s@PState{messages=(ws,es), dflags=d} ->
-       let warning' = mkWarnMsg d srcspan alwaysQualify warning
+       let warning' = makeIntoWarning (Reason option) $
+                      mkWarnMsg d srcspan alwaysQualify warning
            ws' = if wopt option d then ws `snocBag` warning' else ws
        in POk s{messages=(ws', es)} ()
 
@@ -2229,7 +2230,8 @@ mkTabWarning PState{tab_first=tf, tab_count=tc, dflags=d} =
                 <> middle
                 <> text "."
                 $+$ text "Please use spaces instead."
-  in fmap (\s -> mkWarnMsg d (RealSrcSpan s) alwaysQualify message) tf
+  in fmap (\s -> makeIntoWarning (Reason Opt_WarnTabs) $
+                 mkWarnMsg d (RealSrcSpan s) alwaysQualify message) tf
 
 getMessages :: PState -> Messages
 getMessages p@PState{messages=(ws,es)} =
index 0d43771..66b61f5 100644 (file)
@@ -1,8 +1,8 @@
 
-C.hs:7:11: warning:
+C.hs:7:11: warning: [-Winline-rule-shadowing (in -Wdefault)]
     Rule "f/g" may never fire because ‘f’ might inline first
     Probable fix: add an INLINE[n] or NOINLINE[n] pragma for ‘f’
 
-C.hs:7:11: warning:
+C.hs:7:11: warning: [-Winline-rule-shadowing (in -Wdefault)]
     Rule "f/g" may never fire because ‘g’ might inline first
     Probable fix: add an INLINE[n] or NOINLINE[n] pragma for ‘g’
index 38bab8b..39dddee 100644 (file)
@@ -9,7 +9,7 @@ werror.hs:7:13: warning: [-Wname-shadowing (in -Wall)]
 werror.hs:7:13: warning: [-Wunused-local-binds (in -Wextra, -Wunused-binds)]
     Defined but not used: ‘main’
 
-werror.hs:8:1: warning:
+werror.hs:8:1: warning: [-Wtabs (in -Wdefault)]
     Tab character found here.
     Please use spaces instead.
 
index a96d278..f7dedda 100644 (file)
@@ -1,7 +1,8 @@
 
-<interactive>:19:1: warning: Unrecognised pragma
+<interactive>:19:1: warning: [-Wunrecognised-pragmas (in -Wdefault)]
+    Unrecognised pragma
 
-<interactive>:62:1:
-    Role mismatch on variable b:
-      Annotation says phantom but role representational is required
-    while checking a role annotation for ‘T1’
+<interactive>:62:1: error:
+    • Role mismatch on variable b:
+        Annotation says phantom but role representational is required
+    • while checking a role annotation for ‘T1’
index 50b2cf4..a8b1976 100644 (file)
@@ -1,9 +1,9 @@
 Running with -XNoAlternativeLayoutRule
 Running with -XAlternativeLayoutRule
 
-layout001.hs:6:3: parse error on input ‘where’
+layout001.hs:6:3: error: parse error on input ‘where’
 Running with -XAlternativeLayoutRule -XAlternativeLayoutRuleTransitional
 
-layout001.hs:6:3: Warning:
+layout001.hs:6:3: warning: [-Walternative-layout-rule-transitional (in -Wdefault)]
     transitional layout will not be accepted in the future:
     `where' clause at the same depth as implicit layout block
index 171dc22..927fe88 100644 (file)
@@ -1,9 +1,9 @@
 Running with -XNoAlternativeLayoutRule
 Running with -XAlternativeLayoutRule
 
-layout003.hs:11:4: parse error on input ‘|’
+layout003.hs:11:4: error: parse error on input ‘|’
 Running with -XAlternativeLayoutRule -XAlternativeLayoutRuleTransitional
 
-layout003.hs:11:4: Warning:
+layout003.hs:11:4: warning: [-Walternative-layout-rule-transitional (in -Wdefault)]
     transitional layout will not be accepted in the future:
     `|' at the same depth as implicit layout block
index cba3151..0c5dd59 100644 (file)
@@ -1,9 +1,9 @@
 Running with -XNoAlternativeLayoutRule
 Running with -XAlternativeLayoutRule
 
-layout006.hs:12:2: parse error on input ‘|’
+layout006.hs:12:2: error: parse error on input ‘|’
 Running with -XAlternativeLayoutRule -XAlternativeLayoutRuleTransitional
 
-layout006.hs:12:2: Warning:
+layout006.hs:12:2: warning: [-Walternative-layout-rule-transitional (in -Wdefault)]
     transitional layout will not be accepted in the future:
     `|' at the same depth as implicit layout block
index c445de1..e3a2ede 100644 (file)
@@ -1,4 +1,4 @@
 
-T9723a.hs:8:5: Warning:
+T9723a.hs:8:5: warning: [-Wtabs (in -Wdefault)]
     Tab character found here.
     Please use spaces instead.
index 088b722..380b2d8 100644 (file)
@@ -1,4 +1,4 @@
 
-T9723b.hs:10:5: Warning:
+T9723b.hs:10:5: warning: [-Wtabs (in -Wdefault)]
     Tab character found here, and in six further locations.
     Please use spaces instead.
index 76b1fb4..9e792e7 100644 (file)
@@ -1,4 +1,4 @@
 
-read043.hs:8:5: Warning:
+read043.hs:8:5: warning: [-Wtabs (in -Wdefault)]
     Tab character found here, and in one further location.
     Please use spaces instead.
index dfc662f..120961d 100644 (file)
@@ -1,2 +1,3 @@
 
-read064.hs:4:1: Warning: Unrecognised pragma
+read064.hs:4:1: warning: [-Wunrecognised-pragmas (in -Wdefault)]
+    Unrecognised pragma
index 3eca28b..152987f 100644 (file)
@@ -1,2 +1,3 @@
 
-read066.hs:2:1: Warning: Unrecognised pragma
+read066.hs:2:1: warning: [-Wunrecognised-pragmas (in -Wdefault)]
+    Unrecognised pragma
index 2c7cee0..14458ff 100644 (file)
@@ -1,4 +1,4 @@
 
-T9230.hs:5:1: Warning:
+T9230.hs:5:1: warning: [-Wtabs (in -Wdefault)]
     Tab character found here.
     Please use spaces instead.