build failed
p870613 opened this issue · 2 comments
p870613 commented
hi,
l wanted to build symcc but met some troubles. Here is my error message.
[1/8] Performing configure step for 'SymRuntime'
FAILED: SymRuntime-prefix/src/SymRuntime-stamp/SymRuntime-configure
cd /home/lin/Desktop/symqemu/symcc/build/SymRuntime-prefix/src/SymRuntime-build && /usr/bin/cmake -DCMAKE_C_COMPILER=/usr/bin/cc -DCMAKE_C_FLAGS= -DCMAKE_CXX_COMPILER=/usr/bin/c++ -DCMAKE_CXX_FLAGS= -DCMAKE_SHARED_LINKER_FLAGS= -DQSYM_BACKEND=ON -DCMAKE_BUILD_TYPE= -DZ3_TRUST_SYSTEM_VERSION= -DCMAKE_EXPORT_COMPILE_COMMANDS=OFF -DZ3_DIR= -DLLVM_DIR=/usr/lib/llvm-6.0/cmake -GNinja /home/lin/Desktop/symqemu/symcc/runtime && /usr/bin/cmake -E touch /home/lin/Desktop/symqemu/symcc/build/SymRuntime-prefix/src/SymRuntime-stamp/SymRuntime-configure
-- Could NOT find Z3 (missing: Z3_DIR)
CMake Error at qsym_backend/CMakeLists.txt:45 (message):
Couldn't locate Z3. If you want me to trust that a suitable version is
available nonetheless, configure CMake with -DZ3_TRUST_SYSTEM_VERSION=on
(see also docs/Configuration.txt).
-- Configuring incomplete, errors occurred!
See also "/home/lin/Desktop/symqemu/symcc/build/SymRuntime-prefix/src/SymRuntime-build/CMakeFiles/CMakeOutput.log".
[2/8] Building CXX object CMakeFiles/Symbolize.dir/compiler/Runtime.cpp.o
FAILED: CMakeFiles/Symbolize.dir/compiler/Runtime.cpp.o
/usr/bin/c++ -DSymbolize_EXPORTS -isystem /usr/lib/llvm-6.0/include -std=c++17 -Wredundant-decls -Wcast-align -Wmissing-include-dirs -Wswitch-default -Wextra -Wall -Winvalid-pch -Wredundant-decls -Wformat=2 -Wmissing-format-attribute -Wformat-nonliteral -Werror -fPIC -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -MD -MT CMakeFiles/Symbolize.dir/compiler/Runtime.cpp.o -MF CMakeFiles/Symbolize.dir/compiler/Runtime.cpp.o.d -o CMakeFiles/Symbolize.dir/compiler/Runtime.cpp.o -c ../compiler/Runtime.cpp
In file included from ../compiler/Runtime.cpp:15:0:
../compiler/Runtime.h:24:24: error: ‘FunctionCallee’ in namespace ‘llvm’ does not name a type
using SymFnT = llvm::FunctionCallee;
^~~~~~~~~~~~~~
../compiler/Runtime.h:31:3: error: ‘SymFnT’ does not name a type
SymFnT buildInteger{};
^~~~~~
../compiler/Runtime.h:32:3: error: ‘SymFnT’ does not name a type
SymFnT buildInteger128{};
^~~~~~
../compiler/Runtime.h:33:3: error: ‘SymFnT’ does not name a type
SymFnT buildFloat{};
^~~~~~
../compiler/Runtime.h:34:3: error: ‘SymFnT’ does not name a type
SymFnT buildNullPointer{};
^~~~~~
../compiler/Runtime.h:35:3: error: ‘SymFnT’ does not name a type
SymFnT buildTrue{};
^~~~~~
../compiler/Runtime.h:36:3: error: ‘SymFnT’ does not name a type
SymFnT buildFalse{};
^~~~~~
../compiler/Runtime.h:37:3: error: ‘SymFnT’ does not name a type
SymFnT buildBool{};
^~~~~~
../compiler/Runtime.h:38:3: error: ‘SymFnT’ does not name a type
SymFnT buildSExt{};
^~~~~~
../compiler/Runtime.h:39:3: error: ‘SymFnT’ does not name a type
SymFnT buildZExt{};
^~~~~~
../compiler/Runtime.h:40:3: error: ‘SymFnT’ does not name a type
SymFnT buildTrunc{};
^~~~~~
../compiler/Runtime.h:41:3: error: ‘SymFnT’ does not name a type
SymFnT buildBswap{};
^~~~~~
../compiler/Runtime.h:42:3: error: ‘SymFnT’ does not name a type
SymFnT buildIntToFloat{};
^~~~~~
../compiler/Runtime.h:43:3: error: ‘SymFnT’ does not name a type
SymFnT buildFloatToFloat{};
^~~~~~
../compiler/Runtime.h:44:3: error: ‘SymFnT’ does not name a type
SymFnT buildBitsToFloat{};
^~~~~~
../compiler/Runtime.h:45:3: error: ‘SymFnT’ does not name a type
SymFnT buildFloatToBits{};
^~~~~~
../compiler/Runtime.h:46:3: error: ‘SymFnT’ does not name a type
SymFnT buildFloatToSignedInt{};
^~~~~~
../compiler/Runtime.h:47:3: error: ‘SymFnT’ does not name a type
SymFnT buildFloatToUnsignedInt{};
^~~~~~
../compiler/Runtime.h:48:3: error: ‘SymFnT’ does not name a type
SymFnT buildFloatAbs{};
^~~~~~
../compiler/Runtime.h:49:3: error: ‘SymFnT’ does not name a type
SymFnT buildBoolAnd{};
^~~~~~
../compiler/Runtime.h:50:3: error: ‘SymFnT’ does not name a type
SymFnT buildBoolOr{};
^~~~~~
../compiler/Runtime.h:51:3: error: ‘SymFnT’ does not name a type
SymFnT buildBoolXor{};
^~~~~~
../compiler/Runtime.h:52:3: error: ‘SymFnT’ does not name a type
SymFnT buildBoolToBits{};
^~~~~~
../compiler/Runtime.h:53:3: error: ‘SymFnT’ does not name a type
SymFnT pushPathConstraint{};
^~~~~~
../compiler/Runtime.h:54:3: error: ‘SymFnT’ does not name a type
SymFnT getParameterExpression{};
^~~~~~
../compiler/Runtime.h:55:3: error: ‘SymFnT’ does not name a type
SymFnT setParameterExpression{};
^~~~~~
../compiler/Runtime.h:56:3: error: ‘SymFnT’ does not name a type
SymFnT setReturnExpression{};
^~~~~~
../compiler/Runtime.h:57:3: error: ‘SymFnT’ does not name a type
SymFnT getReturnExpression{};
^~~~~~
../compiler/Runtime.h:58:3: error: ‘SymFnT’ does not name a type
SymFnT memcpy{};
^~~~~~
../compiler/Runtime.h:59:3: error: ‘SymFnT’ does not name a type
SymFnT memset{};
^~~~~~
../compiler/Runtime.h:60:3: error: ‘SymFnT’ does not name a type
SymFnT memmove{};
^~~~~~
../compiler/Runtime.h:61:3: error: ‘SymFnT’ does not name a type
SymFnT readMemory{};
^~~~~~
../compiler/Runtime.h:62:3: error: ‘SymFnT’ does not name a type
SymFnT writeMemory{};
^~~~~~
../compiler/Runtime.h:63:3: error: ‘SymFnT’ does not name a type
SymFnT buildInsert{};
^~~~~~
../compiler/Runtime.h:64:3: error: ‘SymFnT’ does not name a type
SymFnT buildExtract{};
^~~~~~
../compiler/Runtime.h:65:3: error: ‘SymFnT’ does not name a type
SymFnT notifyCall{};
^~~~~~
../compiler/Runtime.h:66:3: error: ‘SymFnT’ does not name a type
SymFnT notifyRet{};
^~~~~~
../compiler/Runtime.h:67:3: error: ‘SymFnT’ does not name a type
SymFnT notifyBasicBlock{};
^~~~~~
../compiler/Runtime.h:71:14: error: ‘SymFnT’ was not declared in this scope
std::array<SymFnT, llvm::CmpInst::BAD_ICMP_PREDICATE>
^~~~~~
../compiler/Runtime.h:71:55: error: template argument 1 is invalid
std::array<SymFnT, llvm::CmpInst::BAD_ICMP_PREDICATE>
^
../compiler/Runtime.h:76:14: error: ‘SymFnT’ was not declared in this scope
std::array<SymFnT, llvm::Instruction::BinaryOpsEnd>
^~~~~~
../compiler/Runtime.h:76:53: error: template argument 1 is invalid
std::array<SymFnT, llvm::Instruction::BinaryOpsEnd>
^
../compiler/Runtime.cpp:26:1: error: ‘SymFnT’ does not name a type
SymFnT import(llvm::Module &M, llvm::StringRef name, llvm::Type *ret,
^~~~~~
../compiler/Runtime.cpp: In constructor ‘Runtime::Runtime(llvm::Module&)’:
../compiler/Runtime.cpp:44:3: error: ‘buildInteger’ was not declared in this scope
buildInteger = import(M, "_sym_build_integer", ptrT, IRB.getInt64Ty(), int8T);
^~~~~~~~~~~~
../compiler/Runtime.cpp:44:18: error: ‘import’ was not declared in this scope
buildInteger = import(M, "_sym_build_integer", ptrT, IRB.getInt64Ty(), int8T);
^~~~~~
../compiler/Runtime.cpp:44:18: note: suggested alternative: ‘qsort’
buildInteger = import(M, "_sym_build_integer", ptrT, IRB.getInt64Ty(), int8T);
^~~~~~
qsort
../compiler/Runtime.cpp:45:3: error: ‘buildInteger128’ was not declared in this scope
buildInteger128 = import(M, "_sym_build_integer128", ptrT, IRB.getInt64Ty(),
^~~~~~~~~~~~~~~
../compiler/Runtime.cpp:47:3: error: ‘buildFloat’ was not declared in this scope
buildFloat =
^~~~~~~~~~
../compiler/Runtime.cpp:49:3: error: ‘buildNullPointer’ was not declared in this scope
buildNullPointer = import(M, "_sym_build_null_pointer", ptrT);
^~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:49:3: note: suggested alternative: ‘__builtin_eh_pointer’
buildNullPointer = import(M, "_sym_build_null_pointer", ptrT);
^~~~~~~~~~~~~~~~
__builtin_eh_pointer
../compiler/Runtime.cpp:50:3: error: ‘buildTrue’ was not declared in this scope
buildTrue = import(M, "_sym_build_true", ptrT);
^~~~~~~~~
../compiler/Runtime.cpp:51:3: error: ‘buildFalse’ was not declared in this scope
buildFalse = import(M, "_sym_build_false", ptrT);
^~~~~~~~~~
../compiler/Runtime.cpp:51:3: note: suggested alternative: ‘duplocale’
buildFalse = import(M, "_sym_build_false", ptrT);
^~~~~~~~~~
duplocale
../compiler/Runtime.cpp:52:3: error: ‘buildBool’ was not declared in this scope
buildBool = import(M, "_sym_build_bool", ptrT, IRB.getInt1Ty());
^~~~~~~~~
../compiler/Runtime.cpp:53:3: error: ‘buildSExt’ was not declared in this scope
buildSExt = import(M, "_sym_build_sext", ptrT, ptrT, int8T);
^~~~~~~~~
../compiler/Runtime.cpp:54:3: error: ‘buildZExt’ was not declared in this scope
buildZExt = import(M, "_sym_build_zext", ptrT, ptrT, int8T);
^~~~~~~~~
../compiler/Runtime.cpp:55:3: error: ‘buildTrunc’ was not declared in this scope
buildTrunc = import(M, "_sym_build_trunc", ptrT, ptrT, int8T);
^~~~~~~~~~
../compiler/Runtime.cpp:56:3: error: ‘buildBswap’ was not declared in this scope
buildBswap = import(M, "_sym_build_bswap", ptrT, ptrT);
^~~~~~~~~~
../compiler/Runtime.cpp:57:3: error: ‘buildIntToFloat’ was not declared in this scope
buildIntToFloat = import(M, "_sym_build_int_to_float", ptrT, ptrT,
^~~~~~~~~~~~~~~
../compiler/Runtime.cpp:59:3: error: ‘buildFloatToFloat’ was not declared in this scope
buildFloatToFloat =
^~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:61:3: error: ‘buildBitsToFloat’ was not declared in this scope
buildBitsToFloat =
^~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:63:3: error: ‘buildFloatToBits’ was not declared in this scope
buildFloatToBits = import(M, "_sym_build_float_to_bits", ptrT, ptrT);
^~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:64:3: error: ‘buildFloatToSignedInt’ was not declared in this scope
buildFloatToSignedInt =
^~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:66:3: error: ‘buildFloatToUnsignedInt’ was not declared in this scope
buildFloatToUnsignedInt =
^~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:68:3: error: ‘buildFloatAbs’ was not declared in this scope
buildFloatAbs = import(M, "_sym_build_fp_abs", ptrT, ptrT);
^~~~~~~~~~~~~
../compiler/Runtime.cpp:69:3: error: ‘buildBoolAnd’ was not declared in this scope
buildBoolAnd = import(M, "_sym_build_bool_and", ptrT, ptrT, ptrT);
^~~~~~~~~~~~
../compiler/Runtime.cpp:70:3: error: ‘buildBoolOr’ was not declared in this scope
buildBoolOr = import(M, "_sym_build_bool_or", ptrT, ptrT, ptrT);
^~~~~~~~~~~
../compiler/Runtime.cpp:71:3: error: ‘buildBoolXor’ was not declared in this scope
buildBoolXor = import(M, "_sym_build_bool_xor", ptrT, ptrT, ptrT);
^~~~~~~~~~~~
../compiler/Runtime.cpp:72:3: error: ‘buildBoolToBits’ was not declared in this scope
buildBoolToBits = import(M, "_sym_build_bool_to_bits", ptrT, ptrT, int8T);
^~~~~~~~~~~~~~~
../compiler/Runtime.cpp:73:3: error: ‘pushPathConstraint’ was not declared in this scope
pushPathConstraint = import(M, "_sym_push_path_constraint", voidT, ptrT,
^~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:76:3: error: ‘setParameterExpression’ was not declared in this scope
setParameterExpression =
^~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:78:3: error: ‘getParameterExpression’ was not declared in this scope
getParameterExpression =
^~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:80:3: error: ‘setReturnExpression’ was not declared in this scope
setReturnExpression = import(M, "_sym_set_return_expression", voidT, ptrT);
^~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:81:3: error: ‘getReturnExpression’ was not declared in this scope
getReturnExpression = import(M, "_sym_get_return_expression", ptrT);
^~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:84:47: error: invalid types ‘int[llvm::Instruction::BinaryOps]’ for array subscript
binaryOperatorHandlers[Instruction::constant] = \
^
../compiler/Runtime.cpp:87:3: note: in expansion of macro ‘LOAD_BINARY_OPERATOR_HANDLER’
LOAD_BINARY_OPERATOR_HANDLER(Add, add)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:84:47: error: invalid types ‘int[llvm::Instruction::BinaryOps]’ for array subscript
binaryOperatorHandlers[Instruction::constant] = \
^
../compiler/Runtime.cpp:88:3: note: in expansion of macro ‘LOAD_BINARY_OPERATOR_HANDLER’
LOAD_BINARY_OPERATOR_HANDLER(Sub, sub)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:84:47: error: invalid types ‘int[llvm::Instruction::BinaryOps]’ for array subscript
binaryOperatorHandlers[Instruction::constant] = \
^
../compiler/Runtime.cpp:89:3: note: in expansion of macro ‘LOAD_BINARY_OPERATOR_HANDLER’
LOAD_BINARY_OPERATOR_HANDLER(Mul, mul)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:84:47: error: invalid types ‘int[llvm::Instruction::BinaryOps]’ for array subscript
binaryOperatorHandlers[Instruction::constant] = \
^
../compiler/Runtime.cpp:90:3: note: in expansion of macro ‘LOAD_BINARY_OPERATOR_HANDLER’
LOAD_BINARY_OPERATOR_HANDLER(UDiv, unsigned_div)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:84:47: error: invalid types ‘int[llvm::Instruction::BinaryOps]’ for array subscript
binaryOperatorHandlers[Instruction::constant] = \
^
../compiler/Runtime.cpp:91:3: note: in expansion of macro ‘LOAD_BINARY_OPERATOR_HANDLER’
LOAD_BINARY_OPERATOR_HANDLER(SDiv, signed_div)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:84:47: error: invalid types ‘int[llvm::Instruction::BinaryOps]’ for array subscript
binaryOperatorHandlers[Instruction::constant] = \
^
../compiler/Runtime.cpp:92:3: note: in expansion of macro ‘LOAD_BINARY_OPERATOR_HANDLER’
LOAD_BINARY_OPERATOR_HANDLER(URem, unsigned_rem)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:84:47: error: invalid types ‘int[llvm::Instruction::BinaryOps]’ for array subscript
binaryOperatorHandlers[Instruction::constant] = \
^
../compiler/Runtime.cpp:93:3: note: in expansion of macro ‘LOAD_BINARY_OPERATOR_HANDLER’
LOAD_BINARY_OPERATOR_HANDLER(SRem, signed_rem)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:84:47: error: invalid types ‘int[llvm::Instruction::BinaryOps]’ for array subscript
binaryOperatorHandlers[Instruction::constant] = \
^
../compiler/Runtime.cpp:94:3: note: in expansion of macro ‘LOAD_BINARY_OPERATOR_HANDLER’
LOAD_BINARY_OPERATOR_HANDLER(Shl, shift_left)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:84:47: error: invalid types ‘int[llvm::Instruction::BinaryOps]’ for array subscript
binaryOperatorHandlers[Instruction::constant] = \
^
../compiler/Runtime.cpp:95:3: note: in expansion of macro ‘LOAD_BINARY_OPERATOR_HANDLER’
LOAD_BINARY_OPERATOR_HANDLER(LShr, logical_shift_right)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:84:47: error: invalid types ‘int[llvm::Instruction::BinaryOps]’ for array subscript
binaryOperatorHandlers[Instruction::constant] = \
^
../compiler/Runtime.cpp:96:3: note: in expansion of macro ‘LOAD_BINARY_OPERATOR_HANDLER’
LOAD_BINARY_OPERATOR_HANDLER(AShr, arithmetic_shift_right)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:84:47: error: invalid types ‘int[llvm::Instruction::BinaryOps]’ for array subscript
binaryOperatorHandlers[Instruction::constant] = \
^
../compiler/Runtime.cpp:97:3: note: in expansion of macro ‘LOAD_BINARY_OPERATOR_HANDLER’
LOAD_BINARY_OPERATOR_HANDLER(And, and)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:84:47: error: invalid types ‘int[llvm::Instruction::BinaryOps]’ for array subscript
binaryOperatorHandlers[Instruction::constant] = \
^
../compiler/Runtime.cpp:98:3: note: in expansion of macro ‘LOAD_BINARY_OPERATOR_HANDLER’
LOAD_BINARY_OPERATOR_HANDLER(Or, or)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:84:47: error: invalid types ‘int[llvm::Instruction::BinaryOps]’ for array subscript
binaryOperatorHandlers[Instruction::constant] = \
^
../compiler/Runtime.cpp:99:3: note: in expansion of macro ‘LOAD_BINARY_OPERATOR_HANDLER’
LOAD_BINARY_OPERATOR_HANDLER(Xor, xor)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:84:47: error: invalid types ‘int[llvm::Instruction::BinaryOps]’ for array subscript
binaryOperatorHandlers[Instruction::constant] = \
^
../compiler/Runtime.cpp:102:3: note: in expansion of macro ‘LOAD_BINARY_OPERATOR_HANDLER’
LOAD_BINARY_OPERATOR_HANDLER(FAdd, fp_add)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:84:47: error: invalid types ‘int[llvm::Instruction::BinaryOps]’ for array subscript
binaryOperatorHandlers[Instruction::constant] = \
^
../compiler/Runtime.cpp:103:3: note: in expansion of macro ‘LOAD_BINARY_OPERATOR_HANDLER’
LOAD_BINARY_OPERATOR_HANDLER(FSub, fp_sub)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:84:47: error: invalid types ‘int[llvm::Instruction::BinaryOps]’ for array subscript
binaryOperatorHandlers[Instruction::constant] = \
^
../compiler/Runtime.cpp:104:3: note: in expansion of macro ‘LOAD_BINARY_OPERATOR_HANDLER’
LOAD_BINARY_OPERATOR_HANDLER(FMul, fp_mul)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:84:47: error: invalid types ‘int[llvm::Instruction::BinaryOps]’ for array subscript
binaryOperatorHandlers[Instruction::constant] = \
^
../compiler/Runtime.cpp:105:3: note: in expansion of macro ‘LOAD_BINARY_OPERATOR_HANDLER’
LOAD_BINARY_OPERATOR_HANDLER(FDiv, fp_div)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:84:47: error: invalid types ‘int[llvm::Instruction::BinaryOps]’ for array subscript
binaryOperatorHandlers[Instruction::constant] = \
^
../compiler/Runtime.cpp:106:3: note: in expansion of macro ‘LOAD_BINARY_OPERATOR_HANDLER’
LOAD_BINARY_OPERATOR_HANDLER(FRem, fp_rem)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:111:39: error: invalid types ‘int[llvm::CmpInst::Predicate]’ for array subscript
comparisonHandlers[CmpInst::constant] = \
^
../compiler/Runtime.cpp:114:3: note: in expansion of macro ‘LOAD_COMPARISON_HANDLER’
LOAD_COMPARISON_HANDLER(ICMP_EQ, equal)
^~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:111:39: error: invalid types ‘int[llvm::CmpInst::Predicate]’ for array subscript
comparisonHandlers[CmpInst::constant] = \
^
../compiler/Runtime.cpp:115:3: note: in expansion of macro ‘LOAD_COMPARISON_HANDLER’
LOAD_COMPARISON_HANDLER(ICMP_NE, not_equal)
^~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:111:39: error: invalid types ‘int[llvm::CmpInst::Predicate]’ for array subscript
comparisonHandlers[CmpInst::constant] = \
^
../compiler/Runtime.cpp:116:3: note: in expansion of macro ‘LOAD_COMPARISON_HANDLER’
LOAD_COMPARISON_HANDLER(ICMP_UGT, unsigned_greater_than)
^~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:111:39: error: invalid types ‘int[llvm::CmpInst::Predicate]’ for array subscript
comparisonHandlers[CmpInst::constant] = \
^
../compiler/Runtime.cpp:117:3: note: in expansion of macro ‘LOAD_COMPARISON_HANDLER’
LOAD_COMPARISON_HANDLER(ICMP_UGE, unsigned_greater_equal)
^~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:111:39: error: invalid types ‘int[llvm::CmpInst::Predicate]’ for array subscript
comparisonHandlers[CmpInst::constant] = \
^
../compiler/Runtime.cpp:118:3: note: in expansion of macro ‘LOAD_COMPARISON_HANDLER’
LOAD_COMPARISON_HANDLER(ICMP_ULT, unsigned_less_than)
^~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:111:39: error: invalid types ‘int[llvm::CmpInst::Predicate]’ for array subscript
comparisonHandlers[CmpInst::constant] = \
^
../compiler/Runtime.cpp:119:3: note: in expansion of macro ‘LOAD_COMPARISON_HANDLER’
LOAD_COMPARISON_HANDLER(ICMP_ULE, unsigned_less_equal)
^~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:111:39: error: invalid types ‘int[llvm::CmpInst::Predicate]’ for array subscript
comparisonHandlers[CmpInst::constant] = \
^
../compiler/Runtime.cpp:120:3: note: in expansion of macro ‘LOAD_COMPARISON_HANDLER’
LOAD_COMPARISON_HANDLER(ICMP_SGT, signed_greater_than)
^~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:111:39: error: invalid types ‘int[llvm::CmpInst::Predicate]’ for array subscript
comparisonHandlers[CmpInst::constant] = \
^
../compiler/Runtime.cpp:121:3: note: in expansion of macro ‘LOAD_COMPARISON_HANDLER’
LOAD_COMPARISON_HANDLER(ICMP_SGE, signed_greater_equal)
^~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:111:39: error: invalid types ‘int[llvm::CmpInst::Predicate]’ for array subscript
comparisonHandlers[CmpInst::constant] = \
^
../compiler/Runtime.cpp:122:3: note: in expansion of macro ‘LOAD_COMPARISON_HANDLER’
LOAD_COMPARISON_HANDLER(ICMP_SLT, signed_less_than)
^~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:111:39: error: invalid types ‘int[llvm::CmpInst::Predicate]’ for array subscript
comparisonHandlers[CmpInst::constant] = \
^
../compiler/Runtime.cpp:123:3: note: in expansion of macro ‘LOAD_COMPARISON_HANDLER’
LOAD_COMPARISON_HANDLER(ICMP_SLE, signed_less_equal)
^~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:111:39: error: invalid types ‘int[llvm::CmpInst::Predicate]’ for array subscript
comparisonHandlers[CmpInst::constant] = \
^
../compiler/Runtime.cpp:126:3: note: in expansion of macro ‘LOAD_COMPARISON_HANDLER’
LOAD_COMPARISON_HANDLER(FCMP_OGT, float_ordered_greater_than)
^~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:111:39: error: invalid types ‘int[llvm::CmpInst::Predicate]’ for array subscript
comparisonHandlers[CmpInst::constant] = \
^
../compiler/Runtime.cpp:127:3: note: in expansion of macro ‘LOAD_COMPARISON_HANDLER’
LOAD_COMPARISON_HANDLER(FCMP_OGE, float_ordered_greater_equal)
^~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:111:39: error: invalid types ‘int[llvm::CmpInst::Predicate]’ for array subscript
comparisonHandlers[CmpInst::constant] = \
^
../compiler/Runtime.cpp:128:3: note: in expansion of macro ‘LOAD_COMPARISON_HANDLER’
LOAD_COMPARISON_HANDLER(FCMP_OLT, float_ordered_less_than)
^~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:111:39: error: invalid types ‘int[llvm::CmpInst::Predicate]’ for array subscript
comparisonHandlers[CmpInst::constant] = \
^
../compiler/Runtime.cpp:129:3: note: in expansion of macro ‘LOAD_COMPARISON_HANDLER’
LOAD_COMPARISON_HANDLER(FCMP_OLE, float_ordered_less_equal)
^~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:111:39: error: invalid types ‘int[llvm::CmpInst::Predicate]’ for array subscript
comparisonHandlers[CmpInst::constant] = \
^
../compiler/Runtime.cpp:130:3: note: in expansion of macro ‘LOAD_COMPARISON_HANDLER’
LOAD_COMPARISON_HANDLER(FCMP_OEQ, float_ordered_equal)
^~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:111:39: error: invalid types ‘int[llvm::CmpInst::Predicate]’ for array subscript
comparisonHandlers[CmpInst::constant] = \
^
../compiler/Runtime.cpp:131:3: note: in expansion of macro ‘LOAD_COMPARISON_HANDLER’
LOAD_COMPARISON_HANDLER(FCMP_ONE, float_ordered_not_equal)
^~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:111:39: error: invalid types ‘int[llvm::CmpInst::Predicate]’ for array subscript
comparisonHandlers[CmpInst::constant] = \
^
../compiler/Runtime.cpp:132:3: note: in expansion of macro ‘LOAD_COMPARISON_HANDLER’
LOAD_COMPARISON_HANDLER(FCMP_ORD, float_ordered)
^~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:111:39: error: invalid types ‘int[llvm::CmpInst::Predicate]’ for array subscript
comparisonHandlers[CmpInst::constant] = \
^
../compiler/Runtime.cpp:133:3: note: in expansion of macro ‘LOAD_COMPARISON_HANDLER’
LOAD_COMPARISON_HANDLER(FCMP_UNO, float_unordered)
^~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:111:39: error: invalid types ‘int[llvm::CmpInst::Predicate]’ for array subscript
comparisonHandlers[CmpInst::constant] = \
^
../compiler/Runtime.cpp:134:3: note: in expansion of macro ‘LOAD_COMPARISON_HANDLER’
LOAD_COMPARISON_HANDLER(FCMP_UGT, float_unordered_greater_than)
^~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:111:39: error: invalid types ‘int[llvm::CmpInst::Predicate]’ for array subscript
comparisonHandlers[CmpInst::constant] = \
^
../compiler/Runtime.cpp:135:3: note: in expansion of macro ‘LOAD_COMPARISON_HANDLER’
LOAD_COMPARISON_HANDLER(FCMP_UGE, float_unordered_greater_equal)
^~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:111:39: error: invalid types ‘int[llvm::CmpInst::Predicate]’ for array subscript
comparisonHandlers[CmpInst::constant] = \
^
../compiler/Runtime.cpp:136:3: note: in expansion of macro ‘LOAD_COMPARISON_HANDLER’
LOAD_COMPARISON_HANDLER(FCMP_ULT, float_unordered_less_than)
^~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:111:39: error: invalid types ‘int[llvm::CmpInst::Predicate]’ for array subscript
comparisonHandlers[CmpInst::constant] = \
^
../compiler/Runtime.cpp:137:3: note: in expansion of macro ‘LOAD_COMPARISON_HANDLER’
LOAD_COMPARISON_HANDLER(FCMP_ULE, float_unordered_less_equal)
^~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:111:39: error: invalid types ‘int[llvm::CmpInst::Predicate]’ for array subscript
comparisonHandlers[CmpInst::constant] = \
^
../compiler/Runtime.cpp:138:3: note: in expansion of macro ‘LOAD_COMPARISON_HANDLER’
LOAD_COMPARISON_HANDLER(FCMP_UEQ, float_unordered_equal)
^~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:111:39: error: invalid types ‘int[llvm::CmpInst::Predicate]’ for array subscript
comparisonHandlers[CmpInst::constant] = \
^
../compiler/Runtime.cpp:139:3: note: in expansion of macro ‘LOAD_COMPARISON_HANDLER’
LOAD_COMPARISON_HANDLER(FCMP_UNE, float_unordered_not_equal)
^~~~~~~~~~~~~~~~~~~~~~~
../compiler/Runtime.cpp:146:3: error: ‘readMemory’ was not declared in this scope
readMemory =
^~~~~~~~~~
../compiler/Runtime.cpp:148:3: error: ‘writeMemory’ was not declared in this scope
writeMemory = import(M, "_sym_write_memory", voidT, intPtrType, intPtrType,
^~~~~~~~~~~
../compiler/Runtime.cpp:150:3: error: ‘buildInsert’ was not declared in this scope
buildInsert =
^~~~~~~~~~~
../compiler/Runtime.cpp:150:3: note: suggested alternative: ‘__builtin_sqrt’
buildInsert =
^~~~~~~~~~~
__builtin_sqrt
../compiler/Runtime.cpp:152:3: error: ‘buildExtract’ was not declared in this scope
buildExtract = import(M, "_sym_build_extract", ptrT, ptrT, IRB.getInt64Ty(),
^~~~~~~~~~~~
../compiler/Runtime.cpp:155:3: error: ‘notifyCall’ was not declared in this scope
notifyCall = import(M, "_sym_notify_call", voidT, intPtrType);
^~~~~~~~~~
../compiler/Runtime.cpp:156:3: error: ‘notifyRet’ was not declared in this scope
notifyRet = import(M, "_sym_notify_ret", voidT, intPtrType);
^~~~~~~~~
../compiler/Runtime.cpp:157:3: error: ‘notifyBasicBlock’ was not declared in this scope
notifyBasicBlock = import(M, "_sym_notify_basic_block", voidT, intPtrType);
^~~~~~~~~~~~~~~~
[3/8] Building CXX object CMakeFiles/Symbolize.dir/compiler/Symbolizer.cpp.o
FAILED: CMakeFiles/Symbolize.dir/compiler/Symbolizer.cpp.o
/usr/bin/c++ -DSymbolize_EXPORTS -isystem /usr/lib/llvm-6.0/include -std=c++17 -Wredundant-decls -Wcast-align -Wmissing-include-dirs -Wswitch-default -Wextra -Wall -Winvalid-pch -Wredundant-decls -Wformat=2 -Wmissing-format-attribute -Wformat-nonliteral -Werror -fPIC -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -MD -MT CMakeFiles/Symbolize.dir/compiler/Symbolizer.cpp.o -MF CMakeFiles/Symbolize.dir/compiler/Symbolizer.cpp.o.d -o CMakeFiles/Symbolize.dir/compiler/Symbolizer.cpp.o -c ../compiler/Symbolizer.cpp
In file included from ../compiler/Symbolizer.h:24:0,
from ../compiler/Symbolizer.cpp:15:
../compiler/Runtime.h:24:24: error: ‘FunctionCallee’ in namespace ‘llvm’ does not name a type
using SymFnT = llvm::FunctionCallee;
^~~~~~~~~~~~~~
../compiler/Runtime.h:31:3: error: ‘SymFnT’ does not name a type
SymFnT buildInteger{};
^~~~~~
../compiler/Runtime.h:32:3: error: ‘SymFnT’ does not name a type
SymFnT buildInteger128{};
^~~~~~
../compiler/Runtime.h:33:3: error: ‘SymFnT’ does not name a type
SymFnT buildFloat{};
^~~~~~
../compiler/Runtime.h:34:3: error: ‘SymFnT’ does not name a type
SymFnT buildNullPointer{};
^~~~~~
../compiler/Runtime.h:35:3: error: ‘SymFnT’ does not name a type
SymFnT buildTrue{};
^~~~~~
../compiler/Runtime.h:36:3: error: ‘SymFnT’ does not name a type
SymFnT buildFalse{};
^~~~~~
../compiler/Runtime.h:37:3: error: ‘SymFnT’ does not name a type
SymFnT buildBool{};
^~~~~~
../compiler/Runtime.h:38:3: error: ‘SymFnT’ does not name a type
SymFnT buildSExt{};
^~~~~~
../compiler/Runtime.h:39:3: error: ‘SymFnT’ does not name a type
SymFnT buildZExt{};
^~~~~~
../compiler/Runtime.h:40:3: error: ‘SymFnT’ does not name a type
SymFnT buildTrunc{};
^~~~~~
../compiler/Runtime.h:41:3: error: ‘SymFnT’ does not name a type
SymFnT buildBswap{};
^~~~~~
../compiler/Runtime.h:42:3: error: ‘SymFnT’ does not name a type
SymFnT buildIntToFloat{};
^~~~~~
../compiler/Runtime.h:43:3: error: ‘SymFnT’ does not name a type
SymFnT buildFloatToFloat{};
^~~~~~
../compiler/Runtime.h:44:3: error: ‘SymFnT’ does not name a type
SymFnT buildBitsToFloat{};
^~~~~~
../compiler/Runtime.h:45:3: error: ‘SymFnT’ does not name a type
SymFnT buildFloatToBits{};
^~~~~~
../compiler/Runtime.h:46:3: error: ‘SymFnT’ does not name a type
SymFnT buildFloatToSignedInt{};
^~~~~~
../compiler/Runtime.h:47:3: error: ‘SymFnT’ does not name a type
SymFnT buildFloatToUnsignedInt{};
^~~~~~
../compiler/Runtime.h:48:3: error: ‘SymFnT’ does not name a type
SymFnT buildFloatAbs{};
^~~~~~
../compiler/Runtime.h:49:3: error: ‘SymFnT’ does not name a type
SymFnT buildBoolAnd{};
^~~~~~
../compiler/Runtime.h:50:3: error: ‘SymFnT’ does not name a type
SymFnT buildBoolOr{};
^~~~~~
../compiler/Runtime.h:51:3: error: ‘SymFnT’ does not name a type
SymFnT buildBoolXor{};
^~~~~~
../compiler/Runtime.h:52:3: error: ‘SymFnT’ does not name a type
SymFnT buildBoolToBits{};
^~~~~~
../compiler/Runtime.h:53:3: error: ‘SymFnT’ does not name a type
SymFnT pushPathConstraint{};
^~~~~~
../compiler/Runtime.h:54:3: error: ‘SymFnT’ does not name a type
SymFnT getParameterExpression{};
^~~~~~
../compiler/Runtime.h:55:3: error: ‘SymFnT’ does not name a type
SymFnT setParameterExpression{};
^~~~~~
../compiler/Runtime.h:56:3: error: ‘SymFnT’ does not name a type
SymFnT setReturnExpression{};
^~~~~~
../compiler/Runtime.h:57:3: error: ‘SymFnT’ does not name a type
SymFnT getReturnExpression{};
^~~~~~
../compiler/Runtime.h:58:3: error: ‘SymFnT’ does not name a type
SymFnT memcpy{};
^~~~~~
../compiler/Runtime.h:59:3: error: ‘SymFnT’ does not name a type
SymFnT memset{};
^~~~~~
../compiler/Runtime.h:60:3: error: ‘SymFnT’ does not name a type
SymFnT memmove{};
^~~~~~
../compiler/Runtime.h:61:3: error: ‘SymFnT’ does not name a type
SymFnT readMemory{};
^~~~~~
../compiler/Runtime.h:62:3: error: ‘SymFnT’ does not name a type
SymFnT writeMemory{};
^~~~~~
../compiler/Runtime.h:63:3: error: ‘SymFnT’ does not name a type
SymFnT buildInsert{};
^~~~~~
../compiler/Runtime.h:64:3: error: ‘SymFnT’ does not name a type
SymFnT buildExtract{};
^~~~~~
../compiler/Runtime.h:65:3: error: ‘SymFnT’ does not name a type
SymFnT notifyCall{};
^~~~~~
../compiler/Runtime.h:66:3: error: ‘SymFnT’ does not name a type
SymFnT notifyRet{};
^~~~~~
../compiler/Runtime.h:67:3: error: ‘SymFnT’ does not name a type
SymFnT notifyBasicBlock{};
^~~~~~
../compiler/Runtime.h:71:14: error: ‘SymFnT’ was not declared in this scope
std::array<SymFnT, llvm::CmpInst::BAD_ICMP_PREDICATE>
^~~~~~
../compiler/Runtime.h:71:55: error: template argument 1 is invalid
std::array<SymFnT, llvm::CmpInst::BAD_ICMP_PREDICATE>
^
../compiler/Runtime.h:76:14: error: ‘SymFnT’ was not declared in this scope
std::array<SymFnT, llvm::Instruction::BinaryOpsEnd>
^~~~~~
../compiler/Runtime.h:76:53: error: template argument 1 is invalid
std::array<SymFnT, llvm::Instruction::BinaryOpsEnd>
^
In file included from ../compiler/Symbolizer.cpp:15:0:
../compiler/Symbolizer.h:97:28: error: ‘llvm::CallBase’ has not been declared
void handleIntrinsicCall(llvm::CallBase &I);
^~~~
../compiler/Symbolizer.h:99:27: error: ‘llvm::CallBase’ has not been declared
void handleFunctionCall(llvm::CallBase &I, llvm::Instruction *returnPoint);
^~~~
../compiler/Symbolizer.h:217:49: error: ‘SymFnT’ has not been declared
forceBuildRuntimeCall(llvm::IRBuilder<> &IRB, SymFnT function,
^~~~~~
../compiler/Symbolizer.h:230:44: error: ‘SymFnT’ has not been declared
buildRuntimeCall(llvm::IRBuilder<> &IRB, SymFnT function,
^~~~~~
../compiler/Symbolizer.h:244:44: error: ‘SymFnT’ has not been declared
buildRuntimeCall(llvm::IRBuilder<> &IRB, SymFnT function,
^~~~~~
../compiler/Symbolizer.cpp: In member function ‘void Symbolizer::symbolizeFunctionArguments(llvm::Function&)’:
../compiler/Symbolizer.cpp:37:58: error: ‘const struct Runtime’ has no member named ‘getParameterExpression’
symbolicExpressions[&arg] = IRB.CreateCall(runtime.getParameterExpression,
^~~~~~~~~~~~~~~~~~~~~~
../compiler/Symbolizer.cpp: In member function ‘void Symbolizer::insertBasicBlockNotification(llvm::BasicBlock&)’:
../compiler/Symbolizer.cpp:44:26: error: ‘const struct Runtime’ has no member named ‘notifyBasicBlock’
IRB.CreateCall(runtime.notifyBasicBlock, getTargetPreferredInt(&B));
^~~~~~~~~~~~~~~~
../compiler/Symbolizer.cpp: At global scope:
../compiler/Symbolizer.cpp:179:38: error: variable or field ‘handleIntrinsicCall’ declared void
void Symbolizer::handleIntrinsicCall(CallBase &I) {
^~~~~~~~
../compiler/Symbolizer.cpp:179:38: error: ‘CallBase’ was not declared in this scope
../compiler/Symbolizer.cpp:179:48: error: ‘I’ was not declared in this scope
void Symbolizer::handleIntrinsicCall(CallBase &I) {
^
../compiler/Symbolizer.cpp:304:37: error: variable or field ‘handleFunctionCall’ declared void
void Symbolizer::handleFunctionCall(CallBase &I, Instruction *returnPoint) {
^~~~~~~~
../compiler/Symbolizer.cpp:304:37: error: ‘CallBase’ was not declared in this scope
../compiler/Symbolizer.cpp:304:47: error: ‘I’ was not declared in this scope
void Symbolizer::handleFunctionCall(CallBase &I, Instruction *returnPoint) {
^
../compiler/Symbolizer.cpp:304:62: error: expected primary-expression before ‘*’ token
void Symbolizer::handleFunctionCall(CallBase &I, Instruction *returnPoint) {
^
../compiler/Symbolizer.cpp:304:63: error: ‘returnPoint’ was not declared in this scope
void Symbolizer::handleFunctionCall(CallBase &I, Instruction *returnPoint) {
^~~~~~~~~~~
../compiler/Symbolizer.cpp: In member function ‘void Symbolizer::visitBinaryOperator(llvm::BinaryOperator&)’:
../compiler/Symbolizer.cpp:344:3: error: ‘SymFnT’ was not declared in this scope
SymFnT handler = runtime.binaryOperatorHandlers.at(I.getOpcode());
^~~~~~
../compiler/Symbolizer.cpp:351:7: error: ‘handler’ was not declared in this scope
handler = runtime.buildBoolAnd;
^~~~~~~
../compiler/Symbolizer.cpp:351:7: note: suggested alternative: ‘rand_r’
handler = runtime.buildBoolAnd;
^~~~~~~
rand_r
../compiler/Symbolizer.cpp:351:25: error: ‘const struct Runtime’ has no member named ‘buildBoolAnd’
handler = runtime.buildBoolAnd;
^~~~~~~~~~~~
../compiler/Symbolizer.cpp:354:25: error: ‘const struct Runtime’ has no member named ‘buildBoolOr’
handler = runtime.buildBoolOr;
^~~~~~~~~~~
../compiler/Symbolizer.cpp:357:25: error: ‘const struct Runtime’ has no member named ‘buildBoolXor’
handler = runtime.buildBoolXor;
^~~~~~~~~~~~
In file included from /usr/include/c++/7/cassert:44:0,
from /usr/include/llvm-6.0/llvm/Transforms/Utils/BasicBlockUtils.h:24,
from ../compiler/Symbolizer.cpp:22:
../compiler/Symbolizer.cpp:366:10: error: ‘handler’ was not declared in this scope
assert(handler && "Unable to handle binary operator");
^
../compiler/Symbolizer.cpp:366:10: note: suggested alternative: ‘rand_r’
../compiler/Symbolizer.cpp: In member function ‘void Symbolizer::visitSelectInst(llvm::SelectInst&)’:
../compiler/Symbolizer.cpp:378:52: error: ‘const struct Runtime’ has no member named ‘pushPathConstraint’
auto runtimeCall = buildRuntimeCall(IRB, runtime.pushPathConstraint,
^~~~~~~~~~~~~~~~~~
../compiler/Symbolizer.cpp: In member function ‘void Symbolizer::visitCmpInst(llvm::CmpInst&)’:
../compiler/Symbolizer.cpp:390:3: error: ‘SymFnT’ was not declared in this scope
SymFnT handler = runtime.comparisonHandlers.at(I.getPredicate());
^~~~~~
In file included from /usr/include/c++/7/cassert:44:0,
from /usr/include/llvm-6.0/llvm/Transforms/Utils/BasicBlockUtils.h:24,
from ../compiler/Symbolizer.cpp:22:
../compiler/Symbolizer.cpp:391:10: error: ‘handler’ was not declared in this scope
assert(handler && "Unable to handle icmp/fcmp variant");
^
../compiler/Symbolizer.cpp:391:10: note: suggested alternative: ‘rand_r’
../compiler/Symbolizer.cpp: In member function ‘void Symbolizer::visitReturnInst(llvm::ReturnInst&)’:
../compiler/Symbolizer.cpp:408:26: error: ‘const struct Runtime’ has no member named ‘setReturnExpression’
IRB.CreateCall(runtime.setReturnExpression,
^~~~~~~~~~~~~~~~~~~
../compiler/Symbolizer.cpp: In member function ‘void Symbolizer::visitBranchInst(llvm::BranchInst&)’:
../compiler/Symbolizer.cpp:421:52: error: ‘const struct Runtime’ has no member named ‘pushPathConstraint’
auto runtimeCall = buildRuntimeCall(IRB, runtime.pushPathConstraint,
^~~~~~~~~~~~~~~~~~
../compiler/Symbolizer.cpp: In member function ‘void Symbolizer::visitCallInst(llvm::CallInst&)’:
../compiler/Symbolizer.cpp:437:42: error: no matching function for call to ‘Symbolizer::handleFunctionCall(llvm::CallInst&, llvm::Instruction*)’
handleFunctionCall(I, I.getNextNode());
^
In file included from ../compiler/Symbolizer.cpp:15:0:
../compiler/Symbolizer.h:99:8: note: candidate: void Symbolizer::handleFunctionCall(int&, llvm::Instruction*)
void handleFunctionCall(llvm::CallBase &I, llvm::Instruction *returnPoint);
^~~~~~~~~~~~~~~~~~
../compiler/Symbolizer.h:99:8: note: no known conversion for argument 1 from ‘llvm::CallInst’ to ‘int&’
../compiler/Symbolizer.cpp: In member function ‘void Symbolizer::visitInvokeInst(llvm::InvokeInst&)’:
../compiler/Symbolizer.cpp:449:66: error: no matching function for call to ‘Symbolizer::handleFunctionCall(llvm::InvokeInst&, llvm::Instruction*)’
: I.getNormalDest()->getFirstNonPHI());
^
In file included from ../compiler/Symbolizer.cpp:15:0:
../compiler/Symbolizer.h:99:8: note: candidate: void Symbolizer::handleFunctionCall(int&, llvm::Instruction*)
void handleFunctionCall(llvm::CallBase &I, llvm::Instruction *returnPoint);
^~~~~~~~~~~~~~~~~~
../compiler/Symbolizer.h:99:8: note: no known conversion for argument 1 from ‘llvm::InvokeInst’ to ‘int&’
../compiler/Symbolizer.cpp: In member function ‘void Symbolizer::visitLoadInst(llvm::LoadInst&)’:
../compiler/Symbolizer.cpp:465:15: error: ‘const struct Runtime’ has no member named ‘readMemory’
runtime.readMemory,
^~~~~~~~~~
../compiler/Symbolizer.cpp:471:35: error: ‘const struct Runtime’ has no member named ‘buildBitsToFloat’
data = IRB.CreateCall(runtime.buildBitsToFloat,
^~~~~~~~~~~~~~~~
../compiler/Symbolizer.cpp: In member function ‘void Symbolizer::visitStoreInst(llvm::StoreInst&)’:
../compiler/Symbolizer.cpp:486:35: error: ‘const struct Runtime’ has no member named ‘buildFloatToBits’
data = IRB.CreateCall(runtime.buildFloatToBits, data);
^~~~~~~~~~~~~~~~
../compiler/Symbolizer.cpp:490:15: error: ‘const struct Runtime’ has no member named ‘writeMemory’
runtime.writeMemory,
^~~~~~~~~~~
../compiler/Symbolizer.cpp: In member function ‘void Symbolizer::visitGetElementPtrInst(llvm::GetElementPtrInst&)’:
../compiler/Symbolizer.cpp:560:26: error: ‘const struct Runtime’ has no member named ‘buildZExt’
IRB, runtime.buildZExt,
^~~~~~~~~
../compiler/Symbolizer.cpp:565:65: error: invalid types ‘const int[llvm::Instruction::BinaryOps]’ for array subscript
IRB, runtime.binaryOperatorHandlers[Instruction::Mul],
^
../compiler/Symbolizer.cpp:570:65: error: invalid types ‘const int[llvm::Instruction::BinaryOps]’ for array subscript
IRB, runtime.binaryOperatorHandlers[Instruction::Mul],
^
../compiler/Symbolizer.cpp:579:61: error: invalid types ‘const int[llvm::Instruction::BinaryOps]’ for array subscript
IRB, runtime.binaryOperatorHandlers[Instruction::Add],
^
../compiler/Symbolizer.cpp: In member function ‘void Symbolizer::visitBitCastInst(llvm::BitCastInst&)’:
../compiler/Symbolizer.cpp:592:39: error: ‘const struct Runtime’ has no member named ‘buildBitsToFloat’
buildRuntimeCall(IRB, runtime.buildBitsToFloat,
^~~~~~~~~~~~~~~~
../compiler/Symbolizer.cpp:601:53: error: ‘const struct Runtime’ has no member named ‘buildFloatToBits’
auto conversion = buildRuntimeCall(IRB, runtime.buildFloatToBits,
^~~~~~~~~~~~~~~~
../compiler/Symbolizer.cpp: In member function ‘void Symbolizer::visitTruncInst(llvm::TruncInst&)’:
../compiler/Symbolizer.cpp:616:20: error: ‘const struct Runtime’ has no member named ‘buildTrunc’
IRB, runtime.buildTrunc,
^~~~~~~~~~
../compiler/Symbolizer.cpp: In member function ‘void Symbolizer::visitSIToFPInst(llvm::SIToFPInst&)’:
../compiler/Symbolizer.cpp:637:37: error: ‘const struct Runtime’ has no member named ‘buildIntToFloat’
buildRuntimeCall(IRB, runtime.buildIntToFloat,
^~~~~~~~~~~~~~~
../compiler/Symbolizer.cpp: In member function ‘void Symbolizer::visitUIToFPInst(llvm::UIToFPInst&)’:
../compiler/Symbolizer.cpp:647:37: error: ‘const struct Runtime’ has no member named ‘buildIntToFloat’
buildRuntimeCall(IRB, runtime.buildIntToFloat,
^~~~~~~~~~~~~~~
../compiler/Symbolizer.cpp: In member function ‘void Symbolizer::visitFPExtInst(llvm::FPExtInst&)’:
../compiler/Symbolizer.cpp:657:37: error: ‘const struct Runtime’ has no member named ‘buildFloatToFloat’
buildRuntimeCall(IRB, runtime.buildFloatToFloat,
^~~~~~~~~~~~~~~~~
../compiler/Symbolizer.cpp: In member function ‘void Symbolizer::visitFPTruncInst(llvm::FPTruncInst&)’:
../compiler/Symbolizer.cpp:666:37: error: ‘const struct Runtime’ has no member named ‘buildFloatToFloat’
buildRuntimeCall(IRB, runtime.buildFloatToFloat,
^~~~~~~~~~~~~~~~~
../compiler/Symbolizer.cpp: In member function ‘void Symbolizer::visitFPToSI(llvm::FPToSIInst&)’:
../compiler/Symbolizer.cpp:675:20: error: ‘const struct Runtime’ has no member named ‘buildFloatToSignedInt’
IRB, runtime.buildFloatToSignedInt,
^~~~~~~~~~~~~~~~~~~~~
../compiler/Symbolizer.cpp: In member function ‘void Symbolizer::visitFPToUI(llvm::FPToUIInst&)’:
../compiler/Symbolizer.cpp:684:20: error: ‘const struct Runtime’ has no member named ‘buildFloatToUnsignedInt’
IRB, runtime.buildFloatToUnsignedInt,
^~~~~~~~~~~~~~~~~~~~~~~
../compiler/Symbolizer.cpp: In member function ‘void Symbolizer::visitCastInst(llvm::CastInst&)’:
../compiler/Symbolizer.cpp:705:22: error: ‘const struct Runtime’ has no member named ‘buildBoolToBits’
IRB, runtime.buildBoolToBits,
^~~~~~~~~~~~~~~
../compiler/Symbolizer.cpp:710:5: error: ‘SymFnT’ was not declared in this scope
SymFnT target;
^~~~~~
../compiler/Symbolizer.cpp:714:7: error: ‘target’ was not declared in this scope
target = runtime.buildSExt;
^~~~~~
../compiler/Symbolizer.cpp:714:7: note: suggested alternative: ‘tzset’
target = runtime.buildSExt;
^~~~~~
tzset
../compiler/Symbolizer.cpp:714:24: error: ‘const struct Runtime’ has no member named ‘buildSExt’
target = runtime.buildSExt;
^~~~~~~~~
../compiler/Symbolizer.cpp:717:24: error: ‘const struct Runtime’ has no member named ‘buildZExt’
target = runtime.buildZExt;
^~~~~~~~~
../compiler/Symbolizer.cpp:724:31: error: ‘target’ was not declared in this scope
buildRuntimeCall(IRB, target,
^~~~~~
../compiler/Symbolizer.cpp:724:31: note: suggested alternative: ‘tzset’
buildRuntimeCall(IRB, target,
^~~~~~
tzset
../compiler/Symbolizer.cpp: In member function ‘void Symbolizer::visitInsertValueInst(llvm::InsertValueInst&)’:
../compiler/Symbolizer.cpp:755:20: error: ‘const struct Runtime’ has no member named ‘buildInsert’
IRB, runtime.buildInsert,
^~~~~~~~~~~
../compiler/Symbolizer.cpp: In member function ‘void Symbolizer::visitExtractValueInst(llvm::ExtractValueInst&)’:
../compiler/Symbolizer.cpp:768:20: error: ‘const struct Runtime’ has no member named ‘buildExtract’
IRB, runtime.buildExtract,
^~~~~~~~~~~~
../compiler/Symbolizer.cpp: In member function ‘void Symbolizer::visitSwitchInst(llvm::SwitchInst&)’:
../compiler/Symbolizer.cpp:800:52: error: invalid types ‘const int[llvm::CmpInst::Predicate]’ for array subscript
runtime.comparisonHandlers[CmpInst::ICMP_EQ],
^
../compiler/Symbolizer.cpp:802:28: error: ‘const struct Runtime’ has no member named ‘pushPathConstraint’
IRB.CreateCall(runtime.pushPathConstraint,
^~~~~~~~~~~~~~~~~~
../compiler/Symbolizer.cpp: In member function ‘llvm::CallInst* Symbolizer::createValueExpression(llvm::Value*, llvm::IRBuilder<>&)’:
../compiler/Symbolizer.cpp:825:35: error: ‘const struct Runtime’ has no member named ‘buildNullPointer’
return IRB.CreateCall(runtime.buildNullPointer, {});
^~~~~~~~~~~~~~~~
../compiler/Symbolizer.cpp:833:37: error: ‘const struct Runtime’ has no member named ‘buildBool’
return IRB.CreateCall(runtime.buildBool, {V});
^~~~~~~~~
../compiler/Symbolizer.cpp:835:37: error: ‘const struct Runtime’ has no member named ‘buildInteger’
return IRB.CreateCall(runtime.buildInteger,
^~~~~~~~~~~~
../compiler/Symbolizer.cpp:844:19: error: ‘const struct Runtime’ has no member named ‘buildInteger128’
runtime.buildInteger128,
^~~~~~~~~~~~~~~
../compiler/Symbolizer.cpp:852:35: error: ‘const struct Runtime’ has no member named ‘buildFloat’
return IRB.CreateCall(runtime.buildFloat,
^~~~~~~~~~
../compiler/Symbolizer.cpp:859:17: error: ‘const struct Runtime’ has no member named ‘buildInteger’
runtime.buildInteger,
^~~~~~~~~~~~
../compiler/Symbolizer.cpp:879:17: error: ‘const struct Runtime’ has no member named ‘readMemory’
runtime.readMemory,
^~~~~~~~~~
../compiler/Symbolizer.cpp: At global scope:
../compiler/Symbolizer.cpp:890:53: error: ‘SymFnT’ has not been declared
Symbolizer::forceBuildRuntimeCall(IRBuilder<> &IRB, SymFnT function,
^~~~~~
../compiler/Symbolizer.cpp: In member function ‘Symbolizer::SymbolicComputation Symbolizer::forceBuildRuntimeCall(llvm::IRBuilder<>&, int, llvm::ArrayRef<std::pair<llvm::Value*, bool> >)’:
../compiler/Symbolizer.cpp:896:53: error: no matching function for call to ‘CreateCall(int&, std::vector<llvm::Value*, std::allocator<llvm::Value*> >&)’
auto *call = IRB.CreateCall(function, functionArgs);
^
In file included from ../compiler/Symbolizer.h:19:0,
from ../compiler/Symbolizer.cpp:15:
/usr/include/llvm-6.0/llvm/IR/IRBuilder.h:1663:13: note: candidate: llvm::CallInst* llvm::IRBuilder<T, Inserter>::CreateCall(llvm::Value*, llvm::ArrayRef<llvm::Value*>, const llvm::Twine&, llvm::MDNode*) [with T = llvm::ConstantFolder; Inserter = llvm::IRBuilderDefaultInserter] <near match>
CallInst *CreateCall(Value *Callee, ArrayRef<Value *> Args = None,
^~~~~~~~~~
/usr/include/llvm-6.0/llvm/IR/IRBuilder.h:1663:13: note: conversion of argument 1 would be ill-formed:
../compiler/Symbolizer.cpp:896:53: error: invalid conversion from ‘int’ to ‘llvm::Value*’ [-fpermissive]
auto *call = IRB.CreateCall(function, functionArgs);
^
In file included from ../compiler/Symbolizer.h:19:0,
from ../compiler/Symbolizer.cpp:15:
/usr/include/llvm-6.0/llvm/IR/IRBuilder.h:1688:13: note: candidate: llvm::CallInst* llvm::IRBuilder<T, Inserter>::CreateCall(llvm::Function*, llvm::ArrayRef<llvm::Value*>, const llvm::Twine&, llvm::MDNode*) [with T = llvm::ConstantFolder; Inserter = llvm::IRBuilderDefaultInserter] <near match>
CallInst *CreateCall(Function *Callee, ArrayRef<Value *> Args,
^~~~~~~~~~
/usr/include/llvm-6.0/llvm/IR/IRBuilder.h:1688:13: note: conversion of argument 1 would be ill-formed:
../compiler/Symbolizer.cpp:896:53: error: invalid conversion from ‘int’ to ‘llvm::Function*’ [-fpermissive]
auto *call = IRB.CreateCall(function, functionArgs);
^
../compiler/Symbolizer.cpp:902:38: error: no matching function for call to ‘std::vector<Symbolizer::Input, std::allocator<Symbolizer::Input> >::push_back(<brace-enclosed initializer list>)’
inputs.push_back({arg, i, call});
^
In file included from /usr/include/c++/7/vector:64:0,
from /usr/include/c++/7/functional:61,
from /usr/include/llvm-6.0/llvm/ADT/STLExtras.h:30,
from /usr/include/llvm-6.0/llvm/ADT/StringRef.h:13,
from /usr/include/llvm-6.0/llvm/ADT/Twine.h:14,
from /usr/include/llvm-6.0/llvm/IR/BasicBlock.h:18,
from ../compiler/Symbolizer.h:18,
from ../compiler/Symbolizer.cpp:15:
/usr/include/c++/7/bits/stl_vector.h:939:7: note: candidate: void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = Symbolizer::Input; _Alloc = std::allocator<Symbolizer::Input>; std::vector<_Tp, _Alloc>::value_type = Symbolizer::Input]
push_back(const value_type& __x)
^~~~~~~~~
/usr/include/c++/7/bits/stl_vector.h:939:7: note: no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const value_type& {aka const Symbolizer::Input&}’
/usr/include/c++/7/bits/stl_vector.h:953:7: note: candidate: void std::vector<_Tp, _Alloc>::push_back(std::vector<_Tp, _Alloc>::value_type&&) [with _Tp = Symbolizer::Input; _Alloc = std::allocator<Symbolizer::Input>; std::vector<_Tp, _Alloc>::value_type = Symbolizer::Input]
push_back(value_type&& __x)
^~~~~~~~~
/usr/include/c++/7/bits/stl_vector.h:953:7: note: no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘std::vector<Symbolizer::Input, std::allocator<Symbolizer::Input> >::value_type&& {aka Symbolizer::Input&&}’
../compiler/Symbolizer.cpp: In member function ‘void Symbolizer::tryAlternative(llvm::IRBuilder<>&, llvm::Value*)’:
../compiler/Symbolizer.cpp:913:67: error: invalid types ‘const int[llvm::CmpInst::Predicate]’ for array subscript
IRB.CreateCall(runtime.comparisonHandlers[CmpInst::ICMP_EQ],
^
../compiler/Symbolizer.cpp:916:17: error: ‘const struct Runtime’ has no member named ‘pushPathConstraint’
runtime.pushPathConstraint,
^~~~~~~~~~~~~~~~~~
[4/8] Building CXX object CMakeFiles/Symbolize.dir/compiler/Pass.cpp.o
FAILED: CMakeFiles/Symbolize.dir/compiler/Pass.cpp.o
/usr/bin/c++ -DSymbolize_EXPORTS -isystem /usr/lib/llvm-6.0/include -std=c++17 -Wredundant-decls -Wcast-align -Wmissing-include-dirs -Wswitch-default -Wextra -Wall -Winvalid-pch -Wredundant-decls -Wformat=2 -Wmissing-format-attribute -Wformat-nonliteral -Werror -fPIC -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -MD -MT CMakeFiles/Symbolize.dir/compiler/Pass.cpp.o -MF CMakeFiles/Symbolize.dir/compiler/Pass.cpp.o.d -o CMakeFiles/Symbolize.dir/compiler/Pass.cpp.o -c ../compiler/Pass.cpp
../compiler/Pass.cpp:29:0: error: "DEBUG" redefined [-Werror]
#define DEBUG(X) \
In file included from /usr/include/llvm-6.0/llvm/IR/PassManager.h:48:0,
from /usr/include/llvm-6.0/llvm/IR/Verifier.h:25,
from ../compiler/Pass.cpp:20:
/usr/include/llvm-6.0/llvm/Support/Debug.h:118:0: note: this is the location of the previous definition
#define DEBUG(X) DEBUG_WITH_TYPE(DEBUG_TYPE, X)
In file included from ../compiler/Pass.cpp:23:0:
../compiler/Runtime.h:24:24: error: ‘FunctionCallee’ in namespace ‘llvm’ does not name a type
using SymFnT = llvm::FunctionCallee;
^~~~~~~~~~~~~~
../compiler/Runtime.h:31:3: error: ‘SymFnT’ does not name a type
SymFnT buildInteger{};
^~~~~~
../compiler/Runtime.h:32:3: error: ‘SymFnT’ does not name a type
SymFnT buildInteger128{};
^~~~~~
../compiler/Runtime.h:33:3: error: ‘SymFnT’ does not name a type
SymFnT buildFloat{};
^~~~~~
../compiler/Runtime.h:34:3: error: ‘SymFnT’ does not name a type
SymFnT buildNullPointer{};
^~~~~~
../compiler/Runtime.h:35:3: error: ‘SymFnT’ does not name a type
SymFnT buildTrue{};
^~~~~~
../compiler/Runtime.h:36:3: error: ‘SymFnT’ does not name a type
SymFnT buildFalse{};
^~~~~~
../compiler/Runtime.h:37:3: error: ‘SymFnT’ does not name a type
SymFnT buildBool{};
^~~~~~
../compiler/Runtime.h:38:3: error: ‘SymFnT’ does not name a type
SymFnT buildSExt{};
^~~~~~
../compiler/Runtime.h:39:3: error: ‘SymFnT’ does not name a type
SymFnT buildZExt{};
^~~~~~
../compiler/Runtime.h:40:3: error: ‘SymFnT’ does not name a type
SymFnT buildTrunc{};
^~~~~~
../compiler/Runtime.h:41:3: error: ‘SymFnT’ does not name a type
SymFnT buildBswap{};
^~~~~~
../compiler/Runtime.h:42:3: error: ‘SymFnT’ does not name a type
SymFnT buildIntToFloat{};
^~~~~~
../compiler/Runtime.h:43:3: error: ‘SymFnT’ does not name a type
SymFnT buildFloatToFloat{};
^~~~~~
../compiler/Runtime.h:44:3: error: ‘SymFnT’ does not name a type
SymFnT buildBitsToFloat{};
^~~~~~
../compiler/Runtime.h:45:3: error: ‘SymFnT’ does not name a type
SymFnT buildFloatToBits{};
^~~~~~
../compiler/Runtime.h:46:3: error: ‘SymFnT’ does not name a type
SymFnT buildFloatToSignedInt{};
^~~~~~
../compiler/Runtime.h:47:3: error: ‘SymFnT’ does not name a type
SymFnT buildFloatToUnsignedInt{};
^~~~~~
../compiler/Runtime.h:48:3: error: ‘SymFnT’ does not name a type
SymFnT buildFloatAbs{};
^~~~~~
../compiler/Runtime.h:49:3: error: ‘SymFnT’ does not name a type
SymFnT buildBoolAnd{};
^~~~~~
../compiler/Runtime.h:50:3: error: ‘SymFnT’ does not name a type
SymFnT buildBoolOr{};
^~~~~~
../compiler/Runtime.h:51:3: error: ‘SymFnT’ does not name a type
SymFnT buildBoolXor{};
^~~~~~
../compiler/Runtime.h:52:3: error: ‘SymFnT’ does not name a type
SymFnT buildBoolToBits{};
^~~~~~
../compiler/Runtime.h:53:3: error: ‘SymFnT’ does not name a type
SymFnT pushPathConstraint{};
^~~~~~
../compiler/Runtime.h:54:3: error: ‘SymFnT’ does not name a type
SymFnT getParameterExpression{};
^~~~~~
../compiler/Runtime.h:55:3: error: ‘SymFnT’ does not name a type
SymFnT setParameterExpression{};
^~~~~~
../compiler/Runtime.h:56:3: error: ‘SymFnT’ does not name a type
SymFnT setReturnExpression{};
^~~~~~
../compiler/Runtime.h:57:3: error: ‘SymFnT’ does not name a type
SymFnT getReturnExpression{};
^~~~~~
../compiler/Runtime.h:58:3: error: ‘SymFnT’ does not name a type
SymFnT memcpy{};
^~~~~~
../compiler/Runtime.h:59:3: error: ‘SymFnT’ does not name a type
SymFnT memset{};
^~~~~~
../compiler/Runtime.h:60:3: error: ‘SymFnT’ does not name a type
SymFnT memmove{};
^~~~~~
../compiler/Runtime.h:61:3: error: ‘SymFnT’ does not name a type
SymFnT readMemory{};
^~~~~~
../compiler/Runtime.h:62:3: error: ‘SymFnT’ does not name a type
SymFnT writeMemory{};
^~~~~~
../compiler/Runtime.h:63:3: error: ‘SymFnT’ does not name a type
SymFnT buildInsert{};
^~~~~~
../compiler/Runtime.h:64:3: error: ‘SymFnT’ does not name a type
SymFnT buildExtract{};
^~~~~~
../compiler/Runtime.h:65:3: error: ‘SymFnT’ does not name a type
SymFnT notifyCall{};
^~~~~~
../compiler/Runtime.h:66:3: error: ‘SymFnT’ does not name a type
SymFnT notifyRet{};
^~~~~~
../compiler/Runtime.h:67:3: error: ‘SymFnT’ does not name a type
SymFnT notifyBasicBlock{};
^~~~~~
../compiler/Runtime.h:71:14: error: ‘SymFnT’ was not declared in this scope
std::array<SymFnT, llvm::CmpInst::BAD_ICMP_PREDICATE>
^~~~~~
../compiler/Runtime.h:71:55: error: template argument 1 is invalid
std::array<SymFnT, llvm::CmpInst::BAD_ICMP_PREDICATE>
^
../compiler/Runtime.h:76:14: error: ‘SymFnT’ was not declared in this scope
std::array<SymFnT, llvm::Instruction::BinaryOpsEnd>
^~~~~~
../compiler/Runtime.h:76:53: error: template argument 1 is invalid
std::array<SymFnT, llvm::Instruction::BinaryOpsEnd>
^
In file included from ../compiler/Pass.cpp:24:0:
../compiler/Symbolizer.h:97:28: error: ‘llvm::CallBase’ has not been declared
void handleIntrinsicCall(llvm::CallBase &I);
^~~~
../compiler/Symbolizer.h:99:27: error: ‘llvm::CallBase’ has not been declared
void handleFunctionCall(llvm::CallBase &I, llvm::Instruction *returnPoint);
^~~~
../compiler/Symbolizer.h:217:49: error: ‘SymFnT’ has not been declared
forceBuildRuntimeCall(llvm::IRBuilder<> &IRB, SymFnT function,
^~~~~~
../compiler/Symbolizer.h:230:44: error: ‘SymFnT’ has not been declared
buildRuntimeCall(llvm::IRBuilder<> &IRB, SymFnT function,
^~~~~~
../compiler/Symbolizer.h:244:44: error: ‘SymFnT’ has not been declared
buildRuntimeCall(llvm::IRBuilder<> &IRB, SymFnT function,
^~~~~~
../compiler/Pass.cpp: In member function ‘virtual bool SymbolizePass::runOnFunction(llvm::Function&)’:
../compiler/Pass.cpp:68:29: error: ‘class llvm::Function’ has no member named ‘getInstructionCount’; did you mean ‘getEntryCount’?
allInstructions.reserve(F.getInstructionCount());
^~~~~~~~~~~~~~~~~~~
getEntryCount
cc1plus: all warnings being treated as errors
ninja: build stopped: subcommand failed.
and here is my enviroment
gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)
llvm-config --version: 9.0.0
clang version 9.0.0
Thanks !
aurelf commented
It looks like you are missing Z3, did you follow the SymCC compilation/installation instructions or provided correct path? See SymCC Readme
p870613 commented
hi,
l had already installed libz3-dev
, but I have same issue.
However, I compile the example code in z3 successfully.
And, here is error message.
➜ build git:(master) ✗ cmake -G Ninja -DQSYM_BACKEND=ON ..
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found LLVM 10.0.0
-- Using LLVMConfig.cmake from /usr/lib/llvm-10/cmake
-- Configuring done
-- Generating done
-- Build files have been written to: /home/lin/Desktop/symqemu/symcc/build
➜ build git:(master) ✗ ninja
[6/13] Performing configure step for 'SymRuntime'
FAILED: SymRuntime-prefix/src/SymRuntime-stamp/SymRuntime-configure
cd /home/lin/Desktop/symqemu/symcc/build/SymRuntime-prefix/src/SymRuntime-build && /usr/bin/cmake -DCMAKE_C_COMPILER=/usr/bin/cc -DCMAKE_C_FLAGS= -DCMAKE_CXX_COMPILER=/usr/bin/c++ -DCMAKE_CXX_FLAGS= -DCMAKE_SHARED_LINKER_FLAGS= -DQSYM_BACKEND=ON -DCMAKE_BUILD_TYPE= -DZ3_TRUST_SYSTEM_VERSION= -DCMAKE_EXPORT_COMPILE_COMMANDS=OFF -DZ3_DIR= -DLLVM_DIR= -GNinja /home/lin/Desktop/symqemu/symcc/runtime && /usr/bin/cmake -E touch /home/lin/Desktop/symqemu/symcc/build/SymRuntime-prefix/src/SymRuntime-stamp/SymRuntime-configure
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Could NOT find Z3 (missing: Z3_DIR)
CMake Error at qsym_backend/CMakeLists.txt:45 (message):
Couldn't locate Z3. If you want me to trust that a suitable version is
available nonetheless, configure CMake with -DZ3_TRUST_SYSTEM_VERSION=on
(see also docs/Configuration.txt).
-- Configuring incomplete, errors occurred!
See also "/home/lin/Desktop/symqemu/symcc/build/SymRuntime-prefix/src/SymRuntime-build/CMakeFiles/CMakeOutput.log".
[9/13] Building CXX object CMakeFiles/Symbolize.dir/compiler/Symbolizer.cpp.o
ninja: build stopped: subcommand failed.
Thanks !