#4012: Compilation results are not deterministic
-------------------------------+--------------------------------------------
  Reporter:  kili              |          Owner:  igloo               
      Type:  bug               |         Status:  new                 
  Priority:  high              |      Milestone:  7.6.2               
 Component:  Compiler          |        Version:  6.12.2              
Resolution:                    |       Keywords:                      
        Os:  Unknown/Multiple  |   Architecture:  Unknown/Multiple    
   Failure:  Other             |     Difficulty:  Difficult (2-5 days)
  Testcase:                    |      Blockedby:                      
  Blocking:                    |        Related:                      
-------------------------------+--------------------------------------------

Comment(by nomeata):

 Replying to [comment:26 simonpj]:
 > Do Ian's changes help?

 Please excuse me if I don’t set up HEAD in a way to build all the packages
 required to test the code above. But I did find a small test case that
 could potentially be added to the test suite. With the attached Test.hs
 and GHC-7.4.1, I get this result:

 {{{
 $ ghc --make -O Test.hs && cp Test.hi Test1.hi && ghc --make -DVARIANT -O
 Test.hs && diff -u <(ghc --show-iface Test1.hi) <(ghc --show-iface
 Test.hi)
 [1 of 1] Compiling Test             ( Test.hs, Test.o )
 [1 of 1] Compiling Test             ( Test.hs, Test.o )
 --- /dev/fd/63  2012-11-07 20:45:57.719385850 +0100
 +++ /dev/fd/62  2012-11-07 20:45:57.719385850 +0100
 @@ -5,11 +5,11 @@
  Way: Wanted [],
       got    []
  interface main:Test 7041
 -  interface hash: f70ea3ebb89cd1fb5fd38e711dc3a86b
 -  ABI hash: 3d46e40ea31fe2b5209a9cfa0e8c55a2
 +  interface hash: 0c3a556b0b6f4bd91ecf6b9097dd0914
 +  ABI hash: fbf17c77263ac40a0a46a1da9debd563
    export-list hash: 10500eb025dddf2ab63ae606468fa772
    orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e
 -  flag hash: fc61acebd75ed0e7e110c288131c5ae4
 +  flag hash: eda85656077ab2758c42e66fbdb9f82a
    used TH splices: False
    where
  exports:
 @@ -33,15 +33,15 @@
                       ds :: ((), a) ->
                     case ds of wild { (,) ds1 z ->
                     case ds1 of wild1 { () -> Test.x @ a $dEq $dNum z } })
 -}
 -9ca884031f6b6682163a35c8b033ebe1
 +3170054a493c32af50e7d3df196daeae
    b :: forall a. [a] -> [a] -> [a]
      {- Arity: 1, HasNoCafRefs, Strictness: L,
         Unfolding: (\ @ a x1 :: [a] ->
                     let {
 -                     lvl2 :: [a]
 +                     lvl3 :: [a]
                       = let { y :: [a] = GHC.Base.++ @ a x1 x1 } in
 GHC.Base.++ @ a y y
                     } in
 -                   \ z :: [a] -> GHC.Base.++ @ a z lvl2) -}
 +                   \ z :: [a] -> GHC.Base.++ @ a z lvl3) -}
  2d4ae0d356c36e2c96109ac55a0ff610
    x :: forall a.
         GHC.Classes.Eq a -> GHC.Num.Num a -> a -> GHC.Types.Bool
 }}}

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4012#comment:27>
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