Skip to content

Commit

Permalink
[Driver] Don't warn -Wunused-command-line-argument for --coverage -ft…
Browse files Browse the repository at this point in the history
…est-coverage -fprofile-arcs
  • Loading branch information
MaskRay committed May 8, 2020
1 parent a2247d4 commit 0d4a33b
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 6 deletions.
6 changes: 3 additions & 3 deletions clang/lib/Driver/ToolChain.cpp
Expand Up @@ -512,9 +512,9 @@ bool ToolChain::needsProfileRT(const ArgList &Args) {
}

bool ToolChain::needsGCovInstrumentation(const llvm::opt::ArgList &Args) {
return Args.hasFlag(options::OPT_fprofile_arcs, options::OPT_fno_profile_arcs,
false) ||
Args.hasArg(options::OPT_coverage);
return Args.hasArg(options::OPT_coverage) ||
Args.hasFlag(options::OPT_fprofile_arcs, options::OPT_fno_profile_arcs,
false);
}

Tool *ToolChain::SelectTool(const JobAction &JA) const {
Expand Down
4 changes: 1 addition & 3 deletions clang/lib/Driver/ToolChains/Clang.cpp
Expand Up @@ -863,9 +863,7 @@ static void addPGOAndCoverageFlags(const ToolChain &TC, Compilation &C,

bool EmitCovNotes = Args.hasArg(options::OPT_ftest_coverage) ||
Args.hasArg(options::OPT_coverage);
bool EmitCovData = Args.hasFlag(options::OPT_fprofile_arcs,
options::OPT_fno_profile_arcs, false) ||
Args.hasArg(options::OPT_coverage);
bool EmitCovData = TC.needsGCovInstrumentation(Args);
if (EmitCovNotes)
CmdArgs.push_back("-femit-coverage-notes");
if (EmitCovData)
Expand Down
3 changes: 3 additions & 0 deletions clang/test/Driver/coverage.c
Expand Up @@ -12,6 +12,9 @@
// GCNO-LOCATION: "-coverage-notes-file" "{{.*}}/foo/bar.gcno"
// GCNO-LOCATION-REL: "-coverage-notes-file" "{{.*}}{{/|\\\\}}foo/bar.gcno"

/// Don't warn -Wunused-command-line-argument.
// RUN: %clang -E -Werror --coverage -ftest-coverage -fprofile-arcs %s

/// Test -fprofile-dir=
// RUN: not %clang -S -Werror -fprofile-dir=abc %s
// RUN: not %clang -S -Werror -ftest-coverage -fprofile-dir=abc %s
Expand Down

0 comments on commit 0d4a33b

Please sign in to comment.