Mercurial > projects > ldc
diff dmd/mtype.c @ 217:0806379a5eca trunk
[svn r233] Added: -oq command line option for writing fully qualified object names.
Added: started support for x86 80bit floating point.
Changed: aggregates passed by value now use the llvm 'byval' parameter attribute, also lays ground work for
using other attributes.
Changed: eliminated a lot more std::vectorS, these showed up pretty much at the top when profiling!
Changed: performed other misc. cleanups.
Changed: halt expression now call the new llvm trap intrinsic instead of an assert(0).
Changed: dstress suite now passes -O0 by default, this only eliminates unreferenced globals, which speeds up
linking quite a bit.
author | lindquist |
---|---|
date | Thu, 05 Jun 2008 06:38:36 +0200 |
parents | f66219e0d530 |
children | 4d006f7b2ada |
line wrap: on
line diff
--- a/dmd/mtype.c Tue Jun 03 22:32:59 2008 +0200 +++ b/dmd/mtype.c Thu Jun 05 06:38:36 2008 +0200 @@ -2538,7 +2538,9 @@ { Type *treturn = next ? next->syntaxCopy() : NULL; Arguments *params = Argument::arraySyntaxCopy(parameters); - Type *t = new TypeFunction(params, treturn, varargs, linkage); + TypeFunction *t = new TypeFunction(params, treturn, varargs, linkage); + t->llvmRetInPtr = llvmRetInPtr; + t->llvmUsesThis = llvmUsesThis; return t; } @@ -5062,6 +5064,7 @@ this->ident = ident; this->storageClass = storageClass; this->defaultArg = defaultArg; + this->llvmByVal = false; } Argument *Argument::syntaxCopy() @@ -5070,6 +5073,7 @@ type ? type->syntaxCopy() : NULL, ident, defaultArg ? defaultArg->syntaxCopy() : NULL); + a->llvmByVal = llvmByVal; return a; }