View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
---|---|---|---|---|---|---|---|---|---|
0000569 | mercury | Bug | public | 2023-12-04 12:26 | 2023-12-06 12:51 | ||||
Reporter | wangp | ||||||||
Assigned To | wangp | ||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||
Status | resolved | Resolution | fixed | ||||||
Product Version | |||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0000569: timestamp regression with nested submodules in mmc --make | ||||||||
Description | Here is a problem with nested submodules attributed to commit 4d4ef3e3a "Cache timestamps by target file." This sequence of commands: ``` #!/bin/sh touch nested_module_test.m mmc -m nested_module_test sleep 1 echo -------- mmc -m nested_module_test ``` exhibits this incorrect behaviour: Making Mercury/int3s/nested_module_test.int3 Making Mercury/int0s/nested_module_test.int0 Making Mercury/ints/nested_module_test.int Making Mercury/cs/nested_module_test.c Making Mercury/os/nested_module_test.o Making nested_module_test -------- Making Mercury/int3s/nested_module_test.int3 Making Mercury/os/nested_module_test.sub.o Making nested_module_test where nested_module_test.sub.o and nested_module_test are re-made by the second call to mmc --make, when they should already be up-to-date. The previous (correct) behaviour is: Making Mercury/int3s/nested_module_test.int3 Making Mercury/int0s/nested_module_test.int0 Making Mercury/ints/nested_module_test.int Making Mercury/cs/nested_module_test.c Making Mercury/os/nested_module_test.o Making Mercury/os/nested_module_test.sub.o Making nested_module_test -------- Making Mercury/int3s/nested_module_test.int3 ** Nothing to be done for `nested_module_test'. [Actually, nested_module_test.int3 should not need to be remade either - that is a long-standing bug, but a minor one.] | ||||||||
Tags | No tags attached. | ||||||||
Attached Files |
|
Notes | |
zs (developer) 2023-12-05 12:58 |
It is possible that this is related to bug 568. Commit 764eab72a touched make.timestamp.m in a way that removed the special treatment of modules that are NOT the top modules of their source file. I am testing a fix for 568 that reverses that commit, but also fixes the old misleading documentation that led to it. That diff may, or may not, also fix this bug. I have just posted it to m-rev. |
wangp (developer) 2023-12-06 12:51 |
Fix committed 2023 dec 6. |
Issue History | |||
Date Modified | Username | Field | Change |
---|---|---|---|
2023-12-04 12:26 | wangp | New Issue | |
2023-12-04 12:26 | wangp | Status | new => assigned |
2023-12-04 12:26 | wangp | Assigned To | => wangp |
2023-12-04 12:26 | wangp | File Added: nested_module_test.m | |
2023-12-05 12:58 | zs | Note Added: 0001227 | |
2023-12-06 12:51 | wangp | Status | assigned => resolved |
2023-12-06 12:51 | wangp | Resolution | open => fixed |
2023-12-06 12:51 | wangp | Note Added: 0001229 |