Mercury Bugs - mercury | |||||
View Issue Details | |||||
ID | Project | Category | View Status | Date Submitted | Last Update |
0000220 | mercury | Bug | public | 2011-10-05 14:58 | 2011-10-05 15:39 |
Reporter | colanderman | ||||
---|---|---|---|---|---|
Assigned To | |||||
Priority | normal | Severity | minor | Reproducibility | always |
Status | new | Resolution | open | ||
Platform | OS | OS Version | |||
Product Version | |||||
Target Version | Fixed in Version | ||||
Summary | 0000220: Termination analysis produces spurious "termination constant of infinity" errors | ||||
Description | For certain (not all) functions and/or predicates XXX and YYY, where YYY has :- pragma terminates set, termination analysis will report that: "Termination of predicate XXX not proven for the following reason: It calls predicate YYY which has a termination constant of infinity." and that: "Termination constant of function YYY set to infinity for the following reason: It contains one or more predicates and/or functions imported from another module." Expected behavior is that :- pragma terminates(YYY) causes the compiler to assume YYY terminates, regardless of its body. This bug is not exhibited by all such predicates or functions; see attached test case. | ||||
Additional Information | 11.07-beta-2011-09-30 | ||||
Tags | No tags attached. | ||||
Relationships | |||||
Attached Files | termination.m (885) 2011-10-05 14:58 https://bugs.mercurylang.org/file_download.php?file_id=130&type=bug termination.err (3,389) 2011-10-05 14:59 https://bugs.mercurylang.org/file_download.php?file_id=131&type=bug |
Notes | |||||
|
|||||
|
|
||||
|
|||||
|
|
Issue History | |||||
Date Modified | Username | Field | Change | ||
---|---|---|---|---|---|
2011-10-05 14:58 | colanderman | New Issue | |||
2011-10-05 14:58 | colanderman | File Added: termination.m | |||
2011-10-05 14:59 | colanderman | File Added: termination.err | |||
2011-10-05 15:17 | colanderman | Note Added: 0000364 | |||
2011-10-05 15:39 | colanderman | Note Added: 0000365 |