Mercurial > projects > ldc
changeset 1354:701d11a1e7b1
Re-apply [1346], which was reverted in [1348], now that padding should no longer
be a problem.
As noted before, this will break ABI-compatibility on x86-64, so recompile old
code before linking with newly-compiled code if you're on x86-64.
As an added bonus, I actually tested it this time :).
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Thu, 14 May 2009 20:40:56 +0200 |
parents | 45aca7e7cc88 |
children | c5410f294c89 |
files | gen/abi-x86-64.cpp |
diffstat | 1 files changed, 0 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/gen/abi-x86-64.cpp Thu May 14 20:36:55 2009 +0200 +++ b/gen/abi-x86-64.cpp Thu May 14 20:40:56 2009 +0200 @@ -44,7 +44,6 @@ #include "gen/abi.h" #include "gen/abi-x86-64.h" #include "gen/structs.h" -//#include "gen/llvm-version.h" // only use is commented out. #include "ir/irfunction.h" #include <cassert> @@ -402,19 +401,6 @@ bool retStructInRegs(TypeStruct* st) { // 'fastcc' allows returns in up to two registers of each kind: DRegCount state(2, 2, 2); - #if 1 //LLVM_REV < 67588 - // (If uncommenting the LLVM_REV line above, also uncomment llvm-version #include - - // LLVM before trunk r67588 doesn't allow a second int to be an i1 or - // i8. (See <http://llvm.org/PR3861>) - // Rather than complicating shouldPassStructInRegs(), just disallow - // second integers for now. - // FIXME: Disabling this for older LLVM only makes the abi dependent on - // LLVM revision, which seems like a bad idea. We could extend - // i8 parts to i16 to work around this issue until 2.6... - // TODO: Remove this workaround when support for LLVM 2.5 is dropped. - state.ints = 1; - #endif return shouldPassStructInRegs(st, state); }