0.27 uses LLVM 7, although 0.27.0~rc1 doesn't build cleanly yet:

<cut>
g++  -shared -I/usr/lib/llvm-7/include -fno-exceptions -D_GNU_SOURCE 
-D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fno-rtti 
-g -flto assembly.cpp bitcode.cpp core.cpp initfini.cpp module.cpp value.cpp 
executionengine.cpp transforms.cpp passmanagers.cpp targets.cpp dylib.cpp 
linker.cpp object_file.cpp -o libllvmlite.so -Wl,-z,relro -L/usr/lib/llvm-7/lib 
-flto -Wl,--exclude-libs=ALL -lLLVM-7
transforms.cpp:10:32: warning: 'unwrap' violates the C++ One Definition Rule  
[-Wodr]
     inline PassManagerBuilder *unwrap(LLVMPassManagerBuilderRef P) {
                                ^
executionengine.cpp:53:27: note: return value type mismatch
     inline TargetMachine *unwrap(LLVMTargetMachineRef P) {
                           ^
/usr/lib/llvm-7/include/llvm/Target/TargetMachine.h:59:7: note: type name 
'llvm::TargetMachine' should match type name 'llvm::PassManagerBuilder'
 class TargetMachine {
       ^
/usr/lib/llvm-7/include/llvm/Transforms/IPO/PassManagerBuilder.h:59:7: note: 
the incompatible type is defined here
 class PassManagerBuilder {
       ^
executionengine.cpp:53:27: note: 'unwrap' was previously declared here
     inline TargetMachine *unwrap(LLVMTargetMachineRef P) {
                           ^
executionengine.cpp:53:27: note: code may be misoptimized unless 
-fno-strict-aliasing is used
/usr/bin/ld: /tmp/ccmWo70g.ltrans0.ltrans.o: relocation R_X86_64_PC32 against 
symbol `_ZTVN4llvm11raw_ostreamE@@LLVM_7' can not be used when making a shared 
object; recompile with -fPIC
/usr/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile.linux:22: libllvmlite.so] Error 1
</cut>

DS

--
4096R/DF5182C8 (sten...@debian.org)
http://www.danielstender.com/

Reply via email to