PRUNERS / FLiT

A project to quickly detect discrepancies in floating point computation across hardware, compilers, libraries and software.
Other
36 stars 6 forks source link

Closes Issue333 bisect extraneous runs #337

Closed JohnJacobsonIII closed 3 years ago

JohnJacobsonIII commented 3 years ago

Fixes #

Description:

Fix for bug that caused ground truth executable to be re-tested on every make call.

Bug originated from labeling executables as PHONY in Makefile.in; as a result all targets depending on the executable run every time make is called

Per @mikebentley15, a simple hack adding a layer of separation fixed the issue. The executable is no longer marked PHONY, but is a target with a single-use PHONY prerequisite and a no-op recipe. This still forces recursive calls to build every executable, but doesn't force dependents to run. The no-op recipe also forces Make to verify the timestamp on the executable.

Documentation:

No functionality changed, so no need for documentation changes.

Tests:

JohnJacobsonIII commented 3 years ago

Issue #338 opened to fix tst_incremental_build.py. Temporary hack here does not effectively test the incremental build, but the change here should not affect compilation so I've moved the fix to a separate issue.