From: Ivan Krasin Date: Wed, 24 Aug 2011 21:22:25 +0000 (+0000) Subject: Follow up to r138470 (Add PNaCl TargetInfo). I've occasionally submitted wrong patch. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=bba43efdec3b2aa483b55d4287ba1c48c55935d4;p=clang Follow up to r138470 (Add PNaCl TargetInfo). I've occasionally submitted wrong patch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138489 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index fb1a08e09f..bff4ac8d5c 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -2877,7 +2877,12 @@ public: unsigned &NumRecords) const { } virtual const char *getVAListDeclaration() const { - return "typedef void* __builtin_va_list;"; + return "typedef struct __va_list_tag {" + " void* ptr;" + " void* padding1;" + " void* padding2;" + " void* padding3;" + "} __builtin_va_list[1];"; } virtual void getGCCRegNames(const char * const *&Names, unsigned &NumNames) const; diff --git a/test/Driver/le32-unknown-nacl.cpp b/test/Driver/le32-unknown-nacl.cpp index 2ec2bd538f..6f2f79d11c 100644 --- a/test/Driver/le32-unknown-nacl.cpp +++ b/test/Driver/le32-unknown-nacl.cpp @@ -1,9 +1,7 @@ -// RUN: %clang -ccc-host-triple le32-unknown-nacl -ccc-echo %s -emit-llvm -c -o /tmp/OUTPUTNAME 2> %t.log +// RUN: %clang -ccc-host-triple le32-unknown-nacl -ccc-echo %s -emit-llvm -c 2>&1 | FileCheck %s -check-prefix=ECHO +// RUN: %clang -ccc-host-triple le32-unknown-nacl %s -emit-llvm -S -c -o - | FileCheck %s -// Make sure we used clang. -// RUN: grep 'clang\(-[0-9.]\+\)\?\(\.[Ee][Xx][Ee]\)\?" -cc1 .*le32-unknown-nacl.c' %t.log - -// RUN: llvm-dis < /tmp/OUTPUTNAME | FileCheck %s +// ECHO: clang{{.*}} -cc1 {{.*}}le32-unknown-nacl.c // Check platform defines #include @@ -69,13 +67,17 @@ float check_float() { return 0; } // CHECK: double @check_double() double check_double() { return 0; } +// CHECK: double @check_longdouble() +long double check_longdouble() { return 0; } + } -// Check that pointers are 32-bit. +#include template void Switch(); template<> void Switch<4>(); template<> void Switch<8>(); +template<> void Switch<16>(); void check_pointer_size() { // CHECK: SwitchILi4 @@ -83,4 +85,7 @@ void check_pointer_size() { // CHECK: SwitchILi8 Switch(); + + // CHECK: SwitchILi16 + Switch(); }