| View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
| ID | Project | Category | View Status | Date Submitted | Last Update | ||||
|---|---|---|---|---|---|---|---|---|---|
| 0000297 | mercury | Bug | public | 2013-08-29 13:26 | 2013-09-04 11:52 | ||||
| Reporter | wangp | ||||||||
| Assigned To | wangp | ||||||||
| Priority | normal | Severity | major | Reproducibility | always | ||||
| Status | resolved | Resolution | fixed | ||||||
| Product Version | |||||||||
| Target Version | Fixed in Version | ||||||||
| Summary | 0000297: compile-time evaluation of typed_unify changes behaviour | ||||||||
| Description | The attached program is broken by the compile-time evaluation of typed_unify when --optimise-constant-propagation is enabled (-O3). | ||||||||
| Tags | No tags attached. | ||||||||
| Attached Files |
| ||||||||
Notes |
|
|
wangp (developer) 2013-09-03 15:31 |
Rather, it has to do the inst of the static type_info when --const-struct is enabled. That --optimise-constant-propagation (and the predicate const_prop.eval_unify) breaks the program seems to be a symptom. I suspect commit ee63cb8d, specifically these lines in polymorphism.m: StructType = type_info_type, list.length(ArgTypeInfoConstArgs, NumArgs), InstConsId = cell_inst_cons_id(Cell, NumArgs), StructInst = bound(shared, inst_test_results_fgtc, [bound_functor(InstConsId, StructArgInsts)]), the NumArgs argument to cell_inst_cons_id. |
|
wangp (developer) 2013-09-04 11:52 |
Fixed in 06e175d34d82b7dce3870d89f070c1d58e038d87 |
Issue History |
|||
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2013-08-29 13:26 | wangp | New Issue | |
| 2013-08-29 13:26 | wangp | File Added: t.m | |
| 2013-09-03 15:31 | wangp | Note Added: 0000562 | |
| 2013-09-04 11:52 | wangp | Note Added: 0000564 | |
| 2013-09-04 11:52 | wangp | Status | new => resolved |
| 2013-09-04 11:52 | wangp | Resolution | open => fixed |
| 2013-09-04 11:52 | wangp | Assigned To | => wangp |


