================ @@ -1798,11 +1798,24 @@ def ArmMveStrictPolymorphism : TypeAttr, TargetSpecificAttr<TargetARM> { let Documentation = [ArmMveStrictPolymorphismDocs]; } -def NoUniqueAddress : InheritableAttr, TargetSpecificAttr<TargetItaniumCXXABI> { - let Spellings = [CXX11<"", "no_unique_address", 201803>]; +def NoUniqueAddress : InheritableAttr { + let Subjects = SubjectList<[NonBitField], ErrorDiag>; + // No spellings because instances of this attribute are created by + // MSNoUniqueAddress and ItaniumNoUniqueAddress + let Spellings = []; + let Documentation = [InternalOnly]; +} + +def MSNoUniqueAddress : InheritableAttr, TargetSpecificAttr<TargetMicrosoftCXXABI> { let Subjects = SubjectList<[NonBitField], ErrorDiag>; + let Spellings = [CXX11<"msvc", "no_unique_address", 201803>]; + let Documentation = [MSNoUniqueAddressDocs]; +} + +def ItaniumNoUniqueAddress : InheritableAttr, TargetSpecificAttr<TargetItaniumCXXABI> { ---------------- amykhuang wrote:
Yeah, that makes sense; would it be better to name it "NoUniqueAddress" and then name the "parent" attribute something like "NoUniqueAddressGroup"? https://github.com/llvm/llvm-project/pull/67199 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits