aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoman Divacky <rdivacky@freebsd.org>2012-03-13 19:20:17 +0000
committerRoman Divacky <rdivacky@freebsd.org>2012-03-13 19:20:17 +0000
commitefe9c0dffc174d92c255e1ec77f791ef007102dc (patch)
tree485e192b87a707c79f0db39357cd887872e12378
parent00b43848e4a320b0845c1004694fa50920096c75 (diff)
Fix the long double to be of width/align 64. Rename va_list_test to
powerpc_types and add testing for the (long) double there. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152647 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Basic/Targets.cpp8
-rw-r--r--test/CodeGen/powerpc_types.c (renamed from test/CodeGen/va_list_test.c)4
2 files changed, 10 insertions, 2 deletions
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp
index 85dfd78570..8ca91b3a37 100644
--- a/lib/Basic/Targets.cpp
+++ b/lib/Basic/Targets.cpp
@@ -872,8 +872,10 @@ public:
break;
}
- if (getTriple().getOS() == llvm::Triple::FreeBSD)
+ if (getTriple().getOS() == llvm::Triple::FreeBSD) {
+ LongDoubleWidth = LongDoubleAlign = 64;
LongDoubleFormat = &llvm::APFloat::IEEEdouble;
+ }
}
virtual const char *getVAListDeclaration() const {
@@ -900,8 +902,10 @@ public:
DescriptionString = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-"
"i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32:64";
- if (getTriple().getOS() == llvm::Triple::FreeBSD)
+ if (getTriple().getOS() == llvm::Triple::FreeBSD) {
+ LongDoubleWidth = LongDoubleAlign = 64;
LongDoubleFormat = &llvm::APFloat::IEEEdouble;
+ }
}
virtual const char *getVAListDeclaration() const {
return "typedef char* __builtin_va_list;";
diff --git a/test/CodeGen/va_list_test.c b/test/CodeGen/powerpc_types.c
index 74f7837d2d..b7d0f5de49 100644
--- a/test/CodeGen/va_list_test.c
+++ b/test/CodeGen/powerpc_types.c
@@ -4,3 +4,7 @@
int va_list_size = sizeof(va_list);
// SVR4-CHECK: va_list_size = global i32 12, align 4
+int long_double_size = sizeof(long double);
+// SVR4-CHECK: long_double_size = global i32 8, align 4
+int double_size = sizeof(double);
+// SVR4-CHECK: double_size = global i32 8, align 4