aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorFangrui Song <maskray@google.com>2020-05-10 10:50:20 -0700
committerFangrui Song <maskray@google.com>2020-05-10 12:37:44 -0700
commit13a633b438b6500ecad9e4f936ebadf3411d0f44 (patch)
treefe835c02bb30eb52f4119de79a5e562f8bc37ceb /clang/lib/Frontend/CompilerInvocation.cpp
parente4c454b065be3b884b09fe7c0043f4445bdbd585 (diff)
downloadllvm-13a633b438b6500ecad9e4f936ebadf3411d0f44.zip
llvm-13a633b438b6500ecad9e4f936ebadf3411d0f44.tar.gz
llvm-13a633b438b6500ecad9e4f936ebadf3411d0f44.tar.bz2
[gcov] Delete CC1 option -coverage-no-function-names-in-data
rL144865 incorrectly wrote function names for GCOV_TAG_FUNCTION (this might be part of the reasons the header says "We emit files in a corrupt version of GCOV's "gcda" file format"). rL176173 and rL177475 realized the problem and introduced -coverage-no-function-names-in-data to work around the issue. (However, the description is wrong. libgcov never writes function names, even before GCC 4.2). In reality, the linker command line has to look like: clang --coverage -Xclang -coverage-version='407*' -Xclang -coverage-cfg-checksum -Xclang -coverage-no-function-names-in-data Failing to pass -coverage-no-function-names-in-data can make gcov 4.7~7 either produce wrong results (for one gcov-4.9 program, I see "No executable lines") or segfault (gcov-7). (gcov-8 uses an incompatible format.) This patch deletes -coverage-no-function-names-in-data and the related function names support from libclang_rt.profile
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r--clang/lib/Frontend/CompilerInvocation.cpp2
1 files changed, 0 insertions, 2 deletions
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp
index 01f0673..6a358f2 100644
--- a/clang/lib/Frontend/CompilerInvocation.cpp
+++ b/clang/lib/Frontend/CompilerInvocation.cpp
@@ -1018,8 +1018,6 @@ static bool ParseCodeGenArgs(CodeGenOptions &Opts, ArgList &Args, InputKind IK,
Opts.CoverageNotesFile =
std::string(Args.getLastArgValue(OPT_coverage_notes_file));
Opts.CoverageExtraChecksum = Args.hasArg(OPT_coverage_cfg_checksum);
- Opts.CoverageNoFunctionNamesInData =
- Args.hasArg(OPT_coverage_no_function_names_in_data);
Opts.ProfileFilterFiles =
std::string(Args.getLastArgValue(OPT_fprofile_filter_files_EQ));
Opts.ProfileExcludeFiles =