DI Generation Needs your Help!

Jacob Carlborg doob at me.com
Thu Dec 22 13:02:49 PST 2011


On 2011-12-22 18:33, Adam Wilson wrote:
> 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.
>

Never mind, it seems to be working.

-- 
/Jacob Carlborg


More information about the Digitalmars-d mailing list