View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000590 | Ecere SDK | compiler | public | 2011-05-20 23:32 | 2014-07-11 18:57 |
Reporter | jerome | Assigned To | |||
Priority | urgent | Severity | major | Reproducibility | have not tried |
Status | new | Resolution | open | ||
Target Version | 0.46 eC II | ||||
Summary | 0000590: Wrong indirection level inside Map index operator for unit classes | ||||
Description | Generated code is: __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&__internalIterator, (uint64)(*(unsigned int *)(uint64)(((uint64)(*(unsigned int *)this)))), 0x0); Should read: __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&__internalIterator, (uint64)*this, 0x0); | ||||
Steps To Reproduce | import "EDA" Map<Organization, DataRow> rowMap { }; class Organization : uint { }; class MatchedOrg : Organization { char * OnGetString(char * tempString, void * fieldData, bool * needClass) { DataRow row = rowMap[this]; return ""; } } | ||||
Additional Information | rowMap[*&this]; works around the problem | ||||
Tags | No tags attached. | ||||
Date Modified | Username | Field | Change |
---|---|---|---|
2011-05-20 23:32 | jerome | New Issue | |
2011-05-20 23:32 | jerome | Status | new => assigned |
2011-05-20 23:32 | jerome | Assigned To | => jerome |
2011-05-20 23:32 | jerome | Summary | Wrong indirection level inside Map index operator for Unit class => Wrong indirection level inside Map index operator for unit classes |
2012-03-08 15:59 | redj | Target Version | old 0.44.pre3 => 0.45 Ginkakuji |
2012-03-29 07:50 | redj | Category | => eC Compiling Tools |
2012-03-29 07:50 | redj | Project | @2@ => Ecere SDK |
2013-04-24 20:36 | jerome | Status | assigned => new |
2013-04-24 20:36 | jerome | Assigned To | jerome => |
2014-07-11 18:57 | jerome | Target Version | 0.45 Ginkakuji => 0.46 eC II |