Mercurial > projects > ddmd
diff dmd/backend/iasm.d @ 14:2cc604139636
Implemented Linux support for ddmd. Some parts are a bit hacky to just "get it working", that said, druntime and phobos compile, and unittests pass.
author | Robert Clipsham <robert@octarineparrot.com> |
---|---|
date | Sun, 04 Apr 2010 02:06:32 +0100 |
parents | 63623152e82a |
children | 1628b221808d |
line wrap: on
line diff
--- a/dmd/backend/iasm.d Wed Mar 31 16:29:36 2010 +0400 +++ b/dmd/backend/iasm.d Sun Apr 04 02:06:32 2010 +0100 @@ -77,16 +77,25 @@ "word".ptr, ]; -extern (Pascal) extern { - code* cat(code* c1 , code* c2 ); +extern (C) code * cat(code *c1,code *c2); + +version (Bug4059) +{ + private extern(C) OP* _Z13asm_op_lookupPKc(const(char)* s); + private extern(C) int _Z6binaryPKcPS0_i(const(char)* p , const(char)** tab, int high); + OP* asm_op_lookup(const(char)* s) { return _Z13asm_op_lookupPKc(s); } + int binary(const(char)* p , const(char)** tab, int high) { return _Z6binaryPKcPS0_i(p, tab, high); } } - -extern (C++) extern +else +{ + OP* asm_op_lookup(const(char)* s); + int binary(const(char)* p , const(char)** tab, int high); +} + +extern (C++) //extern { void init_optab(); - OP* asm_op_lookup(const(char)* s); const(char)* asm_opstr(OP* pop); - int binary(const(char)* p , const(char)** tab, int high); } static ubyte asm_TKlbra_seen = false; @@ -4432,4 +4441,4 @@ return(szReg.length == 2 && (szReg[0] == 's' || szReg[0] == 'S') && (szReg[1] == 't' || szReg[1] == 'T')); } -} \ No newline at end of file +}