diff options
author | Matthew Pickering <matthewtpickering@gmail.com> | 2021-06-01 16:11:37 +0100 |
---|---|---|
committer | Matthew Pickering <matthewtpickering@gmail.com> | 2021-06-02 08:42:08 +0100 |
commit | 943d2ca2d138b03ef3e0825e378dd6f4b92c3c11 (patch) | |
tree | 6c74f2a09ebecb15c980613e080ef1ec21fa0a57 /compiler/GHC/Driver/Backpack.hs | |
parent | 6db8a0f76ec45d47060e28bb303e9eef60bdb16b (diff) | |
download | haskell-wip/fix-agda-loop.tar.gz |
Fix infinite looping in hptSomeModulesBelowwip/fix-agda-loop
When compiling Agda we entered into an infinite loop as the stopping
condition was a bit wrong in hptSomeModulesBelow.
The bad situation was something like
* We would see module A (NotBoot) and follow it dependencies
* Later on we would encounter A (Boot) and follow it's dependencies,
because the lookup would not match A (NotBoot) and A (IsBoot)
* Somewhere in A (Boot)s dependencies, A (Boot) would appear again and
lead us into an infinite loop.
Now the state marks whether we have been both variants (IsBoot and
NotBoot) so we don't follow dependencies for A (Boot) many times.
Diffstat (limited to 'compiler/GHC/Driver/Backpack.hs')
0 files changed, 0 insertions, 0 deletions