[PATCH] Add a no_sanitize_vptr function attribute.

Richard Smith richard at metafoo.co.uk
Thu Apr 16 16:26:55 PDT 2015


I'm not convinced that adding one attribute per sanitizer is the right design here -- it doesn't seem to scale very well. Have you considered an attribute like

  __attribute__((no_sanitize("list,of,sanitizers"))) void fn() { ... }

where the list is parsed as if it were specified as `-fno-sanitize=list,of,sanitizers` on the command line?


================
Comment at: include/clang/Basic/Attr.td:1406
@@ -1405,1 +1405,3 @@
 
+// Attribute to disable UBSAN vptr checks.
+def NoSanitizeVptr : InheritableAttr {
----------------
UBSan is not usually capitalized this way.

================
Comment at: include/clang/Basic/AttrDocs.td:965
@@ +964,3 @@
+Use ``__attribute__((no_sanitize_vptr))`` on a function declaration to
+specify that dynamic vptr checks for should not be inserted.
+  }];
----------------
Grammar error around "for should".

http://reviews.llvm.org/D9059

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the cfe-commits mailing list