Ben Gamari pushed to branch ghc-9.14 at Glasgow Haskell Compiler / GHC
Commits:
-
02150b65
by Alison at 2025-10-28T15:02:30-04:00
1 changed file:
Changes:
| ... | ... | @@ -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
|