llvm 3.6.0

This commit is contained in:
Adam Jackson 2015-04-09 13:10:49 -04:00
parent 96649fa424
commit 2ee1a75aac
8 changed files with 18 additions and 157 deletions

4
.gitignore vendored
View File

@ -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

View File

@ -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");
}

View File

@ -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<StringRef, 5> 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;

View File

@ -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;

View File

@ -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<obj2yaml_error>(ev)) {

View File

@ -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<T>::retain(Obj); }
void release() { if (Obj) IntrusiveRefCntPtrInfo<T>::release(Obj); }
+
+ template <typename X>
+ friend class IntrusiveRefCntPtr;
};
template<class T, class U>

View File

@ -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 <ajax@redhat.com> 3.6.0-1
- llvm 3.6.0
* Wed Feb 18 2015 Jonathan Wakely <jwakely@redhat.com> - 3.5.0-11
- Add patch for http://llvm.org/bugs/show_bug.cgi?id=22625

View File

@ -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