================ @@ -3899,6 +3899,9 @@ static QualType GetDeclSpecTypeForDeclarator(TypeProcessingState &state, SemaRef.Diag(OwnedTagDecl->getLocation(), DiagID) << SemaRef.Context.getTypeDeclType(OwnedTagDecl); D.setInvalidType(true); + OwnedTagDecl->setCompleteDefinition(false); + OwnedTagDecl->setInvalidDecl(); + OwnedTagDecl->setCompleteDefinition(); ---------------- shafik wrote:
`GetDeclSpecTypeForDeclarator` is called from two places `GetTypeForDeclaratorCast(...)` and where that is called `D.isInvalidType()` is checked. It is also called from `GetTypeForDeclarator(...)` and the checking of after that call is a bit more varied. I am wondering if we are being sloppy in one of those calls. https://github.com/llvm/llvm-project/pull/87173 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits