forked from OSchip/llvm-project
0d5a62faca
When an issue exists in the main file (caller) instead of an included file (callee), using a `src` pattern applying to the included file may be inappropriate if it's the caller's responsibility. Add `mainfile` prefix to check the main filename. For the example below, the issue may reside in a.c (foo should not be called with a misaligned pointer or foo should switch to an unaligned load), but with `src` we can only apply to the innocent callee a.h. With this patch we can use the more appropriate `mainfile:a.c`. ``` //--- a.h // internal linkage static inline int load(int *x) { return *x; } //--- a.c, -fsanitize=alignment #include "a.h" int foo(void *x) { return load(x); } ``` See the updated clang/docs/SanitizerSpecialCaseList.rst for a caveat due to C++ vague linkage functions. Reviewed By: #sanitizers, kstoimenov, vitalybuka Differential Revision: https://reviews.llvm.org/D129832 |
||
---|---|---|
.. | ||
llvm | ||
llvm-c |