mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-17 02:13:54 +00:00
Estimated hours taken: 2
Branches: main
Fix bugs in the handling of impurity which broke `solutions/2'
in grade asm_fast when compiled with `--optimize-duplicate-calls'.
compiler/purity.m:
Fix the handling of `foreign_proc' goals. Previously they
were always assumed to be pure. Now they have the purity
of the predicate they implement.
compiler/inlining.m:
Compare the purity of the old and new goals when
checking whether purity checking needs to be rerun,
rather than just checking for `promise_pure' markers.
compiler/options.m:
Re-enable `--optimize-duplicate-calls'.
tests/hard_coded/Mmakefile:
tests/hard_coded/impure_foreign.{m,exp}:
Test case.
3 lines
4 B
Plaintext
3 lines
4 B
Plaintext
1
|
|
4
|