[GHC] #8131: T7571 with WAY=llvm fails, but not WAY=optllvm
GHC
ghc-devs at haskell.org
Wed Aug 14 08:30:09 CEST 2013
#8131: T7571 with WAY=llvm fails, but not WAY=optllvm
------------------------------------+-------------------------------------
Reporter: thoughtpolice | Owner:
Type: bug | Status: new
Priority: high | Milestone:
Component: Compiler | Version: 7.7
Keywords: | Operating System: Unknown/Multiple
Architecture: Unknown/Multiple | Type of failure: None/Unknown
Difficulty: Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: |
------------------------------------+-------------------------------------
Test case (#7571 just will not die, it seems)
{{{
$ make TEST=T7571 WAY=llvm
...
====> Scanning ./all.T
=====> T7571(llvm) 6 of 7 [0, 0, 0]
cd . && '/home/a/ghc/ghc-pristine/inplace/bin/ghc-stage2' -fforce-recomp
-dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db -rtsopts
-fno-ghci-history -c T7571.cmm -fllvm -no-hs-main >T7571.comp.stderr
2>&1
Actual stderr output differs from expected:
--- /dev/null 2013-08-07 22:18:14.132934017 -0500
+++ ./T7571.comp.stderr 2013-08-14 01:26:33.942103723 -0500
@@ -0,0 +1 @@
+WARNING: Non constant alignment value given for memcpy! Please report to
GHC developers
*** unexpected failure for T7571(llvm)
}}}
However, this test case does not fail under WAY=optllvm, which I think is
worth investigating probably:
{{{
$ make TEST=T7571 WAY=optllvm
...
====> Scanning ./all.T
=====> T7571(optllvm) 6 of 7 [0, 0, 0]
cd . && '/home/a/ghc/ghc-pristine/inplace/bin/ghc-stage2' -fforce-recomp
-dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db -rtsopts
-fno-ghci-history -c T7571.cmm -O -fllvm -no-hs-main >T7571.comp.stderr
2>&1
OVERALL SUMMARY for test run started at Wed Aug 14 01:25:42 CDT 2013
7 total tests, which gave rise to
28 test cases, of which
27 were skipped
0 had missing libraries
1 expected passes
0 expected failures
0 caused framework failures
0 unexpected passes
0 unexpected failures
}}}
However, there is another way to trigger this bug in *both* cases:
{{{
#include "Cmm.h"
testMemcpy (W_ dst, W_ src, W_ l, W_ sz)
{
prim %memcpy(dst, src, l, sz);
return ();
}
}}}
will fail both ways.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8131>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list