| 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 |
| ||||||||||||


