CTFE and DI: The Crossroads of D

Steven Schveighoffer schveiguy at yahoo.com
Thu May 10 04:17:42 PDT 2012


On Wed, 09 May 2012 23:00:07 -0400, Andrei Alexandrescu  
<SeeWebsiteForEmail at erdani.org> wrote:

> On 5/9/12 3:14 PM, Steven Schveighoffer wrote:
>> On Wed, 09 May 2012 15:57:46 -0400, Adam D. Ruppe
>> <destructionator at gmail.com> wrote:
>>
>>> The real WTF is we use .di files for druntime in the
>>> first place. It is performance sensitive and open source.
>>>
>>> We should be using the actual sources for inlining, ctfe,
>>> etc. anyway.
>>>
>>> Let's not torpedo the .di patch's value for just phobos.
>>
>> I agree (although not generating .di files does not fix all the problems
>> of inlining and ctfe -- there are many stubbed functions even in the .d
>> files).
>>
>> In my opinion, .di generation should by default generate fully-stripped
>> code except for templates. If you want functions to be CTFE-able, don't
>> use auto-generated .di files to import them.
>>
>> -Steve
>
> Actually the point here is to still be able to benefit of di automated  
> generation while opportunistically marking certain functions as "put the  
> body in the .di file".

If you aren't going to strip the files, I don't see the point in it.

If you want a 'half stripped' .di file, use the plethora of shell commands  
to build it.

The point is, dmd -H does the wrong thing, no matter which way you look at  
it.  We have a tool to make a .di file with function bodies in it, it's  
called cp.  dmd -H should do the thing that the shell cannot, let me worry  
about it's granularity (i.e. I'll decide on a module basis which functions  
should be stripped).

-Steve


More information about the Digitalmars-d mailing list