#7270: Incorrect optimization with Data.ByteString.append
-----------------------------------------+----------------------------------
Reporter: ocheron | Owner:
Type: bug | Status: new
Priority: normal | Component: libraries (other)
Version: 7.6.1 | Keywords:
Os: Unknown/Multiple | Architecture: Unknown/Multiple
Failure: Incorrect result at runtime | Testcase:
Blockedby: | Blocking:
Related: |
-----------------------------------------+----------------------------------
The following program does not give the same result with -O2 and without:
{{{
import qualified Data.ByteString as B
main = let a = B.singleton 65 in print (func a a)
func y z = B.append r s
where
r = B.map (succ) x
s = B.map (succ . succ) x
x = B.append y z
}}}
Result observed with GHC 7.6.1 (bytestring-0.10.0.0):
{{{
$ ghc --make test -fforce-recomp && ./test
[1 of 1] Compiling Main ( test.hs, test.o )
Linking test ...
"BBCC"
$ ghc --make test -fforce-recomp -O2 && ./test
[1 of 1] Compiling Main ( test.hs, test.o )
Linking test ...
"CCCC"
}}}
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7270>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs