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 | switch_scope.m (425) 2017-01-19 18:47 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 |