diff --git a/.gitignore b/.gitignore index 576b85d..e05ef6f 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,7 @@ /compiler-rt-3.5.0.src.tar.xz /lldb-3.5.0.src.tar.xz /llvm-3.5.0.src.tar.xz +/cfe-3.6.0.src.tar.xz +/compiler-rt-3.6.0.src.tar.xz +/lldb-3.6.0.src.tar.xz +/llvm-3.6.0.src.tar.xz diff --git a/clang-fake-gcc43.patch b/clang-fake-gcc43.patch deleted file mode 100644 index 06f46b2..0000000 --- a/clang-fake-gcc43.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up clang/lib/Frontend/InitPreprocessor.cpp.jx clang/lib/Frontend/InitPreprocessor.cpp ---- clang/lib/Frontend/InitPreprocessor.cpp.jx 2014-07-17 16:12:32.000000000 -0400 -+++ clang/lib/Frontend/InitPreprocessor.cpp 2014-08-25 13:16:11.273215190 -0400 -@@ -464,8 +464,8 @@ static void InitializePredefinedMacros(c - if (!LangOpts.MSVCCompat) { - // Currently claim to be compatible with GCC 4.2.1-5621, but only if we're - // not compiling for MSVC compatibility -- Builder.defineMacro("__GNUC_MINOR__", "2"); -- Builder.defineMacro("__GNUC_PATCHLEVEL__", "1"); -+ Builder.defineMacro("__GNUC_MINOR__", "3"); -+ Builder.defineMacro("__GNUC_PATCHLEVEL__", "0"); - Builder.defineMacro("__GNUC__", "4"); - Builder.defineMacro("__GXX_ABI_VERSION", "1002"); - } diff --git a/clang-pr22625.patch b/clang-pr22625.patch deleted file mode 100644 index 9fb977b..0000000 --- a/clang-pr22625.patch +++ /dev/null @@ -1,14 +0,0 @@ -Index: lib/Driver/ToolChains.cpp -=================================================================== ---- lib/Driver/ToolChains.cpp (revision 229718) -+++ lib/Driver/ToolChains.cpp (revision 229719) -@@ -3154,7 +3154,8 @@ - SmallVector dirs; - CIncludeDirs.split(dirs, ":"); - for (StringRef dir : dirs) { -- StringRef Prefix = llvm::sys::path::is_absolute(dir) ? SysRoot : ""; -+ StringRef Prefix = -+ llvm::sys::path::is_absolute(dir) ? StringRef(SysRoot) : ""; - addExternCSystemInclude(DriverArgs, CC1Args, Prefix + dir); - } - return; diff --git a/lldb-fix-expression-parser.patch b/lldb-fix-expression-parser.patch deleted file mode 100644 index ee02054..0000000 --- a/lldb-fix-expression-parser.patch +++ /dev/null @@ -1,39 +0,0 @@ -Fix the LLDB expression parser. - -$ lldb -(lldb) p 1+1 -error: warning: duplicate 'signed' declaration specifier -error: cannot combine with previous 'unsigned' declaration specifier -error: 1 errors parsing expression - -Upstream commit: r214233 - Attempt to fix the expression parser after r214119 - ---- lldb/trunk/source/Expression/ExpressionSourceCode.cpp 2014/07/23 14:37:35 213755 -+++ lldb/trunk/source/Expression/ExpressionSourceCode.cpp 2014/07/29 21:59:33 214233 -@@ -28,16 +28,16 @@ - #define nil (__null) - #define YES ((BOOL)1) - #define NO ((BOOL)0) --typedef signed __INT8_TYPE__ int8_t; --typedef unsigned __INT8_TYPE__ uint8_t; --typedef signed __INT16_TYPE__ int16_t; --typedef unsigned __INT16_TYPE__ uint16_t; --typedef signed __INT32_TYPE__ int32_t; --typedef unsigned __INT32_TYPE__ uint32_t; --typedef signed __INT64_TYPE__ int64_t; --typedef unsigned __INT64_TYPE__ uint64_t; --typedef signed __INTPTR_TYPE__ intptr_t; --typedef unsigned __INTPTR_TYPE__ uintptr_t; -+typedef __INT8_TYPE__ int8_t; -+typedef __UINT8_TYPE__ uint8_t; -+typedef __INT16_TYPE__ int16_t; -+typedef __UINT16_TYPE__ uint16_t; -+typedef __INT32_TYPE__ int32_t; -+typedef __UINT32_TYPE__ uint32_t; -+typedef __INT64_TYPE__ int64_t; -+typedef __UINT64_TYPE__ uint64_t; -+typedef __INTPTR_TYPE__ intptr_t; -+typedef __UINTPTR_TYPE__ uintptr_t; - typedef __SIZE_TYPE__ size_t; - typedef __PTRDIFF_TYPE__ ptrdiff_t; - typedef unsigned short unichar; diff --git a/llvm-3.5.0-build-fix.patch b/llvm-3.5.0-build-fix.patch deleted file mode 100644 index 6d4d887..0000000 --- a/llvm-3.5.0-build-fix.patch +++ /dev/null @@ -1,43 +0,0 @@ -Error.cpp:28:44: error: declaration of ‘virtual const char* {anonymous}::_object_error_category::name() const’ has a different exception specifier - const char *_object_error_category::name() const { - ^ -Error.cpp:23:15: error: from previous declaration ‘virtual const char* {anonymous}::_object_error_category::name() const noexcept (true)’ - const char* name() const LLVM_NOEXCEPT override; - ^ - -diff -up llvm.src/lib/Object/Error.cpp.jx llvm.src/lib/Object/Error.cpp ---- llvm.src/lib/Object/Error.cpp.jx 2014-06-13 11:36:17.000000000 -0400 -+++ llvm.src/lib/Object/Error.cpp 2014-08-11 13:11:46.135014527 -0400 -@@ -25,7 +25,7 @@ public: - }; - } - --const char *_object_error_category::name() const { -+const char *_object_error_category::name() const LLVM_NOEXCEPT { - return "llvm.object"; - } - -diff -up llvm.src/tools/llvm-readobj/Error.cpp.jx llvm.src/tools/llvm-readobj/Error.cpp ---- llvm.src/tools/llvm-readobj/Error.cpp.jx 2014-06-13 11:36:17.000000000 -0400 -+++ llvm.src/tools/llvm-readobj/Error.cpp 2014-08-11 13:49:16.624287424 -0400 -@@ -24,7 +24,7 @@ public: - }; - } // namespace - --const char *_readobj_error_category::name() const { -+const char *_readobj_error_category::name() const LLVM_NOEXCEPT { - return "llvm.readobj"; - } - -diff -up llvm.src/tools/obj2yaml/Error.cpp.jx llvm.src/tools/obj2yaml/Error.cpp ---- llvm.src/tools/obj2yaml/Error.cpp.jx 2014-06-13 11:36:17.000000000 -0400 -+++ llvm.src/tools/obj2yaml/Error.cpp 2014-08-11 14:04:05.841996088 -0400 -@@ -20,7 +20,7 @@ public: - }; - } // namespace - --const char *_obj2yaml_error_category::name() const { return "obj2yaml"; } -+const char *_obj2yaml_error_category::name() const LLVM_NOEXCEPT { return "obj2yaml"; } - - std::string _obj2yaml_error_category::message(int ev) const { - switch (static_cast(ev)) { diff --git a/llvm-IntrusiveRefCntPtr.patch b/llvm-IntrusiveRefCntPtr.patch deleted file mode 100644 index 38b5d45..0000000 --- a/llvm-IntrusiveRefCntPtr.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- llvm/trunk/include/llvm/ADT/IntrusiveRefCntPtr.h 2014/09/23 05:23:29 218294 -+++ llvm/trunk/include/llvm/ADT/IntrusiveRefCntPtr.h 2014/09/23 06:06:43 218295 -@@ -197,6 +197,9 @@ - private: - void retain() { if (Obj) IntrusiveRefCntPtrInfo::retain(Obj); } - void release() { if (Obj) IntrusiveRefCntPtrInfo::release(Obj); } -+ -+ template -+ friend class IntrusiveRefCntPtr; - }; - - template diff --git a/llvm.spec b/llvm.spec index 287aa74..96bb99d 100644 --- a/llvm.spec +++ b/llvm.spec @@ -7,7 +7,7 @@ # Components enabled if supported by target arch: %ifnarch s390 s390x sparc64 - %bcond_without ocaml + %bcond_with ocaml %else %bcond_with ocaml %endif @@ -34,8 +34,8 @@ #global prerel rc3 Name: llvm -Version: 3.5.0 -Release: 11%{?dist} +Version: 3.6.0 +Release: 1%{?dist} Summary: The Low Level Virtual Machine Group: Development/Languages @@ -53,10 +53,7 @@ Source10: llvm-Config-config.h Source11: llvm-Config-llvm-config.h # patches -Patch1: llvm-3.5.0-build-fix.patch Patch2: 0001-data-install-preserve-timestamps.patch -# Upstream patch for gcc 5/c++11 -Patch3: llvm-IntrusiveRefCntPtr.patch # the next two are various attempts to get clang to actually work on arm # by forcing a hard-float ABI. They don't apply anymore as of 3.5.0, @@ -69,16 +66,7 @@ Patch3: llvm-IntrusiveRefCntPtr.patch # http://llvm.org/bugs/attachment.cgi?id=12586 #Patch22: pr12586.patch -# newish glibc hides the definition of __extern_always_inline behind -# a check for gcc 4.3, clang pretends to be gcc 4.2. a proper fix would -# be to build everything herein with gcc, but i don't have the patience -# atm, so in the interest of bootstrapping... -Patch100: clang-fake-gcc43.patch -# http://llvm.org/bugs/show_bug.cgi?id=22625 -Patch101: clang-pr22625.patch - Patch200: lldb-python.patch -Patch201: lldb-fix-expression-parser.patch Patch202: lldb-python-module-symlink.patch BuildRequires: bison @@ -322,26 +310,12 @@ mv compiler-rt-*/ projects/compiler-rt mv lldb-*/ tools/lldb %endif -%patch1 -p1 %patch2 -p1 -%patch3 -p2 -%if %{with clang} -#patch20 -p1 -#patch22 -p1 -%endif - -%if %{with clang} -pushd tools/clang -%patch100 -p1 -%patch101 -p0 -popd -%endif %if %{with lldb} pushd tools/lldb # careful when recreating this patch... %patch200 -p1 -b .python -%patch201 -p2 %patch202 -p1 sed -i s/@lib@/%{_lib}/g scripts/Python/modules/readline/Makefile popd @@ -363,6 +337,8 @@ sed -i 's|/lib\>|/%{_lib}/%{name}|g' tools/llvm-config/llvm-config.cpp # bugs that make it so. gcc 5 ought to be fixed. export CC=gcc export CXX=g++ +export CFLAGS="%{optflags} -DLLDB_DISABLE_PYTHON" +export CXXFLAGS="%{optflags} -DLLDB_DISABLE_PYTHON" %configure \ --with-extra-options="-fno-devirtualize" \ --with-extra-ld-options=-Wl,-Bsymbolic \ @@ -426,7 +402,7 @@ make %{?_smp_mflags} REQUIRES_RTTI=1 VERBOSE=1 make install DESTDIR=%{buildroot} PROJ_docsdir=/moredocs # you have got to be kidding me -rm -f %{buildroot}%{_bindir}/{FileCheck,count,not} +rm -f %{buildroot}%{_bindir}/{FileCheck,count,not,verify-uselistorder,obj2yaml,yaml2obj} # multilib fixes mv %{buildroot}%{_bindir}/llvm-config{,-%{__isa_bits}} @@ -665,7 +641,7 @@ exit 0 %{_bindir}/lldb-* %{_libdir}/%{name}/liblldb.so # XXX double check this -%{python2_sitearch}/* +#{python2_sitearch}/* %doc %{_mandir}/man1/lldb.1.* %files -n lldb-devel @@ -702,6 +678,9 @@ exit 0 %endif %changelog +* Thu Apr 09 2015 Adam Jackson 3.6.0-1 +- llvm 3.6.0 + * Wed Feb 18 2015 Jonathan Wakely - 3.5.0-11 - Add patch for http://llvm.org/bugs/show_bug.cgi?id=22625 diff --git a/sources b/sources index 13d19be..3112db3 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -27718dd13c7df83e15f997116bbb4aef cfe-3.5.0.src.tar.xz -02624d2a9144278c3808c00dbbab56c8 compiler-rt-3.5.0.src.tar.xz -9597d5376309805ac586adfbd1e992f4 lldb-3.5.0.src.tar.xz -d6987305a1a0e58e128c1374cd3b8fef llvm-3.5.0.src.tar.xz +e3012065543dc6ab8a9842b09616b78d cfe-3.6.0.src.tar.xz +cc36dbcafe43406083e98bc9e74f8054 compiler-rt-3.6.0.src.tar.xz +a1ea02b3126152f3dd9aeee8ebb5afa5 lldb-3.6.0.src.tar.xz +f1e14e949f8df3047c59816c55278cec llvm-3.6.0.src.tar.xz