Thread overview |
---|
March 26, 2014 undefined identifier destroy | ||||
---|---|---|---|---|
| ||||
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 |
March 26, 2014 Re: undefined identifier destroy | ||||
---|---|---|---|---|
| ||||
Posted in reply to Mike | just checked it with todays GDC git and gcc 4.8.2 — it works ok. |
March 26, 2014 Re: undefined identifier destroy | ||||
---|---|---|---|---|
| ||||
Posted in reply to ketmar | 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.
|
March 26, 2014 Re: undefined identifier destroy | ||||
---|---|---|---|---|
| ||||
Posted in reply to Mike | 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? > > Mike Destroy 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 ;-) |
March 26, 2014 Re: undefined identifier destroy | ||||
---|---|---|---|---|
| ||||
Posted in reply to Mike | > My build is an ARM Cortex-M cross compiler
that's it. you have to implement it yourself then, 'cause there is no druntime, unfortunately.
|
March 26, 2014 Re: undefined identifier destroy | ||||
---|---|---|---|---|
| ||||
Posted in reply to Johannes Pfau | 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>:
>
>> 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
>
> Destroy 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 ;-)
Ah! silly me. Thank you. I expected a link error, though, for a missing library function.
|
March 26, 2014 Re: undefined identifier destroy | ||||
---|---|---|---|---|
| ||||
Posted in reply to Mike | > 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.
|
Copyright © 1999-2021 by the D Language Foundation