On Sun, 15 Sep 2013 10:27:38 +0100 Iain Buclaw <[email protected]> wrote:
> On Sep 15, 2013 7:55 AM, "Nick Sabalausky" < > [email protected]> wrote: > > > > Maybe, but as I recall, it was actually the low-level LLVM bytecode > > that gets translated to C, not the higher-level constructs. > > > > Related: > > http://d.hatena.ne.jp/ABA/20130331#p1 > > > > Although I guess that's using "LLVM IR -> JS", not "LLVM IR -> C". > > But I could swear I've seen a "LLVM IR -> C" before... > > > > Doesn't give the output of the final result, which is disappointing. > > Also, translation to English is poor, but I think the blog also says > that translating D classes don't work, which is what I'd expect in D > -> C translation too. > Hmm, yea, without actually knowing what I'm talking about, I'd bet it's probably using "Bare D" (or is it "Naked D"?), ie without druntime or phobos. Which would make sense: If "compile to C" is treated as an architecture, then the platform-specific sections of druntime/phobos probably don't have version sections to handle the C "architecture". And I'm sure druntime is needed for classes to work. I know that was the case several years ago when I tried to get D (pre-D1, IIRC) going on GBA and only got a minimal subset: http://semitwist.com/articles/article/view/d-on-gba-nds-progress-thanks-to-oopman
