https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61978
--- Comment #2 from Kostya Serebryany <kcc at gcc dot gnu.org> --- Yea. This has been discussed a couple of times before. using an attribute in the source is clearly the preferable way. Unfortunately, it is not always technically possible, so we *have* to use the blacklists. The major use cases: a) third_party code that can not be easily modified b) needs to blacklist an entire source directory c) blacklist should be applied to a type, not a function In Chromium we have these: http://src.chromium.org/viewvc/chrome/trunk/src/tools/memory/tsan_v2/ignores.txt?revision=279695 http://src.chromium.org/viewvc/chrome/trunk/src/tools/msan/blacklist.txt?revision=284946 http://src.chromium.org/viewvc/chrome/trunk/src/tools/ubsan_vptr/blacklist.txt?revision=285951 http://src.chromium.org/viewvc/chrome/trunk/src/third_party/instrumented_libraries/blacklists/asan/libglib2.0-0.txt?revision=282959 http://src.chromium.org/viewvc/chrome/trunk/src/third_party/instrumented_libraries/blacklists/msan/libx11-6.txt?revision=282959