Allow -fsanitize-coverage=N with ubsan, clang part.
This simply allows the flag combination.
The LLVM will work out of the box, the compile-rt part
will follow as a separate patch.
Details
Details
Diff Detail
Diff Detail
Event Timeline
lib/Driver/SanitizerArgs.cpp | ||
---|---|---|
299 | NeedsUbsanRt is a compile-time constant. You probably should use needsUbsanRt() (omg, it's terrible). You may consider adding a test that -fsanitize-coverage=1 is reported as unused argument for, e.g., -fsanitize=dataflow |
lib/Driver/SanitizerArgs.cpp | ||
---|---|---|
299 | As an alternative, introduce new SanitizeKind SupportsCoverage = Address | Memory | Leak | Undefined | Integer, and replace this if with if (Kinds & SupportsCoverage) { ... } |
lib/Driver/SanitizerArgs.cpp | ||
---|---|---|
299 | That is, hasOneOf(Sanitizers, SupportsCoverage) |
NeedsUbsanRt is a compile-time constant. You probably should use
(omg, it's terrible). You may consider adding a test that -fsanitize-coverage=1 is reported as unused argument for, e.g., -fsanitize=dataflow