#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
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to