aboutsummaryrefslogtreecommitdiff
path: root/lib/AST/Builtins.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/AST/Builtins.cpp')
-rw-r--r--lib/AST/Builtins.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/AST/Builtins.cpp b/lib/AST/Builtins.cpp
index 8249c4119d..31e099af4e 100644
--- a/lib/AST/Builtins.cpp
+++ b/lib/AST/Builtins.cpp
@@ -137,6 +137,9 @@ static QualType DecodeTypeFromStr(const char *&Str, ASTContext &Context,
case 'a':
Type = Context.getBuiltinVaListType();
assert(!Type.isNull() && "builtin va list type not initialized!");
+ // Do array -> pointer decay. The builtin should use the decayed type.
+ if (Type->isArrayType())
+ Type = Context.getArrayDecayedType(Type);
break;
case 'V': {
char *End;