diff options
-rw-r--r-- | lib/Basic/Targets.cpp | 2 | ||||
-rw-r--r-- | test/Sema/builtins-arm.c | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index 97109caf12..09a2f56b42 100644 --- a/lib/Basic/Targets.cpp +++ b/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/test/Sema/builtins-arm.c b/test/Sema/builtins-arm.c index 4dd31e7240..4077240ce4 100644 --- a/test/Sema/builtins-arm.c +++ b/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}} +} |