diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2017-06-03 15:20:48 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2017-06-03 15:20:48 +0000 | 
| commit | 551c698530debaae81139c7c76a29fb762793362 (patch) | |
| tree | 547e0e59163c33f2142998714eb5f957e65d1a57 /lib/Driver/SanitizerArgs.cpp | |
| parent | 416ada0f75bab22b084a1776deb229cd4a669c4d (diff) | |
Diffstat (limited to 'lib/Driver/SanitizerArgs.cpp')
| -rw-r--r-- | lib/Driver/SanitizerArgs.cpp | 10 | 
1 files changed, 7 insertions, 3 deletions
| diff --git a/lib/Driver/SanitizerArgs.cpp b/lib/Driver/SanitizerArgs.cpp index 9ab2e176845c..ad2b4ada9a83 100644 --- a/lib/Driver/SanitizerArgs.cpp +++ b/lib/Driver/SanitizerArgs.cpp @@ -48,13 +48,14 @@ enum CoverageFeature {    CoverageBB = 1 << 1,    CoverageEdge = 1 << 2,    CoverageIndirCall = 1 << 3, -  CoverageTraceBB = 1 << 4, +  CoverageTraceBB = 1 << 4,  // Deprecated.    CoverageTraceCmp = 1 << 5,    CoverageTraceDiv = 1 << 6,    CoverageTraceGep = 1 << 7, -  Coverage8bitCounters = 1 << 8, +  Coverage8bitCounters = 1 << 8,  // Deprecated.    CoverageTracePC = 1 << 9,    CoverageTracePCGuard = 1 << 10, +  CoverageInline8bitCounters = 1 << 12,    CoverageNoPrune = 1 << 11,  }; @@ -530,7 +531,8 @@ SanitizerArgs::SanitizerArgs(const ToolChain &TC,    }    // trace-pc w/o func/bb/edge implies edge. -  if ((CoverageFeatures & (CoverageTracePC | CoverageTracePCGuard)) && +  if ((CoverageFeatures & +       (CoverageTracePC | CoverageTracePCGuard | CoverageInline8bitCounters)) &&        !(CoverageFeatures & InsertionPointTypes))      CoverageFeatures |= CoverageEdge; @@ -637,6 +639,7 @@ void SanitizerArgs::addArgs(const ToolChain &TC, const llvm::opt::ArgList &Args,      std::make_pair(Coverage8bitCounters, "-fsanitize-coverage-8bit-counters"),      std::make_pair(CoverageTracePC, "-fsanitize-coverage-trace-pc"),      std::make_pair(CoverageTracePCGuard, "-fsanitize-coverage-trace-pc-guard"), +    std::make_pair(CoverageInline8bitCounters, "-fsanitize-coverage-inline-8bit-counters"),      std::make_pair(CoverageNoPrune, "-fsanitize-coverage-no-prune")};    for (auto F : CoverageFlags) {      if (CoverageFeatures & F.first) @@ -798,6 +801,7 @@ int parseCoverageFeatures(const Driver &D, const llvm::opt::Arg *A) {          .Case("trace-pc", CoverageTracePC)          .Case("trace-pc-guard", CoverageTracePCGuard)          .Case("no-prune", CoverageNoPrune) +        .Case("inline-8bit-counters", CoverageInline8bitCounters)          .Default(0);      if (F == 0)        D.Diag(clang::diag::err_drv_unsupported_option_argument) | 
