================
@@ -6383,11 +6372,32 @@ static void handleNoSanitizeSpecificAttr(Sema &S, Decl
*D,
// getSpelling() or prettyPrint() on the resulting semantic attribute object
// without failing assertions.
unsigned TranslatedSpellingIndex = 0;
- if (AL.isStandardAttributeSyntax())
+ if (NoSanitizeSpecificAttr.isStandardAttributeSyntax())
TranslatedSpellingIndex = 1;
- AttributeCommonInfo Info = AL;
+ AttributeCommonInfo Info = NoSanitizeSpecificAttr;
Info.setAttributeSpellingListIndex(TranslatedSpellingIndex);
+ return Info;
+}
+
+static void handleNoSanitizeAddressAttr(Sema &S, Decl *D,
+ const ParsedAttr &AL) {
+ StringRef SanitizerName = "address";
+ AttributeCommonInfo Info = getNoSanitizeAttrInfo(AL);
+ D->addAttr(::new (S.Context)
+ NoSanitizeAttr(S.Context, Info, &SanitizerName, 1));
----------------
erichkeane wrote:
Ooof, I hate everything about how `NoSanitizeAttr` is working here, using these
'fakes' to just handle the front half of parsing.
I had a big lovely rant here about how much I hate it, until I realize you're
not really causing it here (though kinda making it both worse and better? Who
knows which).
*sigh*....
https://github.com/llvm/llvm-project/pull/161311
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits