# HG changeset patch # User lindquist # Date 1195203684 -3600 # Node ID 169fda3a77d441ccf73717cfd4e57a24414826a0 # Parent 5071469303d4dad094a173d565abc0136660bc87 [svn r105] -inline does nothing for now, the -On setting can already be used to trigger it. Fixed a rare bug in AddrExp. diff -r 5071469303d4 -r 169fda3a77d4 dmd/mars.c --- a/dmd/mars.c Fri Nov 16 08:21:47 2007 +0100 +++ b/dmd/mars.c Fri Nov 16 10:01:24 2007 +0100 @@ -15,7 +15,7 @@ #include #include #include -#include +#include #if _WIN32 #include @@ -469,8 +469,12 @@ } } #endif - else if (strcmp(p + 1, "inline") == 0) - global.params.useInline = 1; + else if (strcmp(p + 1, "inline") == 0) { + // TODO + // the ast rewrites dmd does for inling messes up the ast + // someday maybe we can support it, for now llvm does an excellent job at inlining + global.params.useInline = 0; //1 + } else if (strcmp(p + 1, "nofloat") == 0) global.params.nofloat = 1; else if (strcmp(p + 1, "quiet") == 0) diff -r 5071469303d4 -r 169fda3a77d4 gen/toir.cpp --- a/gen/toir.cpp Fri Nov 16 08:21:47 2007 +0100 +++ b/gen/toir.cpp Fri Nov 16 10:01:24 2007 +0100 @@ -1468,6 +1468,9 @@ fd->toObjFile(); return new DFuncValue(fd, fd->llvmValue); } + else if (DImValue* im = v->isIm()) { + return v; + } return new DFieldValue(type, v->getLVal(), false); } diff -r 5071469303d4 -r 169fda3a77d4 llvmdc.kdevelop.filelist --- a/llvmdc.kdevelop.filelist Fri Nov 16 08:21:47 2007 +0100 +++ b/llvmdc.kdevelop.filelist Fri Nov 16 10:01:24 2007 +0100 @@ -299,6 +299,7 @@ test/bug63.d test/bug64.d test/bug66.d +test/bug67.d test/bug7.d test/bug8.d test/bug9.d