DI Generation Needs your Help!

Adam Wilson flyboynw at gmail.com
Thu Dec 22 09:33:25 PST 2011


On Wed, 21 Dec 2011 23:43:56 -0800, Jacob Carlborg <doob at me.com> wrote:

> On 2011-12-22 08:07, Adam Wilson wrote:
>> The latest DI generation code is now on my Git account and ready for
>> testing. It fixes the following issues:
>>
>> 1. Variables in template functions/classes would be stripped of their
>> initializers.
>> 2. Manifest Constants would lose their initializers.
>>
>> DI generation is getting close! Every Phobos DI module I've tried has
>> passed the VisualD parser/lexer (for whatever that is worth). I want to
>> do some build testing with those files, but even complicated modules
>> like std.algorithm and std.regex are passing the lexer/parser. If
>> everything goes well with that testing I'll open up a pull for dmd.
>> Hopefully proper DI generation will make it into 2.058!
>> You can get the latest from my git account here:
>> https://LightBender@github.com/LightBender/dmd.git
>>
>
> Can the generator handle this:
>
> id objc_msgSend (ARGS...)(id theReceiver, SEL theSelector, ARGS args)
> {
>      alias extern (C) id function (id, SEL, ARGS) fp;
>      return (cast(fp)&c_objc_msgSend)(theReceiver, theSelector, args);
> }
>
> I know it had problems with that, at least in previous versions of DMD.

Well, without the accompanying types that are used in the declaration I'm  
not entire sure how I could give you a good answer. However, since it's a  
template function, I can say that template functions in DI files are  
basically straight implementation dumps of the D file. Can you tell me  
where DI generation hiccups in that code? If the hiccup is inside the  
function impl than I doubt anything I've changed will fix your error.

-- 
Adam Wilson
Project Coordinator
The Horizon Project
http://www.thehorizonproject.org/


More information about the Digitalmars-d mailing list