================
@@ -2253,6 +2260,60 @@ static void DiagnoseNonTriviallyCopyableReason(Sema 
&SemaRef,
   }
 }
 
+static void DiagnoseNonConstructibleReason(
+    Sema &SemaRef, SourceLocation Loc,
+    const llvm::SmallVector<clang::QualType, 1> &Ts) {
+  bool CompleteTypes = true;
+  for (const auto &ArgTy : Ts) {
+    if (ArgTy->isVoidType() || ArgTy->isIncompleteArrayType())
+      continue;
+    if (ArgTy->isIncompleteType()) {
+      SemaRef.Diag(Loc, diag::err_incomplete_type_used_in_type_trait_expr)
+          << ArgTy;
+      CompleteTypes = false;
+    }
+  }
+  if (!CompleteTypes)
+    return;
----------------
egorshamshura wrote:

And now, for every cv void type, we show a note, but is this a good practice? 
Or do we want to show it once?

https://github.com/llvm/llvm-project/pull/143309
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to