diff options
Diffstat (limited to 'tools/perf/util/c++/clang.cpp')
| -rw-r--r-- | tools/perf/util/c++/clang.cpp | 11 | 
1 files changed, 9 insertions, 2 deletions
diff --git a/tools/perf/util/c++/clang.cpp b/tools/perf/util/c++/clang.cpp index bf31ceab33bd..89512504551b 100644 --- a/tools/perf/util/c++/clang.cpp +++ b/tools/perf/util/c++/clang.cpp @@ -146,8 +146,15 @@ getBPFObjectFromModule(llvm::Module *Module)  	raw_svector_ostream ostream(*Buffer);  	legacy::PassManager PM; -	if (TargetMachine->addPassesToEmitFile(PM, ostream, -					       TargetMachine::CGFT_ObjectFile)) { +	bool NotAdded; +#if CLANG_VERSION_MAJOR < 7 +	NotAdded = TargetMachine->addPassesToEmitFile(PM, ostream, +						      TargetMachine::CGFT_ObjectFile); +#else +	NotAdded = TargetMachine->addPassesToEmitFile(PM, ostream, nullptr, +						      TargetMachine::CGFT_ObjectFile); +#endif +	if (NotAdded) {  		llvm::errs() << "TargetMachine can't emit a file of this type\n";  		return std::unique_ptr<llvm::SmallVectorImpl<char>>(nullptr);;  	}  | 
