aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/TargetData.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Target/TargetData.cpp')
-rw-r--r--lib/Target/TargetData.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/Target/TargetData.cpp b/lib/Target/TargetData.cpp
index 559f4d0490..aa32530d4b 100644
--- a/lib/Target/TargetData.cpp
+++ b/lib/Target/TargetData.cpp
@@ -295,8 +295,10 @@ static inline void getTypeInfoABI(const Type *Ty, const TargetData *TD,
Size = 4; Alignment = TD->getIntABIAlignment();
} else if (BitWidth <= 64) {
Size = 8; Alignment = TD->getLongABIAlignment();
- } else
- assert(0 && "Integer types > 64 bits not supported.");
+ } else {
+ Size = ((BitWidth + 7) / 8) & ~1;
+ Alignment = TD->getLongABIAlignment();
+ }
return;
}
case Type::VoidTyID: Size = 1; Alignment = TD->getByteABIAlignment(); return;