[clang] [Clang][Sema] set declaration invalid earlier to prevent crash in calculating record layout (PR #87173)
Qizhi Hu via cfe-commits
cfe-commits at lists.llvm.org
Mon Apr 1 18:48:57 PDT 2024
================
@@ -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();
----------------
jcsxky wrote:
@shafik If I understand correctly, you want to set `OwnedTagDecl` invalid before it is a complete definition. I will look into the code.
https://github.com/llvm/llvm-project/pull/87173
More information about the cfe-commits
mailing list