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 |