Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP1:Update
bcc.15364
bcc-fix-a-compilation-error-with-latest-llvm-cl...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File bcc-fix-a-compilation-error-with-latest-llvm-clang-trunk.patch of Package bcc.15364
From c0d1694e28336cbe4a57f420dd33c5e3bfaa2df9 Mon Sep 17 00:00:00 2001 From: Yonghong Song <yhs@fb.com> Date: Thu, 28 Dec 2017 13:34:06 -0800 Subject: [PATCH] fix a compilation error with latest llvm/clang trunk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit bcc build with latest llvm/clang trunk failed with the below error: ...... [ 35%] Built target api-static /home/yhs/work/bcc/src/cc/frontends/clang/tp_frontend_action.cc: In member function ‘bool ebpf::TracepointTypeVisitor::Visit FunctionDecl(clang::FunctionDecl*)’: /home/yhs/work/bcc/src/cc/frontends/clang/tp_frontend_action.cc:163:60: error: no matching function for call to ‘clang::Qual Type::getAsString(clang::SplitQualType)’ auto type_name = QualType::getAsString(type.split()); ^ ...... The error is caused by the below clang commit: commit fcc28fd8cc8139cf1e4763459447880768579d8e Author: Aaron Ballman <aaron@aaronballman.com> Date: Thu Dec 21 21:42:42 2017 +0000 Re-commit r321223, which adds a printing policy to the ASTDumper. ...... - std::string getAsString() const { - return getAsString(split()); + static std::string getAsString(SplitQualType split, + const PrintingPolicy &Policy) { + return getAsString(split.Ty, split.Quals, Policy); } + static std::string getAsString(const Type *ty, Qualifiers qs, + const PrintingPolicy &Policy); - static std::string getAsString(SplitQualType split) { - return getAsString(split.Ty, split.Quals); - } - - static std::string getAsString(const Type *ty, Qualifiers qs); - + std::string getAsString() const; std::string getAsString(const PrintingPolicy &Policy) const; ...... The signature of static function getAsString(), which is used in src/cc/frontends/clang/tp_frontend_action.cc, got changed, and this caused the compilation error. The patch chooses a different way to get type_name which works for llvm 4.0 to 6.0 (tested). Signed-off-by: Yonghong Song <yhs@fb.com> --- src/cc/frontends/clang/tp_frontend_action.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cc/frontends/clang/tp_frontend_action.cc b/src/cc/frontends/clang/tp_frontend_action.cc index b8818baf..3b46a62a 100644 --- a/src/cc/frontends/clang/tp_frontend_action.cc +++ b/src/cc/frontends/clang/tp_frontend_action.cc @@ -160,7 +160,7 @@ bool TracepointTypeVisitor::VisitFunctionDecl(FunctionDecl *D) { auto type = arg->getType(); if (type->isPointerType() && type->getPointeeType()->isStructureOrClassType()) { - auto type_name = QualType::getAsString(type.split()); + auto type_name = type->getPointeeType().getAsString(); string tp_cat, tp_evt; if (_is_tracepoint_struct_type(type_name, tp_cat, tp_evt)) { string tp_struct = GenerateTracepointStruct( -- 2.16.4
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor