Mercurial > projects > ldc
diff dmd/mtype.c @ 94:61615fa85940 trunk
[svn r98] Added support for std.c.stdlib.alloca via pragma(LLVM_internal, "alloca").
Added support for array .sort and .reverse properties.
Fixed some bugs with pointer arithmetic.
Disabled some DMD AST optimizations that was messing things up, destroying valuable information.
Added a KDevelop project file, this is what I use for coding LLVMDC now :)
Other minor stuff.
author | lindquist |
---|---|
date | Mon, 12 Nov 2007 06:32:46 +0100 |
parents | 70d6113eeb8c |
children | 027b8d8b71ec |
line wrap: on
line diff
--- a/dmd/mtype.c Thu Nov 08 19:21:05 2007 +0100 +++ b/dmd/mtype.c Mon Nov 12 06:32:46 2007 +0100 @@ -1514,6 +1514,7 @@ nm = name[n->ty == Twchar]; fd = FuncDeclaration::genCfunc(Type::tindex, nm); + fd->llvmRunTimeHack = true; ec = new VarExp(0, fd); e = e->castTo(sc, n->arrayOf()); // convert to dynamic array arguments = new Expressions(); @@ -1531,6 +1532,7 @@ nm = name[n->ty == Twchar]; fd = FuncDeclaration::genCfunc(Type::tindex, nm); + fd->llvmRunTimeHack = true; ec = new VarExp(0, fd); e = e->castTo(sc, n->arrayOf()); // convert to dynamic array arguments = new Expressions(); @@ -1568,6 +1570,7 @@ fd = FuncDeclaration::genCfunc(tint32->arrayOf(), (char*)(n->ty == Tbit ? "_adSortBit" : "_adSort")); + fd->llvmRunTimeHack = true; ec = new VarExp(0, fd); e = e->castTo(sc, n->arrayOf()); // convert to dynamic array arguments = new Expressions();