First pass at implementing the intent of ANSI C DR106.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120904 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaExprCXX.cpp b/lib/Sema/SemaExprCXX.cpp
index fc396b9..eec2fc8 100644
--- a/lib/Sema/SemaExprCXX.cpp
+++ b/lib/Sema/SemaExprCXX.cpp
@@ -3549,8 +3549,9 @@
   }
 
   DefaultFunctionArrayLvalueConversion(E);
-  RequireCompleteType(E->getExprLoc(), E->getType(),
-                      diag::err_incomplete_type);
+  if (!E->getType()->isVoidType())
+    RequireCompleteType(E->getExprLoc(), E->getType(),
+                        diag::err_incomplete_type);
 }
 
 ExprResult Sema::ActOnFinishFullExpr(Expr *FullExpr) {