Mercury Bugs - mercury | |||||
| View Issue Details | |||||
| ID | Project | Category | View Status | Date Submitted | Last Update |
| 0000429 | mercury | Bug | public | 2017-01-19 18:47 | 2017-01-20 04:24 |
| Reporter | wangp | ||||
|---|---|---|---|---|---|
| Assigned To | zs | ||||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | resolved | Resolution | fixed | ||
| Platform | OS | OS Version | |||
| Product Version | |||||
| Target Version | Fixed in Version | ||||
| Summary | 0000429: cse causes switch to be reported as non-switch | ||||
| Description | The compiler reports for the given test case: switch_scope.m:016: Error: the goal inside the require_complete_switch [Index] switch_scope.m:016: scope is not a switch on `Index'. The problem is more apparent from the HLDS dump. After pass 045-cse the predicate looks like: switch_scope.clear(I, P0, P) :- require_complete_switch [Index] ( ( % conjunction P0 = pair.(V_15 - V_14) , ( % cannot_fail switch on `I' % I has functor switch_scope.first/0 ( % conjunction V_12 = V_15 , Y = V_14 , V_12 = bool.yes , V_13 = bool.no , P = pair.(V_13 - Y) ) ; % I has functor switch_scope.second/0 ( % conjunction V_15 = X , V_14 = V_10 , V_10 = bool.yes , V_11 = bool.no , P = pair.(X - V_11) ) ) ) ). | ||||
| Tags | No tags attached. | ||||
| Relationships | |||||
| Attached Files | https://bugs.mercurylang.org/file_download.php?file_id=267&type=bug | ||||
| Notes | |||||
|
|
|||||
|
|
||||
| Issue History | |||||
| Date Modified | Username | Field | Change | ||
|---|---|---|---|---|---|
| 2017-01-19 18:47 | wangp | New Issue | |||
| 2017-01-19 18:47 | wangp | File Added: switch_scope.m | |||
| 2017-01-19 19:01 | zs | Assigned To | => zs | ||
| 2017-01-19 19:01 | zs | Status | new => assigned | ||
| 2017-01-20 04:24 | zs | Status | assigned => resolved | ||
| 2017-01-20 04:24 | zs | Resolution | open => fixed | ||
| 2017-01-20 04:24 | zs | Note Added: 0000938 | |||