Mercury Bugs - mercury
View Issue Details
0000536mercuryBugpublic2021-06-07 14:252021-06-07 14:25
Assigned To 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0000536: --track-flags unreliable when invoked quickly
Descriptionmmc --make fails to rebuild modules when invoked multiple times quickly with different flags, despite using --track-flags. Presumably this has something to do with the poor resolution of timestamps returned by io.file_modification_time, so is a specific case of a more general problem with mmc --make.

set -x
rm -rf ./Mercury
mmc -m e --track-flags -s hlc.gc
#sleep 1
mmc -m e --track-flags -s hlc.gc -O3
#sleep 1
mmc -m e --track-flags -s hlc.gc -O4

+ rm -rf ./Mercury
+ mmc -m e --track-flags -s hlc.gc
Making Mercury/int3s/e.int3
Making Mercury/ints/
Making Mercury/cs/e.c
Making Mercury/os/e.o
Making e
+ mmc -m e --track-flags -s hlc.gc -O3
** Nothing to be done for `e'.
+ mmc -m e --track-flags -s hlc.gc -O4
** Nothing to be done for `e'.
TagsNo tags attached.
Attached Files

There are no notes attached to this issue.

Issue History
2021-06-07 14:25wangpNew Issue