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 | https://bugs.mercurylang.org/file_download.php?file_id=130&type=bug 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 | |||