summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorAndrew Martin <andrew.thaddeus@gmail.com>2018-03-19 12:01:17 -0400
committerBen Gamari <ben@smart-cactus.org>2018-03-19 12:05:11 -0400
commita00b88b9a27736c9c41f1921fcb6b7759ad8425e (patch)
tree88526dc7b20c55460a820043e1c0659e7455f34a /docs
parentbbcea13af845d41a9d51a932476eb841ba182ea5 (diff)
downloadhaskell-a00b88b9a27736c9c41f1921fcb6b7759ad8425e.tar.gz
Implement -dword-hex-literals
Provide flag for showing showing Word# and Word64# as hexadecimal when dumping GHC core. The only affects Word, not Int, and it prefixes the hexadecimal with enough zeroes to make the total character count a power of two. For example: - 0x0C0C instead of 0xC0C - 0x00BA00BA instead of 0xBA00BA This also affects the presentation of Word# and Word64# in GHC's error messages. It is not expected that the flag will be used for this, but it is a side-effect worth noting. Test Plan: none Reviewers: bgamari, simonpj Reviewed By: simonpj Subscribers: simonpj, mpickering, rwbarton, thomie, carter, andrewthad GHC Trac Issues: #14872 Differential Revision: https://phabricator.haskell.org/D4465
Diffstat (limited to 'docs')
-rw-r--r--docs/users_guide/debugging.rst14
1 files changed, 14 insertions, 0 deletions
diff --git a/docs/users_guide/debugging.rst b/docs/users_guide/debugging.rst
index d11cc04fd0..c6d90e642d 100644
--- a/docs/users_guide/debugging.rst
+++ b/docs/users_guide/debugging.rst
@@ -588,6 +588,20 @@ Formatting dumps
let expressions. This is helpful when your code does a lot of
unboxing.
+.. ghc-flag:: -dhex-word-literals
+ :shortdesc: Print values of type `Word#` in hexadecimal.
+ :type: dynamic
+
+ Print values of type `Word#` and `Word64#` (but not values of
+ type `Int#` and `Int64#`) in hexadecimal instead of decimal.
+ The hexadecimal is zero-padded to make the length of the
+ representation a power of two. For example: `0x0A0A##`,
+ `0x000FFFFF##`, `0xC##`. This flag may be helpful when you
+ are producing a bit pattern that to expect to work correctly on a 32-bit
+ or a 64-bit architecture. Dumping hexadecimal literals after
+ optimizations and constant folding makes it easier to confirm
+ that the generated bit pattern is correct.
+
.. ghc-flag:: -dno-debug-output
:shortdesc: Suppress unsolicited debugging output
:type: dynamic