Author: Fangrui Song Date: 2020-05-08T16:31:15-07:00 New Revision: 0d4a33ba61b7f1622eda4ec60c74a7eb7b1fcbcf
URL: https://github.com/llvm/llvm-project/commit/0d4a33ba61b7f1622eda4ec60c74a7eb7b1fcbcf DIFF: https://github.com/llvm/llvm-project/commit/0d4a33ba61b7f1622eda4ec60c74a7eb7b1fcbcf.diff LOG: [Driver] Don't warn -Wunused-command-line-argument for --coverage -ftest-coverage -fprofile-arcs Added: Modified: clang/lib/Driver/ToolChain.cpp clang/lib/Driver/ToolChains/Clang.cpp clang/test/Driver/coverage.c Removed: ################################################################################ diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp index a6bc953d6a51..c8f6207ec584 100644 --- a/clang/lib/Driver/ToolChain.cpp +++ b/clang/lib/Driver/ToolChain.cpp @@ -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 { diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index 04c05a8f53e3..7d52d7faa48f 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -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) diff --git a/clang/test/Driver/coverage.c b/clang/test/Driver/coverage.c index 24e8ac9d888b..4e1b49bd3a72 100644 --- a/clang/test/Driver/coverage.c +++ b/clang/test/Driver/coverage.c @@ -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 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits