$ make -j32
[ 1%] Building CXX object CMakeFiles/dffi.dir/lib/dffi_llvm_wrapper.cpp.o
[ 3%] Building CXX object CMakeFiles/dffi.dir/lib/dffi_impl_clang.cpp.o
[ 4%] Building CXX object CMakeFiles/dffi.dir/lib/dffi_impl.cpp.o
/home/oceanfish81/dragonffi/dragonffi/lib/dffi_llvm_wrapper.cpp:34:42: error: cannot initialize a parameter of type 'llvm::CloneFunctionChangeType' with an rvalue of type 'bool'
llvm::CloneFunctionInto(NewF, F, VMap, true, Returns);
^~~~
/usr/local/include/llvm/Transforms/Utils/Cloning.h:159:73: note: passing argument to parameter 'Changes' here
ValueToValueMapTy &VMap, CloneFunctionChangeType Changes,
^
/home/oceanfish81/dragonffi/dragonffi/lib/dffi_impl_clang.cpp:94:8: warning: comparison of different enumeration types in switch statement ('clang::CallingConv' and 'dffi::CallingConv') [-Wenum-compare-switch]
case CC_PreserveAll:
^~~~~~
/home/oceanfish81/dragonffi/dragonffi/lib/dffi_impl_clang.cpp:91:8: warning: comparison of different enumeration types in switch statement ('clang::CallingConv' and 'dffi::CallingConv') [-Wenum-compare-switch]
case CC_PreserveMost:
^~~~~~~
/home/oceanfish81/dragonffi/dragonffi/lib/dffi_impl_clang.cpp:88:8: warning: comparison of different enumeration types in switch statement ('clang::CallingConv' and 'dffi::CallingConv') [-Wenum-compare-switch]
case CC_Swift:
^~~~
/home/oceanfish81/dragonffi/dragonffi/lib/dffi_impl_clang.cpp:85:8: warning: comparison of different enumeration types in switch statement ('clang::CallingConv' and 'dffi::CallingConv') [-Wenum-compare-switch]
case CC_OpenCLKernel:
^~~~~~~
/home/oceanfish81/dragonffi/dragonffi/lib/dffi_impl_clang.cpp:84:8: warning: comparison of different enumeration types in switch statement ('clang::CallingConv' and 'dffi::CallingConv') [-Wenum-compare-switch]
case CC_SpirFunction:
^~~~~~~
/home/oceanfish81/dragonffi/dragonffi/lib/dffi_impl_clang.cpp:81:8: warning: comparison of different enumeration types in switch statement ('clang::CallingConv' and 'dffi::CallingConv') [-Wenum-compare-switch]
case CC_X86RegCall:
^~~~~
/home/oceanfish81/dragonffi/dragonffi/lib/dffi_impl_clang.cpp:78:8: warning: comparison of different enumeration types in switch statement ('clang::CallingConv' and 'dffi::CallingConv') [-Wenum-compare-switch]
case CC_X86_64SysV:
^~~~~
/home/oceanfish81/dragonffi/dragonffi/lib/dffi_impl_clang.cpp:75:8: warning: comparison of different enumeration types in switch statement ('clang::CallingConv' and 'dffi::CallingConv') [-Wenum-compare-switch]
case CC_Win64:
^~~~
/home/oceanfish81/dragonffi/dragonffi/lib/dffi_impl_clang.cpp:72:8: warning: comparison of different enumeration types in switch statement ('clang::CallingConv' and 'dffi::CallingConv') [-Wenum-compare-switch]
case CC_IntelOclBicc:
^~~~~~~
/home/oceanfish81/dragonffi/dragonffi/lib/dffi_impl_clang.cpp:69:8: warning: comparison of different enumeration types in switch statement ('clang::CallingConv' and 'dffi::CallingConv') [-Wenum-compare-switch]
case CC_AAPCS_VFP:
^~~~
/home/oceanfish81/dragonffi/dragonffi/lib/dffi_impl_clang.cpp:66:8: warning: comparison of different enumeration types in switch statement ('clang::CallingConv' and 'dffi::CallingConv') [-Wenum-compare-switch]
case CC_AAPCS:
^~~~
/home/oceanfish81/dragonffi/dragonffi/lib/dffi_impl_clang.cpp:63:8: warning: comparison of different enumeration types in switch statement ('clang::CallingConv' and 'dffi::CallingConv') [-Wenum-compare-switch]
case CC_X86Pascal:
^~~~
/home/oceanfish81/dragonffi/dragonffi/lib/dffi_impl_clang.cpp:60:8: warning: comparison of different enumeration types in switch statement ('clang::CallingConv' and 'dffi::CallingConv') [-Wenum-compare-switch]
case CC_X86VectorCall:
^~~~
/home/oceanfish81/dragonffi/dragonffi/lib/dffi_impl_clang.cpp:57:8: warning: comparison of different enumeration types in switch statement ('clang::CallingConv' and 'dffi::CallingConv') [-Wenum-compare-switch]
case CC_X86ThisCall:
^~~~~~
/home/oceanfish81/dragonffi/dragonffi/lib/dffi_impl_clang.cpp:54:8: warning: comparison of different enumeration types in switch statement ('clang::CallingConv' and 'dffi::CallingConv') [-Wenum-compare-switch]
case CC_X86FastCall:
^~~~~~
/home/oceanfish81/dragonffi/dragonffi/lib/dffi_impl_clang.cpp:51:8: warning: comparison of different enumeration types in switch statement ('clang::CallingConv' and 'dffi::CallingConv') [-Wenum-compare-switch]
case CC_X86StdCall:
^~~~~
/home/oceanfish81/dragonffi/dragonffi/lib/dffi_impl_clang.cpp:42:8: warning: comparison of different enumeration types in switch statement ('clang::CallingConv' and 'dffi::CallingConv') [-Wenum-compare-switch]
case CC_C:
^~~~
/home/oceanfish81/dragonffi/dragonffi/lib/dffi_impl_clang.cpp:41:11: warning: enumeration value 'CC_AArch64VectorCall' not handled in switch [-Wswitch]
switch (Info.getCC()) {
^
/home/oceanfish81/dragonffi/dragonffi/lib/dffiimpl.cpp:183:21: error: no matching constructor for initialization of 'driver::Driver'
Driver.reset(new driver::Driver{"dummy", TripleStr, *Diags_, Overlay});
^ ~~~~~~~~~~
/usr/local/include/clang/Driver/Driver.h:310:3: note: candidate constructor not viable: no known conversion from 'IntrusiveRefCntPtr' to 'std::string' (aka 'basic_string') for 4th argument
Driver(StringRef ClangExecutable, StringRef TargetTriple,
^
/usr/local/include/clang/Driver/Driver.h:59:7: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 4 were provided
class Driver {
^
/usr/local/include/clang/Driver/Driver.h:59:7: note: candidate constructor (the implicit move constructor) not viable: requires 1 argument, but 4 were provided
/home/oceanfish81/dragonffi/dragonffi/lib/dffi_impl.cpp:235:7: error: no member named 'ThreadModel' in 'clang::CodeGenOptions'
CGO.ThreadModel = "posix";