Parser: allow empty multi-line deprecation warnings
authorThomas Miedema <thomasmiedema@gmail.com>
Sat, 7 Nov 2015 23:20:15 +0000 (00:20 +0100)
committerBen Gamari <ben@smart-cactus.org>
Sat, 7 Nov 2015 23:54:05 +0000 (00:54 +0100)
This should work,

    {-# DEPRECATED someFunction [] #-}

Test Plan: parser/should_compile/T3303

Reviewers: bgamari, austin

Reviewed By: austin

Subscribers: mpickering

Differential Revision: https://phabricator.haskell.org/D1433

GHC Trac Issues: #11044

compiler/parser/Parser.y
testsuite/tests/parser/should_compile/T3303.hs
testsuite/tests/parser/should_compile/T3303.stderr
testsuite/tests/parser/should_compile/T3303A.hs

index 62d1114..d72f50d 100644 (file)
@@ -1422,6 +1422,7 @@ stringlist :: { Located (OrdList (Located StringLiteral)) }
                                return (sLL $1 $> (unLoc $1 `snocOL`
                                                   (L (gl $3) (getStringLiteral $3)))) }
     | STRING                { sLL $1 $> (unitOL (L (gl $1) (getStringLiteral $1))) }
+    | {- empty -}           { noLoc nilOL }
 
 -----------------------------------------------------------------------------
 -- Annotations
index df227f4..a8d2f63 100644 (file)
@@ -1,6 +1,9 @@
 
-T3303.hs:7:7: Warning:
+T3303.hs:7:7: warning:
     In the use of ‘foo’ (imported from T3303A):
     Deprecated: "This is a multi-line
                  deprecation message
                  for foo"
+
+T3303.hs:10:8: warning:
+    In the use of ‘foo2’ (imported from T3303A): Deprecated: ""
index daa4bfb..07a2eb8 100644 (file)
@@ -8,3 +8,8 @@ module T3303A where
 foo :: Int
 foo = 4
 
+-- Empty list should work too (#11044).
+{-# DEPRECATED foo2 [] #-}
+
+foo2 :: Int
+foo2 = 4