Right now, this is handled only when last element is an integer.
llvm-svn: 50543
diff --git a/llvm-gcc-4.2/gcc/llvm-abi.h b/llvm-gcc-4.2/gcc/llvm-abi.h
index 8c2e35d..e155e26 100644
--- a/llvm-gcc-4.2/gcc/llvm-abi.h
+++ b/llvm-gcc-4.2/gcc/llvm-abi.h
@@ -603,8 +603,9 @@
if (InSize < Size) {
unsigned N = STy->getNumElements();
const llvm::Type *LastEltTy = STy->getElementType(N-1);
- LastEltSizeDiff =
- getTargetData().getABITypeSize(LastEltTy) - (Size - InSize);
+ if (LastEltTy->isInteger())
+ LastEltSizeDiff =
+ getTargetData().getABITypeSize(LastEltTy) - (Size - InSize);
}
}
for (unsigned i = 0, e = Elts.size(); i != e; ++i) {