Marge Bot pushed to branch master at Glasgow Haskell Compiler / GHC

Commits:

1 changed file:

Changes:

  • libraries/ghc-heap/GHC/Exts/Heap.hs
    ... ... @@ -67,10 +67,26 @@ import GHC.Exts.Heap.ClosureTypes
    67 67
     import GHC.Exts.Heap.Constants
    
    68 68
     import GHC.Exts.Heap.ProfInfo.Types
    
    69 69
     #if defined(PROFILING)
    
    70
    +import GHC.Exts.Heap.InfoTable () -- See Note [No way-dependent imports]
    
    70 71
     import GHC.Exts.Heap.InfoTableProf
    
    71 72
     #else
    
    72 73
     import GHC.Exts.Heap.InfoTable
    
    74
    +import GHC.Exts.Heap.InfoTableProf () -- See Note [No way-dependent imports]
    
    75
    +
    
    76
    +{-
    
    77
    +Note [No way-dependent imports]
    
    78
    +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    79
    +`ghc -M` currently assumes that the imports for a module are the same
    
    80
    +in every way.  This is arguably a bug, but breaking this assumption by
    
    81
    +importing different things in different ways can cause trouble.  For
    
    82
    +example, this module in the profiling way imports and uses
    
    83
    +GHC.Exts.Heap.InfoTableProf.  When it was not also imported in the
    
    84
    +vanilla way, there were intermittent build failures due to this module
    
    85
    +being compiled in the profiling way before GHC.Exts.Heap.InfoTableProf
    
    86
    +in the profiling way. (#15197)
    
    87
    +-}
    
    73 88
     #endif
    
    89
    +
    
    74 90
     import GHC.Exts.Heap.Utils
    
    75 91
     import qualified GHC.Exts.Heap.FFIClosures as FFIClosures
    
    76 92
     import qualified GHC.Exts.Heap.ProfInfo.PeekProfInfo as PPI