
Defaulting to -Xclang -coverage-version='407*' makes .gcno/.gcda compatible with gcov [4.7,8) In addition, delete clang::CodeGenOptionsBase::CoverageExtraChecksum and GCOVOptions::UseCfgChecksum. We can infer the information from the version. With this change, .gcda files produced by `clang --coverage a.o` linked executable can be read by gcov 4.7~7. We don't need other -Xclang -coverage* options. There may be a mismatching version warning, though. (Note, GCC r173147 "split checksum into cfg checksum and line checksum" made gcov 4.7 incompatible with previous versions.)
32 lines
997 B
C++
32 lines
997 B
C++
//===--- CodeGenOptions.cpp -----------------------------------------------===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "clang/Basic/CodeGenOptions.h"
|
|
#include <string.h>
|
|
|
|
namespace clang {
|
|
|
|
CodeGenOptions::CodeGenOptions() {
|
|
#define CODEGENOPT(Name, Bits, Default) Name = Default;
|
|
#define ENUM_CODEGENOPT(Name, Type, Bits, Default) set##Name(Default);
|
|
#include "clang/Basic/CodeGenOptions.def"
|
|
|
|
RelocationModel = llvm::Reloc::PIC_;
|
|
memcpy(CoverageVersion, "407*", 4);
|
|
}
|
|
|
|
bool CodeGenOptions::isNoBuiltinFunc(const char *Name) const {
|
|
StringRef FuncName(Name);
|
|
for (unsigned i = 0, e = NoBuiltinFuncs.size(); i != e; ++i)
|
|
if (FuncName.equals(NoBuiltinFuncs[i]))
|
|
return true;
|
|
return false;
|
|
}
|
|
|
|
} // end namespace clang
|