summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorAdam Gundry <adam@well-typed.com>2023-01-10 21:03:48 +0000
committerMarge Bot <ben+marge-bot@smart-cactus.org>2023-03-24 02:36:09 -0400
commitf932c5890ec358aa0cbba547eb6982168e13da37 (patch)
tree62c27ed44eb43b7ed8f55af7ea0325cbcb3cfe14 /utils
parente1c8c41d62854553d889403d8ee52d120c26bc66 (diff)
downloadhaskell-f932c5890ec358aa0cbba547eb6982168e13da37.tar.gz
Allow WARNING pragmas to be controlled with custom categories
Closes #17209. This implements GHC Proposal 541, allowing a WARNING pragma to be annotated with a category like so: {-# WARNING in "x-partial" head "This function is undefined on empty lists." #-} The user can then enable, disable and set the severity of such warnings using command-line flags `-Wx-partial`, `-Werror=x-partial` and so on. There is a new warning group `-Wextended-warnings` containing all these warnings. Warnings without a category are treated as if the category was `deprecations`, and are (still) controlled by the flags `-Wdeprecations` and `-Wwarnings-deprecations`. Updates Haddock submodule.
Diffstat (limited to 'utils')
-rw-r--r--utils/check-exact/ExactPrint.hs8
m---------utils/haddock0
2 files changed, 4 insertions, 4 deletions
diff --git a/utils/check-exact/ExactPrint.hs b/utils/check-exact/ExactPrint.hs
index a569b803d4..d4f1961176 100644
--- a/utils/check-exact/ExactPrint.hs
+++ b/utils/check-exact/ExactPrint.hs
@@ -1424,13 +1424,13 @@ instance ExactPrint (LocatedP (WarningTxt GhcPs)) where
getAnnotationEntry = entryFromLocatedA
setAnnotationAnchor = setAnchorAn
- exact (L (SrcSpanAnn an l) (WarningTxt (L la src) ws)) = do
+ exact (L (SrcSpanAnn an l) (WarningTxt mb_cat (L la src) ws)) = do
an0 <- markAnnOpenP an src "{-# WARNING"
an1 <- markEpAnnL an0 lapr_rest AnnOpenS
ws' <- markAnnotated ws
an2 <- markEpAnnL an1 lapr_rest AnnCloseS
an3 <- markAnnCloseP an2
- return (L (SrcSpanAnn an3 l) (WarningTxt (L la src) ws'))
+ return (L (SrcSpanAnn an3 l) (WarningTxt mb_cat (L la src) ws'))
exact (L (SrcSpanAnn an l) (DeprecatedTxt (L ls src) ws)) = do
an0 <- markAnnOpenP an src "{-# DEPRECATED"
@@ -1766,9 +1766,9 @@ instance ExactPrint (WarnDecl GhcPs) where
an0 <- markEpAnnL an lidl AnnOpenS -- "["
txt' <-
case txt of
- WarningTxt src ls -> do
+ WarningTxt mb_cat src ls -> do
ls' <- markAnnotated ls
- return (WarningTxt src ls')
+ return (WarningTxt mb_cat src ls')
DeprecatedTxt src ls -> do
ls' <- markAnnotated ls
return (DeprecatedTxt src ls')
diff --git a/utils/haddock b/utils/haddock
-Subproject 1f22a95c1db942fce2623b9daa26f66d193a4e7
+Subproject 6f1b9093395f4b12298b8b785b855a637206f5f