diff options
| author | John McCall <rjmccall@apple.com> | 2011-05-09 02:19:37 +0000 |
|---|---|---|
| committer | John McCall <rjmccall@apple.com> | 2011-05-09 02:19:37 +0000 |
| commit | e155a3d8aab15eb1f59bb514cae1800a527a0580 (patch) | |
| tree | 4b4295b92a965039d96c2c0120578ec57ad7e5d9 /clang | |
| parent | 1a414cfb5d0d28dbf0b4c496b916e2d0498e4a8b (diff) | |
| download | bcm5719-llvm-e155a3d8aab15eb1f59bb514cae1800a527a0580.tar.gz bcm5719-llvm-e155a3d8aab15eb1f59bb514cae1800a527a0580.zip | |
__builtin_va_list is void* on ARM, not char*.
rdar://problem/9391966
llvm-svn: 131080
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/lib/Basic/Targets.cpp | 2 | ||||
| -rw-r--r-- | clang/test/Sema/builtins-arm.c | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 97109caf123..09a2f56b420 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -2020,7 +2020,7 @@ public: NumRecords = clang::ARM::LastTSBuiltin-Builtin::FirstTSBuiltin; } virtual const char *getVAListDeclaration() const { - return "typedef char* __builtin_va_list;"; + return "typedef void* __builtin_va_list;"; } virtual void getGCCRegNames(const char * const *&Names, unsigned &NumNames) const; diff --git a/clang/test/Sema/builtins-arm.c b/clang/test/Sema/builtins-arm.c index 4dd31e72405..4077240ce49 100644 --- a/clang/test/Sema/builtins-arm.c +++ b/clang/test/Sema/builtins-arm.c @@ -9,3 +9,8 @@ void __clear_cache(char*, char*); void __clear_cache(void*, void*); #endif +// va_list on ARM is void*. +void test2() { + __builtin_va_list ptr = "x"; + *ptr = '0'; // expected-error {{incomplete type 'void' is not assignable}} +} |

