diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2015-06-14 16:42:03 +0100 |
---|---|---|
committer | Sergei Trofimovich <siarheit@google.com> | 2015-06-14 16:42:53 +0100 |
commit | a5084557b0b30faf3f89386ee6ee5a308dae51b1 (patch) | |
tree | bee0c708d008f0d3c65984b7a3fd162b2f1f36cb /testsuite/tests/codeGen | |
parent | 6e542a62e070b113f95908315c81d01c300d8803 (diff) | |
download | haskell-a5084557b0b30faf3f89386ee6ee5a308dae51b1.tar.gz |
UNREG: fix pprHexVal to emit zeros (#10518)
jakzale on #ghc reported a build failure
when ported GHC on a new target.
The code 'pprHexVal (2^32) W32' emits '0xU'
which is invalid C.
I've introduced bug in
43f1b2ecd1960fa7377cf55a2b97c66059a701ef
when added literal truncation. That truncation
is a new source of zeros.
Signed-off-by: Sergei Trofimovich <siarheit@google.com>
Test Plan: added test and tested on UNREG ghc
Reviewers: austin
Reviewed By: austin
Subscribers: thomie, bgamari
Differential Revision: https://phabricator.haskell.org/D987
GHC Trac Issues: #10518
Diffstat (limited to 'testsuite/tests/codeGen')
-rw-r--r-- | testsuite/tests/codeGen/should_compile/T10518.cmm | 5 | ||||
-rw-r--r-- | testsuite/tests/codeGen/should_compile/all.T | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/testsuite/tests/codeGen/should_compile/T10518.cmm b/testsuite/tests/codeGen/should_compile/T10518.cmm new file mode 100644 index 0000000000..966cd4ab53 --- /dev/null +++ b/testsuite/tests/codeGen/should_compile/T10518.cmm @@ -0,0 +1,5 @@ +foo() { + bits64 a; + a = 0x10000000000000000; // overflows 64 bits + return (a); +} diff --git a/testsuite/tests/codeGen/should_compile/all.T b/testsuite/tests/codeGen/should_compile/all.T index e06cead7c3..c78f9ac21a 100644 --- a/testsuite/tests/codeGen/should_compile/all.T +++ b/testsuite/tests/codeGen/should_compile/all.T @@ -30,3 +30,4 @@ test('debug', extra_clean(['debug.cmm']), run_command, ['$MAKE -s --no-print-directory debug']) test('T9964', normal, compile, ['-O']) +test('T10518', [cmm_src], compile, ['']) |