D.gnu - undefined identifier destroy
- Mike (10/10) Mar 26 2014 I get the an "undefined identifier destroy" message when trying
- ketmar (1/1) Mar 26 2014 just checked it with todays GDC git and gcc 4.8.2 — it works ok.
- Mike (6/7) Mar 26 2014 Thanks for the reply.
- ketmar (2/3) Mar 26 2014 that's it. you have to implement it yourself then, 'cause there
- Johannes Pfau (6/20) Mar 26 2014 Destroy was added to druntime years ago:
I get the an "undefined identifier destroy" message when trying to compile the following with GDC. void main() { X x = new X(); destroy(x); } ...but it compiles fine in DMD 2.065.0. I'm using a week-old build of 4.8.2. Is this not implemented yet? Mike
Mar 26 2014
just checked it with todays GDC git and gcc 4.8.2 — it works ok.
Mar 26 2014
On Wednesday, 26 March 2014 at 13:27:03 UTC, ketmar wrote:just checked it with todays GDC git and gcc 4.8.2 — it works ok.Thanks for the reply. I just rebuilt, and I get the same error. Are you using the GDC 4.8 branch with GCC 4.8.2? My build is an ARM Cortex-M cross compiler, but the latest Arch Linux 64 GDC package also fails with the same error.
Mar 26 2014
My build is an ARM Cortex-M cross compilerthat's it. you have to implement it yourself then, 'cause there is no druntime, unfortunately.
Mar 26 2014
Am Wed, 26 Mar 2014 13:20:48 +0000 schrieb "Mike" <none none.com>:I get the an "undefined identifier destroy" message when trying to compile the following with GDC. void main() { X x = new X(); destroy(x); } ...but it compiles fine in DMD 2.065.0. I'm using a week-old build of 4.8.2. Is this not implemented yet? MikeDestroy was added to druntime years ago: https://github.com/D-Programming-GDC/GDC/blame/gdc-4.8/libphobos/libdruntime/object_.d#L2257 (It's implemented in the library, so if you want to use it on bare-metal without druntime you'll have to rewrite it ;-)
Mar 26 2014
On Wednesday, 26 March 2014 at 13:44:56 UTC, Johannes Pfau wrote:Am Wed, 26 Mar 2014 13:20:48 +0000 schrieb "Mike" <none none.com>:Ah! silly me. Thank you. I expected a link error, though, for a missing library function.I get the an "undefined identifier destroy" message when trying to compile the following with GDC. void main() { X x = new X(); destroy(x); } ...but it compiles fine in DMD 2.065.0. I'm using a week-old build of 4.8.2. Is this not implemented yet? MikeDestroy was added to druntime years ago: https://github.com/D-Programming-GDC/GDC/blame/gdc-4.8/libphobos/libdruntime/object_.d#L2257 (It's implemented in the library, so if you want to use it on bare-metal without druntime you'll have to rewrite it ;-)
Mar 26 2014
Ah! silly me. Thank you. I expected a link error, though, for a missing library function.destroy() is not a built-in, actually, it's just a template, which calls finalizer (see object.di in GDC source). so compiler have no way to know that it should do something special with this identifier.
Mar 26 2014