int128_t is apparently 128-bit aligned on all 64-bit targets, and
not supported on 32-bit targets, so we can define it to be 128-bit
aligned there too :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70465 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AST/ASTContext.cpp b/lib/AST/ASTContext.cpp
index 6cd016c..5f97df9 100644
--- a/lib/AST/ASTContext.cpp
+++ b/lib/AST/ASTContext.cpp
@@ -413,6 +413,11 @@
Width = Target.getLongLongWidth();
Align = Target.getLongLongAlign();
break;
+ case BuiltinType::Int128:
+ case BuiltinType::UInt128:
+ Width = 128;
+ Align = 128; // int128_t is 128-bit aligned on all targets.
+ break;
case BuiltinType::Float:
Width = Target.getFloatWidth();
Align = Target.getFloatAlign();
@@ -425,13 +430,6 @@
Width = Target.getLongDoubleWidth();
Align = Target.getLongDoubleAlign();
break;
- case BuiltinType::Int128:
- case BuiltinType::UInt128:
- Width = 128;
-
- // FIXME: Is this correct for all targets?
- Align = 128;
- break;
}
break;
case Type::FixedWidthInt: