summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/SanitizerArgs.cpp
diff options
context:
space:
mode:
authorGeorge Karpenkov <ekarpenkov@apple.com>2017-04-24 18:23:24 +0000
committerGeorge Karpenkov <ekarpenkov@apple.com>2017-04-24 18:23:24 +0000
commitf2fc5b068e011455a4857cdc9349055c5a8b5221 (patch)
treef581e9eb6d0fb695cac0212c36416af71cdee606 /clang/lib/Driver/SanitizerArgs.cpp
parentf9796b76e988511093faad1b2c1b66405c0d00e4 (diff)
downloadbcm5719-llvm-f2fc5b068e011455a4857cdc9349055c5a8b5221.tar.gz
bcm5719-llvm-f2fc5b068e011455a4857cdc9349055c5a8b5221.zip
Flag -fsanitize=fuzzer to enable libfuzzer
Previously, adding libfuzzer to a project was a multi-step procedure, involving libfuzzer compilation, linking the library, and specifying coverage flags. With this change,libfuzzer can be enabled by adding a single -fsanitize=fuzzer flag instead. llvm-svn: 301212
Diffstat (limited to 'clang/lib/Driver/SanitizerArgs.cpp')
-rw-r--r--clang/lib/Driver/SanitizerArgs.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Driver/SanitizerArgs.cpp b/clang/lib/Driver/SanitizerArgs.cpp
index 8e61aadbf32..c9561367a3a 100644
--- a/clang/lib/Driver/SanitizerArgs.cpp
+++ b/clang/lib/Driver/SanitizerArgs.cpp
@@ -265,6 +265,10 @@ SanitizerArgs::SanitizerArgs(const ToolChain &TC,
Add &= ~InvalidTrappingKinds;
Add &= Supported;
+ // Enable coverage if the fuzzing flag is set.
+ if (Add & Fuzzer)
+ CoverageFeatures |= CoverageTracePCGuard | CoverageIndirCall | CoverageTraceCmp;
+
Kinds |= Add;
} else if (Arg->getOption().matches(options::OPT_fno_sanitize_EQ)) {
Arg->claim();
OpenPOWER on IntegriCloud