summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorBen Gamari <bgamari.foss@gmail.com>2017-07-19 22:31:16 -0400
committerBen Gamari <ben@smart-cactus.org>2017-07-20 08:37:55 -0400
commit8e51bfc33c17aef41677a2b6189e3d4f31454cbc (patch)
tree09f9276963d8b9134fca7f54b167a8abd8a8fd25 /utils
parenteeb141df7369d90f101c731adf12bbe46b42aa19 (diff)
downloadhaskell-8e51bfc33c17aef41677a2b6189e3d4f31454cbc.tar.gz
Introduce -fcatch-bottoms
This flag instructs the simplifier to emit ``error`` expressions in the continutation of empty case analyses (which should bottom and consequently not return). This is helpful when debugging demand analysis bugs which can sometimes manifest as segmentation faults. Test Plan: Validate Reviewers: simonpj, austin Subscribers: niteria, rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3736
Diffstat (limited to 'utils')
-rw-r--r--utils/mkUserGuidePart/Options/CompilerDebugging.hs6
1 files changed, 6 insertions, 0 deletions
diff --git a/utils/mkUserGuidePart/Options/CompilerDebugging.hs b/utils/mkUserGuidePart/Options/CompilerDebugging.hs
index 9704020601..e68216bdeb 100644
--- a/utils/mkUserGuidePart/Options/CompilerDebugging.hs
+++ b/utils/mkUserGuidePart/Options/CompilerDebugging.hs
@@ -278,4 +278,10 @@ compilerDebuggingOptions =
"Takes a string argument."
, flagType = DynamicFlag
}
+ , flag { flagName = "-fcatch-bottoms"
+ , flagDescription =
+ "Insert ``error`` expressions after bottoming expressions; useful "++
+ "when debugging the compiler."
+ , flagType = DynamicFlag
+ }
]