glider added inline comments.
================ Comment at: clang/include/clang/Basic/AttrDocs.td:2601-2602 + +This is not the same as ``__attribute__((no_sanitize(...)))``, which depending +on the tool may still insert instrumentation to prevent false positive reports. + }]; ---------------- aaron.ballman wrote: > Has there been agreement that this isn't actually a bug? My understanding of > `no_sanitize` is that it disables sanitizer support for a function or global. > The documentation for that attribute says: > ``` > Use the ``no_sanitize`` attribute on a function or a global variable > declaration to specify that a particular instrumentation or set of > instrumentations should not be applied. > ``` > That sure reads like "do not instrument this at all" to me, and makes me > think we don't need a second attribute that says "no, really, I mean it this > time." No, this isn't a bug, but might need to be better clarified in the docs. ThreadSanitizer and MemorySanitizer do insert some instrumentation into ignore functions to prevent false positives: > ThreadSanitizer still instruments such functions to avoid false positives and > provide meaningful stack traces. (https://clang.llvm.org/docs/ThreadSanitizer.html#attribute-no-sanitize-thread) and > MemorySanitizer may still instrument such functions to avoid false positives. (https://clang.llvm.org/docs/MemorySanitizer.html#attribute-no-sanitize-memory) This is the behavior people rely onto, although at this point I don't think `no_sanitize(...)` is the best name for attribute not disabling instrumentation completely. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D108029/new/ https://reviews.llvm.org/D108029 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits