diff options
| author | Ivan Krasin <krasin@chromium.org> | 2011-09-20 14:56:54 +0000 |
|---|---|---|
| committer | Ivan Krasin <krasin@chromium.org> | 2011-09-20 14:56:54 +0000 |
| commit | 96a806199dc587608000f83a9e9bd919e848cab6 (patch) | |
| tree | a8be4e93b74447e8e9fb0efb58199515edfd090a | |
| parent | 011be5287134775e5d5564363ce5ca8de8843950 (diff) | |
| download | bcm5719-llvm-96a806199dc587608000f83a9e9bd919e848cab6.tar.gz bcm5719-llvm-96a806199dc587608000f83a9e9bd919e848cab6.zip | |
Clarify PNaCl target characteristics: set LongDoubleWidth, PtrDiffType, IntPtrType,
change __builtin_va_list to from a structure to int[4] (same alignment
and size, but with a simpler representation). Patch by David Meyer!
llvm-svn: 140144
| -rw-r--r-- | clang/lib/Basic/Targets.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 48e4d8a048d..57bebf7003f 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -2940,9 +2940,12 @@ public: this->IntMaxType = TargetInfo::SignedLongLong; this->UIntMaxType = TargetInfo::UnsignedLongLong; this->Int64Type = TargetInfo::SignedLongLong; - this->SizeType = TargetInfo::UnsignedInt; this->DoubleAlign = 64; + this->LongDoubleWidth = 64; this->LongDoubleAlign = 64; + this->SizeType = TargetInfo::UnsignedInt; + this->PtrDiffType = TargetInfo::SignedInt; + this->IntPtrType = TargetInfo::SignedInt; DescriptionString = "e-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-" "f32:32:32-f64:64:64-p:32:32:32-v128:32:32"; } @@ -2971,12 +2974,7 @@ public: unsigned &NumRecords) const { } virtual const char *getVAListDeclaration() const { - return "typedef struct __va_list_tag {" - " void* ptr;" - " void* padding1;" - " void* padding2;" - " void* padding3;" - "} __builtin_va_list[1];"; + return "typedef int __builtin_va_list[4];"; } virtual void getGCCRegNames(const char * const *&Names, unsigned &NumNames) const; |

