View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000072 | Ecere SDK | compiler | public | 2008-05-09 05:14 | 2013-05-19 22:15 |
Reporter | jerome | Assigned To | jerome | ||
Priority | immediate | Severity | major | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Target Version | 0.44 Ryoan-ji | Fixed in Version | 0.44 Ryoan-ji | ||
Summary | 0000072: Straighten out passing whether passing by address or value any_object / typed_object | ||||
Description | For DataRow::SetData: Basic data types (systemClass) SIZE > 4: address of Basic data types (systemClass) SIZE <= 4: by value Bit Classes SIZE > 4: address of Bit Classes SIZE <= 4: by value Enum Classes SIZE > 4: address of Enum Classes SIZE <= 4: by value Classes (normalClass and noHeadClass): instance pointer Structures: address of structure object For DataRow::GetData: Basic data types (systemClass): address of Bit Classes: address of Enum Classes: address of Classes (normalClass and noHeadClass): address of instance pointer Structures: address of structure object char * : adderss of (treated as systemClass) For any_object, typed_object: WARNING: OnCopy follows DataRow::SetData rules Basic data types (systemClass): address of Classes (normalClass and noHeadClass): instance pointer Structures: address of structure object Bit Classes: address of Enum Classes: address of For typed_object &, any_object &: WARNING: OnCopy follows DataRow::SetData rules Basic data types (systemClass): address of Classes (normalClass and noHeadClass): address of instance pointer Structures: address of structure object Bit Classes: address of Enum Classes: address of * Should typed_object and any_object be changed to pass by value when size <= 4 ? * How will 64 bit be handled? Pass all by values? * Make sure size is set for Units and Bit classes | ||||
Tags | v0.44d2 | ||||
|
Verify if what is said in the description is still accurate in light of the latest changes. Answer the questions in there. Mark this issue as resolved if so is the case. |
|
SetData now takes in an 'any_object' and GetData returns an any_object. Basic data types (systemClass): address of Classes (normalClass and noHeadClass): instance pointer Structures: address of structure object char * : string pointer * Should typed_object and any_object be changed to pass by value when size <= 4 ? No. Everything is now passed by (value) (I think I meant to say 'address' here), ListBox::SetData/GetData use any_object now to elegantly pass arguments. * How will 64 bit be handled? Pass all by (values) (I think I meant to say 'address' here)? Yes. It's already all passed by (values) (I think I meant to say 'address' here). * Make sure size is set for Units and Bit classes It is now. size is now separated into typeSize (the data type) and structSize (the class implementation struct). We still have to wrap up these improvements by simplifying the compiler's work: http://ecere.com/mantis/view.php?id=305 |
Date Modified | Username | Field | Change |
---|---|---|---|
2008-05-09 05:14 | jerome | New Issue | |
2008-05-09 05:17 | jerome | Description Updated | |
2008-05-09 05:17 | jerome | Additional Information Updated | |
2008-05-09 05:51 | jerome | Description Updated | |
2008-05-09 05:51 | jerome | Additional Information Updated | |
2008-05-09 05:56 | jerome | Description Updated | |
2008-05-27 02:25 | jerome | Description Updated | |
2009-01-09 21:36 | jerome | Assigned To | => jerome |
2009-01-09 21:36 | jerome | Severity | minor => major |
2009-01-09 21:36 | jerome | Status | new => assigned |
2009-12-07 07:26 | jerome | Priority | normal => immediate |
2010-07-07 02:59 | redj | Target Version | => 0.44d2 |
2010-07-07 04:10 | redj | Tag Attached: v0.44d2 | |
2010-07-25 21:33 | redj | Relationship added | child of 0000429 |
2010-07-26 03:35 | jerome | Note Added: 0000257 | |
2010-07-26 19:33 | thexa4 | Fixed in Version | => 0.44 draft 2 |
2010-07-26 19:33 | thexa4 | Target Version | 0.44d2 => |
2010-12-06 19:24 | jerome | Note Added: 0000416 | |
2010-12-06 19:25 | jerome | Status | assigned => resolved |
2010-12-06 19:25 | jerome | Resolution | open => fixed |
2011-08-10 02:57 | jerome | Note Edited: 0000416 | |
2012-03-08 15:32 | redj | Target Version | old 0.44.pre2 => 0.44 Ryoan-ji |
2012-03-08 17:31 | redj | Relationship deleted | child of 0000429 |
2012-03-08 18:07 | redj | Fixed in Version | => 0.44 Ryoan-ji |
2012-03-29 07:50 | redj | Category | => eC Compiling Tools |
2012-03-29 07:50 | redj | Project | @2@ => Ecere SDK |
2013-05-19 22:15 | jerome | Status | resolved => closed |