__builtin_va_list is void* on ARM, not char*.

rdar://problem/9391966

llvm-svn: 131080
This commit is contained in:
John McCall 2011-05-09 02:19:37 +00:00
parent 1a414cfb5d
commit e155a3d8aa
2 changed files with 6 additions and 1 deletions

View File

@ -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;

View File

@ -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}}
}