View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0000448 | mercury | Bug | public | 2018-02-07 05:30 | 2018-02-07 05:30 | ||||||||
Reporter | zs | ||||||||||||
Assigned To | zs | ||||||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||||||
Status | assigned | Resolution | open | ||||||||||
Product Version | |||||||||||||
Target Version | Fixed in Version | ||||||||||||
Summary | 0000448: singleton warning generation ignores variables in quantifications | ||||||||||||
Description | The problem is that quantification replaces the list of variables being quantified by a scope, ostensibly because that information is not needed by later compiler passes. However, it *is* needed by the code that generates warnings for singleton predicates. As it is, we get bad singleton warnings for code such as some [X] ( ... X ... ) and may NOT get singleton warnings for code such as some [X] ( ... code in which there is no variable named X ... ) | ||||||||||||
Steps To Reproduce | The two halves of the problem are demonstrated by the test cases valid/bad_singleton_warning.m and warnings/missing_singleton_warning.m, which I just added to the repository. | ||||||||||||
Additional Information | Simply keeping the quantified variables in place causes problems for later passes; it is such code in these later passes that are the actual bugs. | ||||||||||||
Tags | No tags attached. | ||||||||||||
Attached Files |
|