On 8 March 2013 18:06, Johannes Pfau <nospam@example.com> wrote:
Am Fri, 8 Mar 2013 17:11:41 +0100
schrieb Johannes Pfau <nospam@example.com>:

> Am Fri, 8 Mar 2013 15:18:53 +0000
> schrieb Iain Buclaw <ibuclaw@ubuntu.com>:
>
>
> > Yet not all attributes that GCC offers actually make sense to have
> > in D. We certainly need to have a review of each one and discuss
> > what is most important to have.  Also defining our own unique
> > attributes along the way. :o)
> >
>
> To get the discussion started: I think we could adopt these LDC
> pragmas:
>
>  LDC_no_typeinfo
>  LDC_no_moduleinfo

It seems no_moduleinfo can't be implemented this way as module
declarations can't be annotated with UDAs.

Can attributes like LDC_no_typeinfo which shouldn't affect the backend
at all actually be implemented with the current mechanism?

I'd say yes on both accounts.

no_moduleinfo  ->  Don't call Module::genmoduleinfo() in ::genobjfile.
no_typeinfo  ->  Maybe don't generate anything in TypeInfoDeclaration::toSymbol().  But will require investigating on that part.

Again, both can be instead handled by a compiler switch.


Regards
--
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';