Commit 9226af9e authored by simonpj@microsoft.com's avatar simonpj@microsoft.com
Browse files

Add DEBUG-only flag -dsuppress-uniques to suppress printing of uniques

This is intended only for debugging use: it makes it easier to
compare two variants without the variations between uniques mattering.

(Of course, you can't actually feed the output to the C compiler
or assembler and expect anything sensible to happen!)
parent 2b1c24ec
......@@ -57,6 +57,7 @@ module Unique (
#include "HsVersions.h"
import StaticFlags
import BasicTypes
import FastString
import Outputable
......@@ -197,6 +198,11 @@ We do sometimes make strings with @Uniques@ in them:
\begin{code}
pprUnique :: Unique -> SDoc
pprUnique uniq
#ifdef DEBUG
| opt_SuppressUniques
= empty -- Used exclusively to suppress uniques so you
| otherwise -- can compare output easily
#endif
= case unpkUnique uniq of
(tag, u) -> finish_ppr tag u (text (iToBase62 u))
......
......@@ -26,6 +26,7 @@ module StaticFlags (
-- Output style options
opt_PprUserLength,
opt_SuppressUniques,
opt_PprStyle_Debug,
-- profiling opts
......@@ -169,8 +170,9 @@ static_flags = [
-- ToDo: user ways
------ Debugging ----------------------------------------------------
, ( "dppr-debug", PassFlag addOpt )
, ( "dppr-user-length", AnySuffix addOpt )
, ( "dppr-debug", PassFlag addOpt )
, ( "dsuppress-uniques", PassFlag addOpt )
, ( "dppr-user-length", AnySuffix addOpt )
-- rest of the debugging flags are dynamic
--------- Profiling --------------------------------------------------
......@@ -282,6 +284,7 @@ unpacked_opts =
opt_IgnoreDotGhci = lookUp FSLIT("-ignore-dot-ghci")
-- debugging opts
opt_SuppressUniques = lookUp FSLIT("-dsuppress-uniques")
opt_PprStyle_Debug = lookUp FSLIT("-dppr-debug")
opt_PprUserLength = lookup_def_int "-dppr-user-length" 5 --ToDo: give this a name
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment