[m-rev.] diff: update float_consistency test

Simon Taylor stayl at cs.mu.OZ.AU
Thu Jun 12 15:06:21 AEST 2003

On 12-Jun-2003, Simon Taylor <stayl at cs.mu.OZ.AU> wrote:
> Estimated hours taken: 0.1
> Branches: main, release
> tests/hard_coded/float_consistency.m:
> 	Change calls to float./ to float.unchecked_quotient.
> 	This test case is meant to test compile-time evaluation
> 	of builtins. float./ hasn't been builtin for a while.
> 	This test case fails with --optimize-constant-propagation.

This wasn't right -- compiler/const_prop.m treats float./ as
if it were a builtin.

The cause of the failure appears to be different rounding
behaviour on earth (with gcc 3.2) depending on whether the
division is done inline or by a separate procedure.
Passing `-ffloat-store' to gcc (which disables storing
intermediate floats in registers) causes the test to pass.

Backing out my change to float_consistency.m and adding
`MCFLAGS-float_consistency = --no-intermodule-optimization'
to Mercury.options will fix the test failure, but would it
be better to make `-ffloat-store' the default?

mercury-reviews mailing list
post:  mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe

More information about the reviews mailing list