llvm-project
96b6594c - [Clang] Remove the early-check for anonymous struct in ShouldDeleteSpecialMember (#171799)

Commit
140 days ago
[Clang] Remove the early-check for anonymous struct in ShouldDeleteSpecialMember (#171799) That check doesn't seem very useful. For non-dependent context records, ShouldDeleteSpecialMember is called when checking implicitly defined member functions, before the anonymous flag which the check relies on is set. (One could notice that in ParseCXXClassMemberDeclaration, ParseDeclarationSpecifiers ends up calling ShouldDeleteSpecialMember, while the flag is only set later in ParsedFreeStandingDeclSpec.) For dependent contexts, this check actually breaks correctness: since we don't create those special members until the template is instantiated, their deletion checks are skipped because of the anonymity. There's only one regression in ObjC test about notes; we are more explanative now. Fixes https://github.com/llvm/llvm-project/issues/167217
Author
Parents
Loading