aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Sema/SemaExpr.cpp5
-rw-r--r--test/Sema/variadic-incomplete-arg-type.c3
2 files changed, 4 insertions, 4 deletions
diff --git a/lib/Sema/SemaExpr.cpp b/lib/Sema/SemaExpr.cpp
index ece16e8850..1bab239ab3 100644
--- a/lib/Sema/SemaExpr.cpp
+++ b/lib/Sema/SemaExpr.cpp
@@ -587,11 +587,10 @@ ExprResult Sema::DefaultVariadicArgumentPromotion(Expr *E, VariadicCallType CT,
E = Comma.get();
}
}
- // c++ rules are enfroced elsewhere.
+ // c++ rules are enforced elsewhere.
if (!getLangOptions().CPlusPlus &&
- !E->getType()->isVoidType() &&
RequireCompleteType(E->getExprLoc(), E->getType(),
- diag::err_incomplete_type))
+ diag::err_call_incomplete_argument))
return ExprError();
return Owned(E);
diff --git a/test/Sema/variadic-incomplete-arg-type.c b/test/Sema/variadic-incomplete-arg-type.c
index 1306173a0e..2b5dd1ab9d 100644
--- a/test/Sema/variadic-incomplete-arg-type.c
+++ b/test/Sema/variadic-incomplete-arg-type.c
@@ -8,5 +8,6 @@ void junk(int, ...);
int main()
{
CFErrorRef error;
- junk(1, *error); // expected-error {{incomplete type 'struct __CFError' where a complete type is required}}
+ junk(1, *error, (void)0); // expected-error {{argument type 'struct __CFError' is incomplete}} \
+ // expected-error {{argument type 'void' is incomplete}}
}