Open kloczek opened 2 years ago
Yeah .. looks like current code is not gcc 12.x ready
[tkloczko@devel-g2v creduce-creduce-2.10.0]$ make -k make all-recursive make[1]: Entering directory '/home/tkloczko/rpmbuild/BUILD/creduce-creduce-2.10.0' Making all in clang_delta make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/creduce-creduce-2.10.0/clang_delta' /usr/bin/g++ -DHAVE_CONFIG_H -I. -I.. -I"/usr/include/clang" -I/usr/include -std=c++14 -fno-exceptions -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fno-rtti -fno-exceptions -g -O3 -fno-strict-aliasing -Wall -Wextra -Wno-long-long -Wno-unused-parameter -Wno-missing-field-initializers -c -o clang_delta-RemoveBaseClass.o `test -f 'RemoveBaseClass.cpp' || echo './'`RemoveBaseClass.cpp In file included from RemoveBaseClass.cpp:19: CommonRenameClassRewriteVisitor.h: In instantiation of ‘bool clang_delta_common_visitor::CommonRenameClassRewriteVisitor<T>::VisitUsingDecl(clang::UsingDecl*) [with T = RemoveBaseClassRewriteVisitor]’: /usr/include/clang/AST/DeclNodes.inc:109:1: required from ‘bool clang::RecursiveASTVisitor<Derived>::WalkUpFromUsingDecl(clang::UsingDecl*) [with Derived = RemoveBaseClassRewriteVisitor]’ /usr/include/clang/AST/RecursiveASTVisitor.h:1603:1: required from ‘bool clang::RecursiveASTVisitor<Derived>::TraverseUsingDecl(clang::UsingDecl*) [with Derived = RemoveBaseClassRewriteVisitor]’ /usr/include/clang/AST/DeclNodes.inc:109:1: required from ‘bool clang::RecursiveASTVisitor<Derived>::TraverseDecl(clang::Decl*) [with Derived = RemoveBaseClassRewriteVisitor]’ RemoveBaseClass.cpp:111:31: required from here CommonRenameClassRewriteVisitor.h:101:39: error: conversion from ‘llvm::StringRef’ to non-scalar type ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} requested 101 | std::string IdName = IdInfo->getName(); | ~~~~~~~~~~~~~~~^~ CommonRenameClassRewriteVisitor.h: In instantiation of ‘bool clang_delta_common_visitor::CommonRenameClassRewriteVisitor<T>::VisitDependentTemplateSpecializationTypeLoc(clang::DependentTemplateSpecializationTypeLoc) [with T = RemoveBaseClassRewriteVisitor]’: /usr/include/clang/AST/TypeNodes.inc:42:1: required from ‘bool clang::RecursiveASTVisitor<Derived>::WalkUpFromDependentTemplateSpecializationTypeLoc(clang::DependentTemplateSpecializationTypeLoc) [with Derived = RemoveBaseClassRewriteVisitor]’ /usr/include/clang/AST/RecursiveASTVisitor.h:1330:1: required from ‘bool clang::RecursiveASTVisitor<Derived>::TraverseDependentTemplateSpecializationTypeLoc(clang::DependentTemplateSpecializationTypeLoc) [with Derived = RemoveBaseClassRewriteVisitor]’ /usr/include/clang/AST/TypeNodes.inc:42:1: required from ‘bool clang::RecursiveASTVisitor<Derived>::TraverseTypeLoc(clang::TypeLoc) [with Derived = RemoveBaseClassRewriteVisitor]’ /usr/include/clang/AST/RecursiveASTVisitor.h:1426:1: required from ‘bool clang::RecursiveASTVisitor<Derived>::TraverseBlockDecl(clang::BlockDecl*) [with Derived = RemoveBaseClassRewriteVisitor]’ /usr/include/clang/AST/DeclNodes.inc:29:1: required from ‘bool clang::RecursiveASTVisitor<Derived>::TraverseDecl(clang::Decl*) [with Derived = RemoveBaseClassRewriteVisitor]’ RemoveBaseClass.cpp:111:31: required from here CommonRenameClassRewriteVisitor.h:340:39: error: conversion from ‘llvm::StringRef’ to non-scalar type ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} requested 340 | std::string IdName = IdInfo->getName(); | ~~~~~~~~~~~~~~~^~ make[2]: *** [Makefile:1442: clang_delta-RemoveBaseClass.o] Error 1 /usr/bin/g++ -DHAVE_CONFIG_H -I. -I.. -I"/usr/include/clang" -I/usr/include -std=c++14 -fno-exceptions -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fno-rtti -fno-exceptions -g -O3 -fno-strict-aliasing -Wall -Wextra -Wno-long-long -Wno-unused-parameter -Wno-missing-field-initializers -c -o clang_delta-RemoveNamespace.o `test -f 'RemoveNamespace.cpp' || echo './'`RemoveNamespace.cpp RemoveNamespace.cpp: In member function ‘bool RemoveNamespaceRewriteVisitor::VisitDependentTemplateSpecializationTypeLoc(clang::DependentTemplateSpecializationTypeLoc)’: RemoveNamespace.cpp:468:39: error: conversion from ‘llvm::StringRef’ to non-scalar type ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} requested 468 | std::string IdName = IdInfo->getName(); | ~~~~~~~~~~~~~~~^~ RemoveNamespace.cpp: In member function ‘void RemoveNamespace::handleOneUsingShadowDecl(const clang::UsingShadowDecl*, const clang::DeclContext*)’: RemoveNamespace.cpp:797:28: error: ‘const class clang::UsingShadowDecl’ has no member named ‘getUsingDecl’ 797 | const UsingDecl *D = UD->getUsingDecl(); | ^~~~~~~~~~~~ make[2]: *** [Makefile:1484: clang_delta-RemoveNamespace.o] Error 1 /usr/bin/g++ -DHAVE_CONFIG_H -I. -I.. -I"/usr/include/clang" -I/usr/include -std=c++14 -fno-exceptions -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fno-rtti -fno-exceptions -g -O3 -fno-strict-aliasing -Wall -Wextra -Wno-long-long -Wno-unused-parameter -Wno-missing-field-initializers -c -o clang_delta-RemoveNestedFunction.o `test -f 'RemoveNestedFunction.cpp' || echo './'`RemoveNestedFunction.cpp RemoveNestedFunction.cpp: In member function ‘void RemoveNestedFunction::getVarStrForTemplateSpecialization(std::string&, const clang::TemplateSpecializationType*)’: RemoveNestedFunction.cpp:193:23: error: no matching function for call to ‘clang::TemplateArgument::print(const clang::PrintingPolicy&, llvm::raw_string_ostream&) const’ 193 | TST->getArg(0).print(Context->getPrintingPolicy(), Stream); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/clang/AST/Expr.h:24, from /usr/include/clang/AST/DeclCXX.h:22, from /usr/include/clang/AST/RecursiveASTVisitor.h:20, from RemoveNestedFunction.cpp:20: /usr/include/clang/AST/TemplateBase.h:391:8: note: candidate: ‘void clang::TemplateArgument::print(const clang::PrintingPolicy&, llvm::raw_ostream&, bool) const’ 391 | void print(const PrintingPolicy &Policy, raw_ostream &Out, | ^~~~~ /usr/include/clang/AST/TemplateBase.h:391:8: note: candidate expects 3 arguments, 2 provided RemoveNestedFunction.cpp:198:14: error: no matching function for call to ‘clang::TemplateArgument::print(const clang::PrintingPolicy&, llvm::raw_string_ostream&) const’ 198 | Arg.print(Context->getPrintingPolicy(), Stream); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/clang/AST/TemplateBase.h:391:8: note: candidate: ‘void clang::TemplateArgument::print(const clang::PrintingPolicy&, llvm::raw_ostream&, bool) const’ 391 | void print(const PrintingPolicy &Policy, raw_ostream &Out, | ^~~~~ /usr/include/clang/AST/TemplateBase.h:391:8: note: candidate expects 3 arguments, 2 provided RemoveNestedFunction.cpp: In member function ‘void RemoveNestedFunction::getNewTmpVariableStr(clang::ASTContext&, std::string&)’: RemoveNestedFunction.cpp:465:23: warning: unused variable ‘AT’ [-Wunused-variable] 465 | if (const AutoType *AT = | ^~ make[2]: *** [Makefile:1498: clang_delta-RemoveNestedFunction.o] Error 1 /usr/bin/g++ -DHAVE_CONFIG_H -I. -I.. -I"/usr/include/clang" -I/usr/include -std=c++14 -fno-exceptions -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fno-rtti -fno-exceptions -g -O3 -fno-strict-aliasing -Wall -Wextra -Wno-long-long -Wno-unused-parameter -Wno-missing-field-initializers -c -o clang_delta-RenameClass.o `test -f 'RenameClass.cpp' || echo './'`RenameClass.cpp In file included from RenameClass.cpp:20: CommonRenameClassRewriteVisitor.h: In instantiation of ‘bool clang_delta_common_visitor::CommonRenameClassRewriteVisitor<T>::VisitUsingDecl(clang::UsingDecl*) [with T = RenameClassRewriteVisitor]’: /usr/include/clang/AST/DeclNodes.inc:109:1: required from ‘bool clang::RecursiveASTVisitor<Derived>::WalkUpFromUsingDecl(clang::UsingDecl*) [with Derived = RenameClassRewriteVisitor]’ /usr/include/clang/AST/RecursiveASTVisitor.h:1603:1: required from ‘bool clang::RecursiveASTVisitor<Derived>::TraverseUsingDecl(clang::UsingDecl*) [with Derived = RenameClassRewriteVisitor]’ /usr/include/clang/AST/DeclNodes.inc:109:1: required from ‘bool clang::RecursiveASTVisitor<Derived>::TraverseDecl(clang::Decl*) [with Derived = RenameClassRewriteVisitor]’ RenameClass.cpp:109:31: required from here CommonRenameClassRewriteVisitor.h:101:39: error: conversion from ‘llvm::StringRef’ to non-scalar type ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} requested 101 | std::string IdName = IdInfo->getName(); | ~~~~~~~~~~~~~~~^~ CommonRenameClassRewriteVisitor.h: In instantiation of ‘bool clang_delta_common_visitor::CommonRenameClassRewriteVisitor<T>::VisitDependentTemplateSpecializationTypeLoc(clang::DependentTemplateSpecializationTypeLoc) [with T = RenameClassRewriteVisitor]’: /usr/include/clang/AST/TypeNodes.inc:42:1: required from ‘bool clang::RecursiveASTVisitor<Derived>::WalkUpFromDependentTemplateSpecializationTypeLoc(clang::DependentTemplateSpecializationTypeLoc) [with Derived = RenameClassRewriteVisitor]’ /usr/include/clang/AST/RecursiveASTVisitor.h:1330:1: required from ‘bool clang::RecursiveASTVisitor<Derived>::TraverseDependentTemplateSpecializationTypeLoc(clang::DependentTemplateSpecializationTypeLoc) [with Derived = RenameClassRewriteVisitor]’ /usr/include/clang/AST/TypeNodes.inc:42:1: required from ‘bool clang::RecursiveASTVisitor<Derived>::TraverseTypeLoc(clang::TypeLoc) [with Derived = RenameClassRewriteVisitor]’ /usr/include/clang/AST/RecursiveASTVisitor.h:1426:1: required from ‘bool clang::RecursiveASTVisitor<Derived>::TraverseBlockDecl(clang::BlockDecl*) [with Derived = RenameClassRewriteVisitor]’ /usr/include/clang/AST/DeclNodes.inc:29:1: required from ‘bool clang::RecursiveASTVisitor<Derived>::TraverseDecl(clang::Decl*) [with Derived = RenameClassRewriteVisitor]’ RenameClass.cpp:109:31: required from here CommonRenameClassRewriteVisitor.h:340:39: error: conversion from ‘llvm::StringRef’ to non-scalar type ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} requested 340 | std::string IdName = IdInfo->getName(); | ~~~~~~~~~~~~~~~^~ make[2]: *** [Makefile:1638: clang_delta-RenameClass.o] Error 1 /usr/bin/g++ -DHAVE_CONFIG_H -I. -I.. -I"/usr/include/clang" -I/usr/include -std=c++14 -fno-exceptions -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fno-rtti -fno-exceptions -g -O3 -fno-strict-aliasing -Wall -Wextra -Wno-long-long -Wno-unused-parameter -Wno-missing-field-initializers -c -o clang_delta-ReplaceDerivedClass.o `test -f 'ReplaceDerivedClass.cpp' || echo './'`ReplaceDerivedClass.cpp In file included from ReplaceDerivedClass.cpp:19: CommonRenameClassRewriteVisitor.h: In instantiation of ‘bool clang_delta_common_visitor::CommonRenameClassRewriteVisitor<T>::VisitUsingDecl(clang::UsingDecl*) [with T = ReplaceDerivedClassRewriteVisitor]’: /usr/include/clang/AST/DeclNodes.inc:109:1: required from ‘bool clang::RecursiveASTVisitor<Derived>::WalkUpFromUsingDecl(clang::UsingDecl*) [with Derived = ReplaceDerivedClassRewriteVisitor]’ /usr/include/clang/AST/RecursiveASTVisitor.h:1603:1: required from ‘bool clang::RecursiveASTVisitor<Derived>::TraverseUsingDecl(clang::UsingDecl*) [with Derived = ReplaceDerivedClassRewriteVisitor]’ /usr/include/clang/AST/DeclNodes.inc:109:1: required from ‘bool clang::RecursiveASTVisitor<Derived>::TraverseDecl(clang::Decl*) [with Derived = ReplaceDerivedClassRewriteVisitor]’ ReplaceDerivedClass.cpp:101:31: required from here CommonRenameClassRewriteVisitor.h:101:39: error: conversion from ‘llvm::StringRef’ to non-scalar type ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} requested 101 | std::string IdName = IdInfo->getName(); | ~~~~~~~~~~~~~~~^~ CommonRenameClassRewriteVisitor.h: In instantiation of ‘bool clang_delta_common_visitor::CommonRenameClassRewriteVisitor<T>::VisitDependentTemplateSpecializationTypeLoc(clang::DependentTemplateSpecializationTypeLoc) [with T = ReplaceDerivedClassRewriteVisitor]’: /usr/include/clang/AST/TypeNodes.inc:42:1: required from ‘bool clang::RecursiveASTVisitor<Derived>::WalkUpFromDependentTemplateSpecializationTypeLoc(clang::DependentTemplateSpecializationTypeLoc) [with Derived = ReplaceDerivedClassRewriteVisitor]’ /usr/include/clang/AST/RecursiveASTVisitor.h:1330:1: required from ‘bool clang::RecursiveASTVisitor<Derived>::TraverseDependentTemplateSpecializationTypeLoc(clang::DependentTemplateSpecializationTypeLoc) [with Derived = ReplaceDerivedClassRewriteVisitor]’ /usr/include/clang/AST/TypeNodes.inc:42:1: required from ‘bool clang::RecursiveASTVisitor<Derived>::TraverseTypeLoc(clang::TypeLoc) [with Derived = ReplaceDerivedClassRewriteVisitor]’ /usr/include/clang/AST/RecursiveASTVisitor.h:1426:1: required from ‘bool clang::RecursiveASTVisitor<Derived>::TraverseBlockDecl(clang::BlockDecl*) [with Derived = ReplaceDerivedClassRewriteVisitor]’ /usr/include/clang/AST/DeclNodes.inc:29:1: required from ‘bool clang::RecursiveASTVisitor<Derived>::TraverseDecl(clang::Decl*) [with Derived = ReplaceDerivedClassRewriteVisitor]’ ReplaceDerivedClass.cpp:101:31: required from here CommonRenameClassRewriteVisitor.h:340:39: error: conversion from ‘llvm::StringRef’ to non-scalar type ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} requested 340 | std::string IdName = IdInfo->getName(); | ~~~~~~~~~~~~~~~^~ make[2]: *** [Makefile:1778: clang_delta-ReplaceDerivedClass.o] Error 1 /usr/bin/g++ -DHAVE_CONFIG_H -I. -I.. -I"/usr/include/clang" -I/usr/include -std=c++14 -fno-exceptions -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fno-rtti -fno-exceptions -g -O3 -fno-strict-aliasing -Wall -Wextra -Wno-long-long -Wno-unused-parameter -Wno-missing-field-initializers -c -o clang_delta-RewriteUtils.o `test -f 'RewriteUtils.cpp' || echo './'`RewriteUtils.cpp RewriteUtils.cpp: In member function ‘bool RewriteUtils::removeVarFromDeclStmt(clang::DeclStmt*, const clang::VarDecl*, clang::Decl*, bool, bool*)’: RewriteUtils.cpp:557:58: error: use of deleted function ‘clang::DeclGroup::DeclGroup(const clang::DeclGroup&)’ 557 | DeclGroup DGroup = DS->getDeclGroup().getDeclGroup(); | ^ In file included from /usr/include/clang/AST/Stmt.h:16, from /usr/include/clang/AST/Expr.h:23, from /usr/include/clang/AST/DeclCXX.h:22, from RewriteUtils.cpp:22: /usr/include/clang/AST/DeclGroup.h:25:7: note: ‘clang::DeclGroup::DeclGroup(const clang::DeclGroup&)’ is implicitly deleted because the default definition would be ill-formed: 25 | class DeclGroup final : private llvm::TrailingObjects<DeclGroup, Decl *> { | ^~~~~~~~~ /usr/include/clang/AST/DeclGroup.h:25:7: error: use of deleted function ‘llvm::TrailingObjects<BaseTy, TrailingTys>::TrailingObjects(const llvm::TrailingObjects<BaseTy, TrailingTys>&) [with BaseTy = clang::DeclGroup; TrailingTys = {clang::Decl*}]’ In file included from /usr/include/clang/AST/Type.h:48, from /usr/include/clang/AST/DeclarationName.h:16, from /usr/include/clang/AST/DeclBase.h:18, from /usr/include/clang/AST/Decl.h:19, from RewriteUtils.cpp:21: /usr/include/llvm/Support/TrailingObjects.h:332:3: note: declared here 332 | TrailingObjects(const TrailingObjects &) = delete; | ^~~~~~~~~~~~~~~ RewriteUtils.cpp: In member function ‘std::string RewriteUtils::getStmtIndentString(clang::Stmt*, clang::SourceManager*)’: RewriteUtils.cpp:740:72: error: cannot convert ‘const clang::SrcMgr::ContentCache’ to ‘const clang::SrcMgr::ContentCache*’ in initialization 740 | Content = SrcManager->getSLocEntry(FID).getFile().getContentCache(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ | | | const clang::SrcMgr::ContentCache RewriteUtils.cpp:751:10: error: could not convert ‘indentSpace’ from ‘llvm::StringRef’ to ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} 751 | return indentSpace; | ^~~~~~~~~~~ | | | llvm::StringRef make[2]: *** [Makefile:1862: clang_delta-RewriteUtils.o] Error 1 /usr/bin/g++ -DHAVE_CONFIG_H -I. -I.. -I"/usr/include/clang" -I/usr/include -std=c++14 -fno-exceptions -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fno-rtti -fno-exceptions -g -O3 -fno-strict-aliasing -Wall -Wextra -Wno-long-long -Wno-unused-parameter -Wno-missing-field-initializers -c -o clang_delta-SimpleInliner.o `test -f 'SimpleInliner.cpp' || echo './'`SimpleInliner.cpp SimpleInliner.cpp: In member function ‘virtual void SimpleInliner::Initialize(clang::ASTContext&)’: SimpleInliner.cpp:254:28: error: invalid use of incomplete type ‘const class clang::TargetInfo’ 254 | if (context.getTargetInfo().getTriple().isOSWindows()) { | ~~~~~~~~~~~~~~~~~~~~~^~ In file included from /usr/include/clang/AST/DeclCXX.h:22, from /usr/include/clang/AST/RecursiveASTVisitor.h:20, from SimpleInliner.cpp:19: /usr/include/clang/AST/Expr.h:56:9: note: forward declaration of ‘class clang::TargetInfo’ 56 | class TargetInfo; | ^~~~~~~~~~ SimpleInliner.cpp: In member function ‘clang::FunctionDecl* SimpleInliner::getAliaseeFunctionDecl(clang::FunctionDecl*)’: SimpleInliner.cpp:538:43: error: no matching function for call to ‘std::map<std::__cxx11::basic_string<char>, clang::FunctionDecl*>::find(llvm::StringRef&)’ 538 | auto I = MangledNameToFuncDeclMap.find(Aliasee); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ In file included from /usr/include/c++/12/map:61, from /usr/include/clang/Rewrite/Core/Rewriter.h:21, from Transformation.h:19, from SimpleInliner.h:20, from SimpleInliner.cpp:15: /usr/include/c++/12/bits/stl_map.h:1223:9: note: candidate: ‘template<class _Kt> decltype (((std::map<_Key, _Tp, _Compare, _Alloc>*)this)->std::map<_Key, _Tp, _Compare, _Alloc>::_M_t._M_find_tr(__x)) std::map<_Key, _Tp, _Compare, _Alloc>::find(const _Kt&) [with _Key = std::__cxx11::basic_string<char>; _Tp = clang::FunctionDecl*; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*> >]’ 1223 | find(const _Kt& __x) -> decltype(_M_t._M_find_tr(__x)) | ^~~~ /usr/include/c++/12/bits/stl_map.h:1223:9: note: template argument deduction/substitution failed: /usr/include/c++/12/bits/stl_map.h: In substitution of ‘template<class _Kt> decltype (((std::map<std::__cxx11::basic_string<char>, clang::FunctionDecl*>*)this)->std::map<std::__cxx11::basic_string<char>, clang::FunctionDecl*>::_M_t.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*> >, std::less<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*> > >::_M_find_tr(__x)) std::map<std::__cxx11::basic_string<char>, clang::FunctionDecl*>::find(const _Kt&) [with _Kt = llvm::StringRef]’: SimpleInliner.cpp:538:43: required from here /usr/include/c++/12/bits/stl_map.h:1223:57: error: no matching function for call to ‘std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*> >, std::less<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*> > >::_M_find_tr(const llvm::StringRef&)’ 1223 | find(const _Kt& __x) -> decltype(_M_t._M_find_tr(__x)) | ~~~~~~~~~~~~~~~^~~~~ In file included from /usr/include/c++/12/set:60, from /usr/include/llvm/ADT/SmallSet.h:26, from SimpleInliner.h:18: /usr/include/c++/12/bits/stl_tree.h:1294:9: note: candidate: ‘template<class _Kt, class _Req> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_find_tr(const _Kt&) [with _Req = _Kt; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*>; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*> >; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*> >]’ 1294 | _M_find_tr(const _Kt& __k) | ^~~~~~~~~~ /usr/include/c++/12/bits/stl_tree.h:1294:9: note: template argument deduction/substitution failed: In file included from /usr/include/c++/12/string:48, from SimpleInliner.h:14: /usr/include/c++/12/bits/stl_function.h: In substitution of ‘template<class _Func, class _SfinaeType> using __has_is_transparent_t = typename std::__has_is_transparent<_Func, _SfinaeType>::type [with _Func = std::less<std::__cxx11::basic_string<char> >; _SfinaeType = llvm::StringRef]’: /usr/include/c++/12/bits/stl_tree.h:1292:9: required by substitution of ‘template<class _Kt> decltype (((std::map<std::__cxx11::basic_string<char>, clang::FunctionDecl*>*)this)->std::map<std::__cxx11::basic_string<char>, clang::FunctionDecl*>::_M_t.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*> >, std::less<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*> > >::_M_find_tr(__x)) std::map<std::__cxx11::basic_string<char>, clang::FunctionDecl*>::find(const _Kt&) [with _Kt = llvm::StringRef]’ SimpleInliner.cpp:538:43: required from here /usr/include/c++/12/bits/stl_function.h:1430:11: error: no type named ‘type’ in ‘struct std::__has_is_transparent<std::less<std::__cxx11::basic_string<char> >, llvm::StringRef, void>’ 1430 | using __has_is_transparent_t | ^~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/12/bits/stl_map.h: In substitution of ‘template<class _Kt> decltype (((std::map<std::__cxx11::basic_string<char>, clang::FunctionDecl*>*)this)->std::map<std::__cxx11::basic_string<char>, clang::FunctionDecl*>::_M_t.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*> >, std::less<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*> > >::_M_find_tr(__x)) std::map<std::__cxx11::basic_string<char>, clang::FunctionDecl*>::find(const _Kt&) [with _Kt = llvm::StringRef]’: SimpleInliner.cpp:538:43: required from here /usr/include/c++/12/bits/stl_tree.h:1303:9: note: candidate: ‘template<class _Kt, class _Req> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_find_tr(const _Kt&) const [with _Req = _Kt; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*>; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*> >; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*> >]’ 1303 | _M_find_tr(const _Kt& __k) const | ^~~~~~~~~~ /usr/include/c++/12/bits/stl_tree.h:1303:9: note: template argument deduction/substitution failed: /usr/include/c++/12/bits/stl_map.h:1248:9: note: candidate: ‘template<class _Kt> decltype (((const std::map<_Key, _Tp, _Compare, _Alloc>*)this)->std::map<_Key, _Tp, _Compare, _Alloc>::_M_t._M_find_tr(__x)) std::map<_Key, _Tp, _Compare, _Alloc>::find(const _Kt&) const [with _Key = std::__cxx11::basic_string<char>; _Tp = clang::FunctionDecl*; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*> >]’ 1248 | find(const _Kt& __x) const -> decltype(_M_t._M_find_tr(__x)) | ^~~~ /usr/include/c++/12/bits/stl_map.h:1248:9: note: template argument deduction/substitution failed: /usr/include/c++/12/bits/stl_map.h: In substitution of ‘template<class _Kt> decltype (((const std::map<std::__cxx11::basic_string<char>, clang::FunctionDecl*>*)this)->std::map<std::__cxx11::basic_string<char>, clang::FunctionDecl*>::_M_t.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*> >, std::less<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*> > >::_M_find_tr(__x)) std::map<std::__cxx11::basic_string<char>, clang::FunctionDecl*>::find(const _Kt&) const [with _Kt = llvm::StringRef]’: SimpleInliner.cpp:538:43: required from here /usr/include/c++/12/bits/stl_map.h:1248:63: error: no matching function for call to ‘std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*> >, std::less<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*> > >::_M_find_tr(const llvm::StringRef&) const’ 1248 | find(const _Kt& __x) const -> decltype(_M_t._M_find_tr(__x)) | ~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/12/bits/stl_tree.h:1294:9: note: candidate: ‘template<class _Kt, class _Req> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_find_tr(const _Kt&) [with _Req = _Kt; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*>; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*> >; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*> >]’ 1294 | _M_find_tr(const _Kt& __k) | ^~~~~~~~~~ /usr/include/c++/12/bits/stl_tree.h:1294:9: note: template argument deduction/substitution failed: /usr/include/c++/12/bits/stl_tree.h:1303:9: note: candidate: ‘template<class _Kt, class _Req> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_find_tr(const _Kt&) const [with _Req = _Kt; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*>; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*> >; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*> >]’ 1303 | _M_find_tr(const _Kt& __k) const | ^~~~~~~~~~ /usr/include/c++/12/bits/stl_tree.h:1303:9: note: template argument deduction/substitution failed: /usr/include/c++/12/bits/stl_map.h:1217:7: note: candidate: ‘std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::find(const key_type&) [with _Key = std::__cxx11::basic_string<char>; _Tp = clang::FunctionDecl*; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*> >; iterator = std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*> >, std::less<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*> > >::iterator; key_type = std::__cxx11::basic_string<char>]’ 1217 | find(const key_type& __x) | ^~~~ /usr/include/c++/12/bits/stl_map.h:1217:28: note: no known conversion for argument 1 from ‘llvm::StringRef’ to ‘const std::map<std::__cxx11::basic_string<char>, clang::FunctionDecl*>::key_type&’ {aka ‘const std::__cxx11::basic_string<char>&’} 1217 | find(const key_type& __x) | ~~~~~~~~~~~~~~~~^~~ /usr/include/c++/12/bits/stl_map.h:1242:7: note: candidate: ‘std::map<_Key, _Tp, _Compare, _Alloc>::const_iterator std::map<_Key, _Tp, _Compare, _Alloc>::find(const key_type&) const [with _Key = std::__cxx11::basic_string<char>; _Tp = clang::FunctionDecl*; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*> >; const_iterator = std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*> >, std::less<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, clang::FunctionDecl*> > >::const_iterator; key_type = std::__cxx11::basic_string<char>]’ 1242 | find(const key_type& __x) const | ^~~~ /usr/include/c++/12/bits/stl_map.h:1242:28: note: no known conversion for argument 1 from ‘llvm::StringRef’ to ‘const std::map<std::__cxx11::basic_string<char>, clang::FunctionDecl*>::key_type&’ {aka ‘const std::__cxx11::basic_string<char>&’} 1242 | find(const key_type& __x) const | ~~~~~~~~~~~~~~~~^~~ make[2]: *** [Makefile:1876: clang_delta-SimpleInliner.o] Error 1 /usr/bin/g++ -DHAVE_CONFIG_H -I. -I.. -I"/usr/include/clang" -I/usr/include -std=c++14 -fno-exceptions -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fno-rtti -fno-exceptions -g -O3 -fno-strict-aliasing -Wall -Wextra -Wno-long-long -Wno-unused-parameter -Wno-missing-field-initializers -c -o clang_delta-TemplateNonTypeArgToInt.o `test -f 'TemplateNonTypeArgToInt.cpp' || echo './'`TemplateNonTypeArgToInt.cpp TemplateNonTypeArgToInt.cpp: In member function ‘void TemplateNonTypeArgToInt::handleOneTemplateArgumentLoc(const clang::TemplateArgumentLoc&)’: TemplateNonTypeArgToInt.cpp:170:32: error: no matching function for call to ‘llvm::APSInt::toString(int)’ 170 | IntString = IVal.toString(10); | ~~~~~~~~~~~~~^~~~ In file included from /usr/include/llvm/ADT/APFixedPoint.h:19, from /usr/include/clang/AST/APValue.h:17, from /usr/include/clang/AST/Decl.h:16, from /usr/include/clang/AST/Attr.h:18, from /usr/include/clang/AST/RecursiveASTVisitor.h:16, from TemplateNonTypeArgToInt.cpp:17: /usr/include/llvm/ADT/APSInt.h:83:8: note: candidate: ‘void llvm::APSInt::toString(llvm::SmallVectorImpl<char>&, unsigned int) const’ 83 | void toString(SmallVectorImpl<char> &Str, unsigned Radix = 10) const { | ^~~~~~~~ /usr/include/llvm/ADT/APSInt.h:83:40: note: no known conversion for argument 1 from ‘int’ to ‘llvm::SmallVectorImpl<char>&’ 83 | void toString(SmallVectorImpl<char> &Str, unsigned Radix = 10) const { | ~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from /usr/include/llvm/ADT/APSInt.h:18: /usr/include/llvm/ADT/APInt.h:1580:8: note: candidate: ‘void llvm::APInt::toString(llvm::SmallVectorImpl<char>&, unsigned int, bool, bool) const’ 1580 | void toString(SmallVectorImpl<char> &Str, unsigned Radix, bool Signed, | ^~~~~~~~ /usr/include/llvm/ADT/APInt.h:1580:8: note: candidate expects 4 arguments, 1 provided make[2]: *** [Makefile:2016: clang_delta-TemplateNonTypeArgToInt.o] Error 1 /usr/bin/g++ -DHAVE_CONFIG_H -I. -I.. -I"/usr/include/clang" -I/usr/include -std=c++14 -fno-exceptions -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fno-rtti -fno-exceptions -g -O3 -fno-strict-aliasing -Wall -Wextra -Wno-long-long -Wno-unused-parameter -Wno-missing-field-initializers -c -o clang_delta-Transformation.o `test -f 'Transformation.cpp' || echo './'`Transformation.cpp Transformation.cpp: In member function ‘void Transformation::outputOriginalSource(llvm::raw_ostream&)’: Transformation.cpp:109:51: error: ‘class clang::SourceManager’ has no member named ‘getBuffer’; did you mean ‘getBufferData’? 109 | const llvm::MemoryBuffer *MainBuf = SrcManager->getBuffer(MainFileID); | ^~~~~~~~~ | getBufferData Transformation.cpp: In member function ‘unsigned int Transformation::getConstArraySize(const clang::ConstantArrayType*)’: Transformation.cpp:362:39: error: no matching function for call to ‘std::__cxx11::basic_stringstream<char>::basic_stringstream(llvm::StringRef)’ 362 | std::stringstream TmpSS(IntStr.str()); | ^ In file included from Transformation.cpp:17: /usr/include/c++/12/sstream:1059:7: note: candidate: ‘std::__cxx11::basic_stringstream<_CharT, _Traits, _Alloc>::basic_stringstream(std::__cxx11::basic_stringstream<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ 1059 | basic_stringstream(basic_stringstream&& __rhs) | ^~~~~~~~~~~~~~~~~~ /usr/include/c++/12/sstream:1059:47: note: no known conversion for argument 1 from ‘llvm::StringRef’ to ‘std::__cxx11::basic_stringstream<char>&&’ 1059 | basic_stringstream(basic_stringstream&& __rhs) | ~~~~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/12/sstream:1042:7: note: candidate: ‘std::__cxx11::basic_stringstream<_CharT, _Traits, _Alloc>::basic_stringstream(const __string_type&, std::ios_base::openmode) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; __string_type = std::__cxx11::basic_string<char>; std::ios_base::openmode = std::ios_base::openmode]’ 1042 | basic_stringstream(const __string_type& __str, | ^~~~~~~~~~~~~~~~~~ /usr/include/c++/12/sstream:1042:47: note: no known conversion for argument 1 from ‘llvm::StringRef’ to ‘const std::__cxx11::basic_stringstream<char>::__string_type&’ {aka ‘const std::__cxx11::basic_string<char>&’} 1042 | basic_stringstream(const __string_type& __str, | ~~~~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/12/sstream:1026:7: note: candidate: ‘std::__cxx11::basic_stringstream<_CharT, _Traits, _Alloc>::basic_stringstream(std::ios_base::openmode) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::ios_base::openmode = std::ios_base::openmode]’ 1026 | basic_stringstream(ios_base::openmode __m) | ^~~~~~~~~~~~~~~~~~ /usr/include/c++/12/sstream:1026:45: note: no known conversion for argument 1 from ‘llvm::StringRef’ to ‘std::ios_base::openmode’ 1026 | basic_stringstream(ios_base::openmode __m) | ~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/12/sstream:1011:7: note: candidate: ‘std::__cxx11::basic_stringstream<_CharT, _Traits, _Alloc>::basic_stringstream() [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ 1011 | basic_stringstream() | ^~~~~~~~~~~~~~~~~~ /usr/include/c++/12/sstream:1011:7: note: candidate expects 0 arguments, 1 provided Transformation.cpp: In member function ‘const clang::Expr* Transformation::getBaseExprAndIdxs(const clang::Expr*, IndexVector&)’: Transformation.cpp:400:43: error: no matching function for call to ‘llvm::APSInt::toString(int)’ 400 | std::string IntStr = IVal.toString(10); | ~~~~~~~~~~~~~^~~~ In file included from /usr/include/llvm/ADT/APFixedPoint.h:19, from /usr/include/clang/AST/APValue.h:17, from /usr/include/clang/AST/Decl.h:16, from /usr/include/clang/AST/Attr.h:18, from /usr/include/clang/AST/RecursiveASTVisitor.h:16, from Transformation.cpp:19: /usr/include/llvm/ADT/APSInt.h:83:8: note: candidate: ‘void llvm::APSInt::toString(llvm::SmallVectorImpl<char>&, unsigned int) const’ 83 | void toString(SmallVectorImpl<char> &Str, unsigned Radix = 10) const { | ^~~~~~~~ /usr/include/llvm/ADT/APSInt.h:83:40: note: no known conversion for argument 1 from ‘int’ to ‘llvm::SmallVectorImpl<char>&’ 83 | void toString(SmallVectorImpl<char> &Str, unsigned Radix = 10) const { | ~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from /usr/include/llvm/ADT/APSInt.h:18: /usr/include/llvm/ADT/APInt.h:1580:8: note: candidate: ‘void llvm::APInt::toString(llvm::SmallVectorImpl<char>&, unsigned int, bool, bool) const’ 1580 | void toString(SmallVectorImpl<char> &Str, unsigned Radix, bool Signed, | ^~~~~~~~ /usr/include/llvm/ADT/APInt.h:1580:8: note: candidate expects 4 arguments, 1 provided make[2]: *** [Makefile:2030: clang_delta-Transformation.o] Error 1 /usr/bin/g++ -DHAVE_CONFIG_H -I. -I.. -I"/usr/include/clang" -I/usr/include -std=c++14 -fno-exceptions -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fno-rtti -fno-exceptions -g -O3 -fno-strict-aliasing -Wall -Wextra -Wno-long-long -Wno-unused-parameter -Wno-missing-field-initializers -c -o clang_delta-TransformationManager.o `test -f 'TransformationManager.cpp' || echo './'`TransformationManager.cpp TransformationManager.cpp: In member function ‘bool TransformationManager::initializeCompilerInstance(std::string&)’: TransformationManager.cpp:104:38: error: ‘C’ is not a member of ‘clang::InputKind’ 104 | if (IK.getLanguage() == InputKind::C) { | ^ TransformationManager.cpp:105:73: error: ‘C’ is not a member of ‘clang::InputKind’ 105 | Invocation.setLangDefaults(ClangInstance->getLangOpts(), InputKind::C, T, PPOpts); | ^ TransformationManager.cpp:107:43: error: ‘CXX’ is not a member of ‘clang::InputKind’ 107 | else if (IK.getLanguage() == InputKind::CXX) { | ^~~ TransformationManager.cpp:111:73: error: ‘CXX’ is not a member of ‘clang::InputKind’ 111 | Invocation.setLangDefaults(ClangInstance->getLangOpts(), InputKind::CXX, T, PPOpts); | ^~~ TransformationManager.cpp:113:42: error: ‘OpenCL’ is not a member of ‘clang::InputKind’ 113 | else if(IK.getLanguage() == InputKind::OpenCL) { | ^~~~~~ TransformationManager.cpp:125:69: error: no match for ‘operator!=’ (operand types are ‘llvm::ErrorOr<const clang::DirectoryEntry*>’ and ‘long int’) 125 | ClangInstance->getFileManager().getDirectory(CLCPath, false) != NULL) { | ^ TransformationManager.cpp:125:69: note: candidate: ‘operator!=(int, long int)’ (built-in) TransformationManager.cpp:125:69: note: no known conversion for argument 1 from ‘llvm::ErrorOr<const clang::DirectoryEntry*>’ to ‘int’ In file included from /usr/include/llvm/Support/raw_ostream.h:18, from TransformationManager.h:18, from TransformationManager.cpp:15: /usr/include/llvm/ADT/Optional.h:341:16: note: candidate: ‘template<class T, class U> constexpr bool llvm::operator!=(const Optional<T>&, const Optional<U>&)’ 341 | constexpr bool operator!=(const Optional<T> &X, const Optional<U> &Y) { | ^~~~~~~~ /usr/include/llvm/ADT/Optional.h:341:16: note: template argument deduction/substitution failed: In file included from /usr/include/strings.h:23, from /usr/include/string.h:462, from /usr/include/c++/12/cstring:42, from /usr/include/llvm/ADT/SmallVector.h:23, from /usr/include/llvm/Support/raw_ostream.h:16: TransformationManager.cpp:125:72: note: ‘llvm::ErrorOr<const clang::DirectoryEntry*>’ is not derived from ‘const llvm::Optional<T>’ 125 | ClangInstance->getFileManager().getDirectory(CLCPath, false) != NULL) { | ^~~~ /usr/include/llvm/ADT/Optional.h:378:16: note: candidate: ‘template<class T> constexpr bool llvm::operator!=(const Optional<T>&, NoneType)’ 378 | constexpr bool operator!=(const Optional<T> &X, NoneType) { | ^~~~~~~~ /usr/include/llvm/ADT/Optional.h:378:16: note: template argument deduction/substitution failed: TransformationManager.cpp:125:72: note: ‘llvm::ErrorOr<const clang::DirectoryEntry*>’ is not derived from ‘const llvm::Optional<T>’ 125 | ClangInstance->getFileManager().getDirectory(CLCPath, false) != NULL) { | ^~~~ /usr/include/llvm/ADT/Optional.h:383:16: note: candidate: ‘template<class T> constexpr bool llvm::operator!=(NoneType, const Optional<T>&)’ 383 | constexpr bool operator!=(NoneType, const Optional<T> &X) { | ^~~~~~~~ /usr/include/llvm/ADT/Optional.h:383:16: note: template argument deduction/substitution failed: TransformationManager.cpp:125:72: note: mismatched types ‘const llvm::Optional<T>’ and ‘long int’ 125 | ClangInstance->getFileManager().getDirectory(CLCPath, false) != NULL) { | ^~~~ /usr/include/llvm/ADT/Optional.h:434:16: note: candidate: ‘template<class T> constexpr bool llvm::operator!=(const Optional<T>&, const T&)’ 434 | constexpr bool operator!=(const Optional<T> &X, const T &Y) { | ^~~~~~~~ /usr/include/llvm/ADT/Optional.h:434:16: note: template argument deduction/substitution failed: TransformationManager.cpp:125:72: note: ‘llvm::ErrorOr<const clang::DirectoryEntry*>’ is not derived from ‘const llvm::Optional<T>’ 125 | ClangInstance->getFileManager().getDirectory(CLCPath, false) != NULL) { | ^~~~ /usr/include/llvm/ADT/Optional.h:439:16: note: candidate: ‘template<class T> constexpr bool llvm::operator!=(const T&, const Optional<T>&)’ 439 | constexpr bool operator!=(const T &X, const Optional<T> &Y) { | ^~~~~~~~ /usr/include/llvm/ADT/Optional.h:439:16: note: template argument deduction/substitution failed: TransformationManager.cpp:125:72: note: mismatched types ‘const llvm::Optional<T>’ and ‘long int’ 125 | ClangInstance->getFileManager().getDirectory(CLCPath, false) != NULL) { | ^~~~ In file included from /usr/include/clang/Basic/DiagnosticIDs.h:18, from /usr/include/clang/Basic/Diagnostic.h:17, from TransformationManager.cpp:19: /usr/include/llvm/ADT/IntrusiveRefCntPtr.h:237:13: note: candidate: ‘template<class T, class U> bool llvm::operator!=(const IntrusiveRefCntPtr<T>&, const IntrusiveRefCntPtr<U>&)’ 237 | inline bool operator!=(const IntrusiveRefCntPtr<T> &A, | ^~~~~~~~ /usr/include/llvm/ADT/IntrusiveRefCntPtr.h:237:13: note: template argument deduction/substitution failed: TransformationManager.cpp:125:72: note: ‘llvm::ErrorOr<const clang::DirectoryEntry*>’ is not derived from ‘const llvm::IntrusiveRefCntPtr<T>’ 125 | ClangInstance->getFileManager().getDirectory(CLCPath, false) != NULL) { | ^~~~ /usr/include/llvm/ADT/IntrusiveRefCntPtr.h:248:13: note: candidate: ‘template<class T, class U> bool llvm::operator!=(const IntrusiveRefCntPtr<T>&, U*)’ 248 | inline bool operator!=(const IntrusiveRefCntPtr<T> &A, U *B) { | ^~~~~~~~ /usr/include/llvm/ADT/IntrusiveRefCntPtr.h:248:13: note: template argument deduction/substitution failed: TransformationManager.cpp:125:72: note: ‘llvm::ErrorOr<const clang::DirectoryEntry*>’ is not derived from ‘const llvm::IntrusiveRefCntPtr<T>’ 125 | ClangInstance->getFileManager().getDirectory(CLCPath, false) != NULL) { | ^~~~ /usr/include/llvm/ADT/IntrusiveRefCntPtr.h:258:13: note: candidate: ‘template<class T, class U> bool llvm::operator!=(T*, const IntrusiveRefCntPtr<U>&)’ 258 | inline bool operator!=(T *A, const IntrusiveRefCntPtr<U> &B) { | ^~~~~~~~ /usr/include/llvm/ADT/IntrusiveRefCntPtr.h:258:13: note: template argument deduction/substitution failed: TransformationManager.cpp:125:72: note: mismatched types ‘T*’ and ‘llvm::ErrorOr<const clang::DirectoryEntry*>’ 125 | ClangInstance->getFileManager().getDirectory(CLCPath, false) != NULL) { | ^~~~ /usr/include/llvm/ADT/IntrusiveRefCntPtr.h:273:6: note: candidate: ‘template<class T> bool llvm::operator!=(std::nullptr_t, const IntrusiveRefCntPtr<T>&)’ 273 | bool operator!=(std::nullptr_t A, const IntrusiveRefCntPtr<T> &B) { | ^~~~~~~~ /usr/include/llvm/ADT/IntrusiveRefCntPtr.h:273:6: note: template argument deduction/substitution failed: TransformationManager.cpp:125:72: note: mismatched types ‘const llvm::IntrusiveRefCntPtr<T>’ and ‘long int’ 125 | ClangInstance->getFileManager().getDirectory(CLCPath, false) != NULL) { | ^~~~ /usr/include/llvm/ADT/IntrusiveRefCntPtr.h:278:6: note: candidate: ‘template<class T> bool llvm::operator!=(const IntrusiveRefCntPtr<T>&, std::nullptr_t)’ 278 | bool operator!=(const IntrusiveRefCntPtr<T> &A, std::nullptr_t B) { | ^~~~~~~~ /usr/include/llvm/ADT/IntrusiveRefCntPtr.h:278:6: note: template argument deduction/substitution failed: TransformationManager.cpp:125:72: note: ‘llvm::ErrorOr<const clang::DirectoryEntry*>’ is not derived from ‘const llvm::IntrusiveRefCntPtr<T>’ 125 | ClangInstance->getFileManager().getDirectory(CLCPath, false) != NULL) { | ^~~~ In file included from /usr/include/clang/Basic/Diagnostic.h:21: /usr/include/llvm/ADT/ArrayRef.h:557:15: note: candidate: ‘template<class T> bool llvm::operator!=(ArrayRef<T>, ArrayRef<T>)’ 557 | inline bool operator!=(ArrayRef<T> LHS, ArrayRef<T> RHS) { | ^~~~~~~~ /usr/include/llvm/ADT/ArrayRef.h:557:15: note: template argument deduction/substitution failed: TransformationManager.cpp:125:72: note: ‘llvm::ErrorOr<const clang::DirectoryEntry*>’ is not derived from ‘llvm::ArrayRef<T>’ 125 | ClangInstance->getFileManager().getDirectory(CLCPath, false) != NULL) { | ^~~~ /usr/include/llvm/ADT/ArrayRef.h:562:15: note: candidate: ‘template<class T> bool llvm::operator!=(SmallVectorImpl<T>&, ArrayRef<T>)’ 562 | inline bool operator!=(SmallVectorImpl<T> &LHS, ArrayRef<T> RHS) { | ^~~~~~~~ /usr/include/llvm/ADT/ArrayRef.h:562:15: note: template argument deduction/substitution failed: TransformationManager.cpp:125:72: note: ‘llvm::ErrorOr<const clang::DirectoryEntry*>’ is not derived from ‘llvm::SmallVectorImpl<T>’ 125 | ClangInstance->getFileManager().getDirectory(CLCPath, false) != NULL) { | ^~~~ In file included from /usr/include/clang/Basic/Diagnostic.h:22: /usr/include/llvm/ADT/DenseMap.h:706:6: note: candidate: ‘template<class DerivedT, class KeyT, class ValueT, class KeyInfoT, class BucketT> bool llvm::operator!=(const DenseMapBase<DerivedT, KeyT, ValueT, KeyInfoT, BucketT>&, const DenseMapBase<DerivedT, KeyT, ValueT, KeyInfoT, BucketT>&)’ 706 | bool operator!=( | ^~~~~~~~ /usr/include/llvm/ADT/DenseMap.h:706:6: note: template argument deduction/substitution failed: TransformationManager.cpp:125:72: note: ‘llvm::ErrorOr<const clang::DirectoryEntry*>’ is not derived from ‘const llvm::DenseMapBase<DerivedT, KeyT, ValueT, KeyInfoT, BucketT>’ 125 | ClangInstance->getFileManager().getDirectory(CLCPath, false) != NULL) { | ^~~~ In file included from /usr/include/llvm/ADT/SmallSet.h:18, from /usr/include/clang/Basic/TargetInfo.h:29, from TransformationManager.cpp:20: /usr/include/llvm/ADT/SmallPtrSet.h:440:6: note: candidate: ‘template<class PtrType> bool llvm::operator!=(const SmallPtrSetImpl<PtrType>&, const SmallPtrSetImpl<PtrType>&)’ 440 | bool operator!=(const SmallPtrSetImpl<PtrType> &LHS, | ^~~~~~~~ /usr/include/llvm/ADT/SmallPtrSet.h:440:6: note: template argument deduction/substitution failed: TransformationManager.cpp:125:72: note: ‘llvm::ErrorOr<const clang::DirectoryEntry*>’ is not derived from ‘const llvm::SmallPtrSetImpl<PtrType>’ 125 | ClangInstance->getFileManager().getDirectory(CLCPath, false) != NULL) { | ^~~~ /usr/include/llvm/ADT/SmallSet.h:281:6: note: candidate: ‘template<class T, unsigned int LN, unsigned int RN, class C> bool llvm::operator!=(const SmallSet<T, LN, C>&, const SmallSet<T, RN, C>&)’ 281 | bool operator!=(const SmallSet<T, LN, C> &LHS, const SmallSet<T, RN, C> &RHS) { | ^~~~~~~~ /usr/include/llvm/ADT/SmallSet.h:281:6: note: template argument deduction/substitution failed: TransformationManager.cpp:125:72: note: ‘llvm::ErrorOr<const clang::DirectoryEntry*>’ is not derived from ‘const llvm::SmallSet<T, LN, C>’ 125 | ClangInstance->getFileManager().getDirectory(CLCPath, false) != NULL) { | ^~~~ In file included from /usr/include/clang/Basic/FileEntry.h:21, from /usr/include/clang/Basic/Module.h:19, from /usr/include/clang/Lex/Preprocessor.h:22, from TransformationManager.cpp:21: /usr/include/llvm/ADT/PointerUnion.h:199:6: note: candidate: ‘template<class ... PTs> bool llvm::operator!=(PointerUnion<PTs ...>, PointerUnion<PTs ...>)’ 199 | bool operator!=(PointerUnion<PTs...> lhs, PointerUnion<PTs...> rhs) { | ^~~~~~~~ /usr/include/llvm/ADT/PointerUnion.h:199:6: note: template argument deduction/substitution failed: TransformationManager.cpp:125:72: note: ‘llvm::ErrorOr<const clang::DirectoryEntry*>’ is not derived from ‘llvm::PointerUnion<PTs ...>’ 125 | ClangInstance->getFileManager().getDirectory(CLCPath, false) != NULL) { | ^~~~ In file included from /usr/include/clang/Basic/Diagnostic.h:19: /usr/include/clang/Basic/SourceLocation.h:190:13: note: candidate: ‘bool clang::operator!=(const SourceLocation&, const SourceLocation&)’ 190 | inline bool operator!=(const SourceLocation &LHS, const SourceLocation &RHS) { | ^~~~~~~~ /usr/include/clang/Basic/SourceLocation.h:190:46: note: no known conversion for argument 1 from ‘llvm::ErrorOr<const clang::DirectoryEntry*>’ to ‘const clang::SourceLocation&’ 190 | inline bool operator!=(const SourceLocation &LHS, const SourceLocation &RHS) { | ~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from /usr/include/llvm/Support/raw_ostream.h:17: /usr/include/llvm/ADT/StringRef.h:942:15: note: candidate: ‘bool llvm::operator!=(StringRef, StringRef)’ 942 | inline bool operator!=(StringRef LHS, StringRef RHS) { return !(LHS == RHS); } | ^~~~~~~~ /usr/include/llvm/ADT/StringRef.h:942:36: note: no known conversion for argument 1 from ‘llvm::ErrorOr<const clang::DirectoryEntry*>’ to ‘llvm::StringRef’ 942 | inline bool operator!=(StringRef LHS, StringRef RHS) { return !(LHS == RHS); } | ~~~~~~~~~~^~~ In file included from /usr/include/llvm/ADT/APFloat.h:18, from /usr/include/clang/Basic/TargetInfo.h:24: /usr/include/llvm/ADT/APInt.h:1988:13: note: candidate: ‘bool llvm::operator!=(uint64_t, const APInt&)’ 1988 | inline bool operator!=(uint64_t V1, const APInt &V2) { return V2 != V1; } | ^~~~~~~~ /usr/include/llvm/ADT/APInt.h:1988:33: note: no known conversion for argument 1 from ‘llvm::ErrorOr<const clang::DirectoryEntry*>’ to ‘uint64_t’ {aka ‘long unsigned int’} 1988 | inline bool operator!=(uint64_t V1, const APInt &V2) { return V2 != V1; } | ~~~~~~~~~^~ In file included from /usr/include/llvm/ADT/StringExtras.h:17, from /usr/include/llvm/Support/Error.h:18, from /usr/include/clang/Basic/TargetInfo.h:35: /usr/include/llvm/ADT/APSInt.h:336:13: note: candidate: ‘bool llvm::operator!=(int64_t, const APSInt&)’ 336 | inline bool operator!=(int64_t V1, const APSInt &V2) { return V2 != V1; } | ^~~~~~~~ /usr/include/llvm/ADT/APSInt.h:336:32: note: no known conversion for argument 1 from ‘llvm::ErrorOr<const clang::DirectoryEntry*>’ to ‘int64_t’ {aka ‘long int’} 336 | inline bool operator!=(int64_t V1, const APSInt &V2) { return V2 != V1; } | ~~~~~~~~^~ In file included from /usr/include/llvm/Support/Allocator.h:22, from /usr/include/clang/Basic/IdentifierTable.h:24, from /usr/include/clang/Lex/Preprocessor.h:19: /usr/include/llvm/Support/Alignment.h:252:13: note: candidate: ‘bool llvm::operator!=(Align, uint64_t)’ 252 | inline bool operator!=(Align Lhs, uint64_t Rhs) { | ^~~~~~~~ /usr/include/llvm/Support/Alignment.h:252:30: note: no known conversion for argument 1 from ‘llvm::ErrorOr<const clang::DirectoryEntry*>’ to ‘llvm::Align’ 252 | inline bool operator!=(Align Lhs, uint64_t Rhs) { | ~~~~~~^~~ /usr/include/llvm/Support/Alignment.h:277:13: note: candidate: ‘bool llvm::operator!=(MaybeAlign, uint64_t)’ 277 | inline bool operator!=(MaybeAlign Lhs, uint64_t Rhs) { | ^~~~~~~~ /usr/include/llvm/Support/Alignment.h:277:35: note: no known conversion for argument 1 from ‘llvm::ErrorOr<const clang::DirectoryEntry*>’ to ‘llvm::MaybeAlign’ 277 | inline bool operator!=(MaybeAlign Lhs, uint64_t Rhs) { | ~~~~~~~~~~~^~~ /usr/include/llvm/Support/Alignment.h:285:13: note: candidate: ‘bool llvm::operator!=(Align, Align)’ 285 | inline bool operator!=(Align Lhs, Align Rhs) { | ^~~~~~~~ /usr/include/llvm/Support/Alignment.h:285:30: note: no known conversion for argument 1 from ‘llvm::ErrorOr<const clang::DirectoryEntry*>’ to ‘llvm::Align’ 285 | inline bool operator!=(Align Lhs, Align Rhs) { | ~~~~~~^~~ TransformationManager.cpp:135:40: error: cannot convert ‘const char**’ to ‘llvm::ArrayRef<const char*>’ 135 | &Args[0], &Args[0] + Args.size(), In file included from /usr/include/clang/Frontend/CompilerInstance.h:15, from TransformationManager.cpp:22: /usr/include/clang/Frontend/CompilerInvocation.h:208:53: note: initializing argument 2 of ‘static bool clang::CompilerInvocation::CreateFromArgs(clang::CompilerInvocation&, llvm::ArrayRef<const char*>, clang::DiagnosticsEngine&, const char*)’ 208 | ArrayRef<const char *> CommandLineArgs, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ TransformationManager.cpp:138:43: error: ‘OpenCL’ is not a member of ‘clang::InputKind’ 138 | InputKind::OpenCL, T, PPOpts); | ^~~~~~ TransformationManager.cpp:187:20: error: invalid use of incomplete type ‘class clang::Builtin::Context’ 187 | PP.getBuiltinInfo().initializeBuiltins(PP.getIdentifierTable(), | ~~~~~~~~~~~~~~~~~^~ /usr/include/clang/Lex/Preprocessor.h:86:7: note: forward declaration of ‘class clang::Builtin::Context’ 86 | class Context; | ^~~~~~~ make[2]: *** [Makefile:2044: clang_delta-TransformationManager.o] Error 1 make[2]: Target 'all' not remade because of errors. make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/creduce-creduce-2.10.0/clang_delta' Making all in clex make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/creduce-creduce-2.10.0/clex' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/creduce-creduce-2.10.0/clex' Making all in creduce make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/creduce-creduce-2.10.0/creduce' for pm in creduce_regexes.pm creduce_utils.pm pass_balanced.pm pass_blank.pm pass_clang.pm pass_clang_binsrch.pm pass_clex.pm pass_comments.pm pass_ifs.pm pass_include_includes.pm pass_includes.pm pass_indent.pm pass_ints.pm pass_line_markers.pm pass_lines.pm pass_peep.pm pass_special.pm pass_ternary.pm pass_unifdef.pm; do \ test -e "$pm" || ln -s "./$pm" "$pm"; \ done make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/creduce-creduce-2.10.0/creduce' Making all in delta make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/creduce-creduce-2.10.0/delta' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/creduce-creduce-2.10.0/delta' Making all in scripts make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/creduce-creduce-2.10.0/scripts' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/creduce-creduce-2.10.0/scripts' Making all in tests make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/creduce-creduce-2.10.0/tests' for f in run_tests test0.bat test0.sh test1.sh test2.sh test3.sh test4.sh test5.sh test6.sh test7.sh file1.c file2.c file3.c; do \ test -e "$f" || ln -s "./$f" "$f"; \ done make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/creduce-creduce-2.10.0/tests' Making all in unifdef make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/creduce-creduce-2.10.0/unifdef' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/creduce-creduce-2.10.0/unifdef' make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/creduce-creduce-2.10.0' make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/creduce-creduce-2.10.0' make[1]: *** [Makefile:448: all-recursive] Error 1 make[1]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/creduce-creduce-2.10.0' make: *** [Makefile:380: all] Error 2
You'll need https://github.com/marxin/cvise/commit/301d78862074f02cea44b652d66982dfe20e650e and likely other commits I have in C-Vise.
Yeah .. looks like current code is not gcc 12.x ready