diff --git a/gambas-llvm-3.3.patch b/gambas-llvm-3.3.patch new file mode 100644 index 0000000..a5f75fe --- /dev/null +++ b/gambas-llvm-3.3.patch @@ -0,0 +1,86 @@ +diff -up gambas3-3.4.1/gb.jit/configure.ac.jx gambas3-3.4.1/gb.jit/configure.ac +--- gambas3-3.4.1/gb.jit/configure.ac.jx 2013-03-24 13:34:31.000000000 -0400 ++++ gambas3-3.4.1/gb.jit/configure.ac 2013-05-02 13:42:02.911687100 -0400 +@@ -32,7 +32,7 @@ fi + + GB_COMPONENT( + jit, JIT, gb.jit, [src], +- [GB_FIND(llvm/LLVMContext.h, /usr/lib/llvm* /usr/local/lib /usr/local /usr/lib /usr `$LLVM_CONFIG --prefix`, include)], ++ [GB_FIND(llvm/IR/LLVMContext.h, /usr/lib/llvm* /usr/local/lib /usr/local /usr/lib /usr `$LLVM_CONFIG --prefix`, include)], + [GB_FIND(libLLVM-$LLVM_VERSION.$SHLIBEXT, /usr/lib/llvm* /usr/local /usr `$LLVM_CONFIG --prefix`, lib)], + [$C_LIB `$LLVM_CONFIG --ldflags` -lLLVM-$LLVM_VERSION], + [-I../../main/gbx -I../../main/share -D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS]) +diff -up gambas3-3.4.1/gb.jit/src/jit_codegen.cpp.jx gambas3-3.4.1/gb.jit/src/jit_codegen.cpp +--- gambas3-3.4.1/gb.jit/src/jit_codegen.cpp.jx 2013-03-24 13:34:31.000000000 -0400 ++++ gambas3-3.4.1/gb.jit/src/jit_codegen.cpp 2013-05-02 13:54:30.344186594 -0400 +@@ -3614,11 +3614,7 @@ void TryExpression::codegen(){ + create_gep(temp_errcontext1, TARGET_BITS, 0, TARGET_BITS, 0)); + + llvm::Function* f = llvm::cast(get_global_function(_setjmp, 'i', "p")); +-#if LLVM_VERSION_MAJOR > 3 || (LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 2) +- f->addFnAttr(llvm::Attributes::ReturnsTwice); +-#else + f->addFnAttr(llvm::Attribute::ReturnsTwice); +-#endif + + llvm::Value* setjmp_return = builder->CreateCall(f, jmpbuf); + +@@ -3669,11 +3665,7 @@ void LargeTryExpression::codegen(){ + create_gep(temp_errcontext2, TARGET_BITS, 0, TARGET_BITS, 0)); + + llvm::Function* f = llvm::cast(get_global_function(_setjmp, 'i', "p")); +-#if LLVM_VERSION_MAJOR > 3 || (LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 2) +- f->addFnAttr(llvm::Attributes::ReturnsTwice); +-#else + f->addFnAttr(llvm::Attribute::ReturnsTwice); +-#endif + + llvm::Value* setjmp_return = builder->CreateCall(f, jmpbuf); + +diff -up gambas3-3.4.1/gb.jit/src/jit_gambas_pass.cpp.jx gambas3-3.4.1/gb.jit/src/jit_gambas_pass.cpp +--- gambas3-3.4.1/gb.jit/src/jit_gambas_pass.cpp.jx 2013-03-24 13:34:31.000000000 -0400 ++++ gambas3-3.4.1/gb.jit/src/jit_gambas_pass.cpp 2013-05-02 13:42:02.912687103 -0400 +@@ -24,9 +24,9 @@ + ***************************************************************************/ + + #include "llvm/Pass.h" +-#include "llvm/Function.h" ++#include "llvm/IR/Function.h" + #if LLVM_VERSION_MAJOR > 3 || (LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 2) +-#include "llvm/IRBuilder.h" ++#include "llvm/IR/IRBuilder.h" + #else + #include "llvm/Support/IRBuilder.h" + #endif +diff -up gambas3-3.4.1/gb.jit/src/jit.h.jx gambas3-3.4.1/gb.jit/src/jit.h +--- gambas3-3.4.1/gb.jit/src/jit.h.jx 2013-03-24 13:34:31.000000000 -0400 ++++ gambas3-3.4.1/gb.jit/src/jit.h 2013-05-02 13:42:02.912687103 -0400 +@@ -26,13 +26,13 @@ + #ifndef __JIT_H + #define __JIT_H + +-#include "llvm/LLVMContext.h" +-#include "llvm/Module.h" ++#include "llvm/IR/LLVMContext.h" ++#include "llvm/IR/Module.h" + #include "llvm/Analysis/Verifier.h" +-#include "llvm/Constants.h" +-#include "llvm/DerivedTypes.h" +-#include "llvm/Intrinsics.h" +-#include "llvm/Instructions.h" ++#include "llvm/IR/Constants.h" ++#include "llvm/IR/DerivedTypes.h" ++#include "llvm/IR/Intrinsics.h" ++#include "llvm/IR/Instructions.h" + #include "llvm/ExecutionEngine/JIT.h" + #include "llvm/ExecutionEngine/Interpreter.h" + #include "llvm/ExecutionEngine/GenericValue.h" +@@ -40,7 +40,7 @@ + #include "llvm/Support/ManagedStatic.h" + #include "llvm/Support/raw_ostream.h" + #if LLVM_VERSION_MAJOR > 3 || (LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 2) +-#include "llvm/IRBuilder.h" ++#include "llvm/IR/IRBuilder.h" + #else + #include "llvm/Support/IRBuilder.h" + #endif diff --git a/gambas3.spec b/gambas3.spec index e00897f..1e09ae4 100644 --- a/gambas3.spec +++ b/gambas3.spec @@ -32,6 +32,7 @@ Patch1: %{name}-3.2.0-nolintl.patch Patch2: %{name}-3.2.0-noliconv.patch # Don't conflict with siginfo_t define Patch5: gambas3-3.1.1-linux-siginfo.patch +Patch6: gambas-llvm-3.3.patch %description Gambas3 is a free development environment based on a Basic interpreter @@ -736,6 +737,7 @@ Requires: %{name}-gb-xml = %{version}-%{release} %patch1 -p1 -b .nolintl %patch2 -p1 -b .noliconv # %%patch5 -p1 -b .linux-siginfo +%patch6 -p1 -b .jx # We used to patch these out, but this is simpler. for i in `find . |grep acinclude.m4`; do sed -i 's|$AM_CFLAGS -O3|$AM_CFLAGS|g' $i