diff options
author | Andrew Martin <andrew.thaddeus@gmail.com> | 2018-03-19 12:01:17 -0400 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2018-03-19 12:05:11 -0400 |
commit | a00b88b9a27736c9c41f1921fcb6b7759ad8425e (patch) | |
tree | 88526dc7b20c55460a820043e1c0659e7455f34a /docs | |
parent | bbcea13af845d41a9d51a932476eb841ba182ea5 (diff) | |
download | haskell-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.rst | 14 |
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 |