Fix #9245 by always checking hi-boot for consistency if we find one.
authorEdward Z. Yang <ezyang@cs.stanford.edu>
Sat, 28 Jun 2014 10:56:08 +0000 (11:56 +0100)
committerEdward Z. Yang <ezyang@cs.stanford.edu>
Sat, 28 Jun 2014 15:46:21 +0000 (16:46 +0100)
commit0763a2f2eec4f6d9933fe17ee0d4a3a57823e6bf
tree366a8655eec9aa79d2fa0c748a8005d47c847bad
parent414499655aa07af095ecb243f6edd11e337b1300
Fix #9245 by always checking hi-boot for consistency if we find one.

Summary:
What this fix does is reorder how we look for hi-boot files: we
unconditionally check for an hi-boot file, and if we don't find one, we
check the import graph to see if there was circularity.  This is as
opposed to the previous scheme (check for circularity, then load hi-boot
file).

This costs us an extra file system access every typecheck, which
is not the best.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Test Plan: Validate and check for compiler regressions in nofib

Reviewers: simonpj, austin

Subscribers: simonmar, relrod, carter

Differential Revision: https://phabricator.haskell.org/D30
compiler/iface/TcIface.lhs