On 07/02/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
[snip] With newer GCC it seems that the generated code indeed doesn't call the destructor that contains reference to external _ZdlPv, and then your observations are right. I have no idea when exactly GCC changed its behavior in this field, but it seems that those eCos option is only required for older GCC.
Apparently somewhere between GCC 2.95 and 3.2.1. Since according to http://ecos.sourceware.org/build-toolchain.html "It is recommended that eCos is built with GCC 3.2.1 at present.", I would recommend that the default configuration take that into consideration and by default have the destructors free the memory as requested by the code. The optimization to save some codespace when used with a very old compiler should be something a user explicitly requests.
For reference, here is the assembly got with GCC 2.95.2 that does reference __builtin_delete: [snip]
-- Chris -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
