Compare commits
12 Commits
Author | SHA1 | Date |
---|---|---|
Tom Stellard | 2fe79bebc0 | |
Tom Stellard | 3862e1cabc | |
Tom Stellard | c44836aca2 | |
Tom Stellard | 576bbe6039 | |
Tom Stellard | 8ab2dff19c | |
Tom Stellard | 4411155804 | |
Tom Stellard | b80bfffc4e | |
Tom Stellard | 02d54935dd | |
Rex Dieter | 19686811a0 | |
Merlin Mathesius | f7293843ba | |
Rex Dieter | b250272745 | |
Tom Stellard | 09b70fb26b |
|
@ -12,3 +12,12 @@
|
||||||
/cfe-4.0.1.src.tar.xz
|
/cfe-4.0.1.src.tar.xz
|
||||||
/test-suite-4.0.1.src.tar.xz
|
/test-suite-4.0.1.src.tar.xz
|
||||||
/clang-tools-extra-4.0.1.src.tar.xz
|
/clang-tools-extra-4.0.1.src.tar.xz
|
||||||
|
/cfe-5.0.0.src.tar.xz
|
||||||
|
/test-suite-5.0.0.src.tar.xz
|
||||||
|
/clang-tools-extra-5.0.0.src.tar.xz
|
||||||
|
/clang-tools-extra-5.0.1.src.tar.xz
|
||||||
|
/cfe-5.0.1.src.tar.xz
|
||||||
|
/test-suite-5.0.1.src.tar.xz
|
||||||
|
/clang-tools-extra-5.0.2.src.tar.xz
|
||||||
|
/cfe-5.0.2.src.tar.xz
|
||||||
|
/test-suite-5.0.2.src.tar.xz
|
||||||
|
|
|
@ -0,0 +1,58 @@
|
||||||
|
From fb059232298398dca898d7ca765f74a81d5af995 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Richard Trieu <rtrieu@google.com>
|
||||||
|
Date: Wed, 9 Aug 2017 02:03:59 +0000
|
||||||
|
Subject: [PATCH] Allow operator delete to be an invalid Decl.
|
||||||
|
|
||||||
|
Do not discard invalid Decl when searching for the operator delete function.
|
||||||
|
The lookup for this function always expects to find a result, so sometimes the
|
||||||
|
invalid Decl is the only choice possible. This fixes PR34109.
|
||||||
|
|
||||||
|
|
||||||
|
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@310435 91177308-0d34-0410-b5e6-96231b3b80d8
|
||||||
|
---
|
||||||
|
lib/Sema/SemaExprCXX.cpp | 3 ---
|
||||||
|
test/SemaCXX/MicrosoftExtensions.cpp | 14 ++++++++++++++
|
||||||
|
2 files changed, 14 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lib/Sema/SemaExprCXX.cpp b/lib/Sema/SemaExprCXX.cpp
|
||||||
|
index 9c0bd6fedd..4ef6df70b8 100644
|
||||||
|
--- a/lib/Sema/SemaExprCXX.cpp
|
||||||
|
+++ b/lib/Sema/SemaExprCXX.cpp
|
||||||
|
@@ -1378,9 +1378,6 @@ Sema::BuildCXXTypeConstructExpr(TypeSourceInfo *TInfo,
|
||||||
|
/// \brief Determine whether the given function is a non-placement
|
||||||
|
/// deallocation function.
|
||||||
|
static bool isNonPlacementDeallocationFunction(Sema &S, FunctionDecl *FD) {
|
||||||
|
- if (FD->isInvalidDecl())
|
||||||
|
- return false;
|
||||||
|
-
|
||||||
|
if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(FD))
|
||||||
|
return Method->isUsualDeallocationFunction();
|
||||||
|
|
||||||
|
diff --git a/test/SemaCXX/MicrosoftExtensions.cpp b/test/SemaCXX/MicrosoftExtensions.cpp
|
||||||
|
index 38949e1137..c605dcb912 100644
|
||||||
|
--- a/test/SemaCXX/MicrosoftExtensions.cpp
|
||||||
|
+++ b/test/SemaCXX/MicrosoftExtensions.cpp
|
||||||
|
@@ -504,6 +504,20 @@ struct S {
|
||||||
|
int S::fn() { return 0; } // expected-warning {{is missing exception specification}}
|
||||||
|
}
|
||||||
|
|
||||||
|
+class PR34109_class {
|
||||||
|
+ PR34109_class() {}
|
||||||
|
+ virtual ~PR34109_class() {}
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+void operator delete(void *) throw();
|
||||||
|
+// expected-note@-1 {{previous declaration is here}}
|
||||||
|
+__declspec(dllexport) void operator delete(void *) throw();
|
||||||
|
+// expected-error@-1 {{redeclaration of 'operator delete' cannot add 'dllexport' attribute}}
|
||||||
|
+
|
||||||
|
+void PR34109(int* a) {
|
||||||
|
+ delete a;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
#elif TEST2
|
||||||
|
|
||||||
|
// Check that __unaligned is not recognized if MS extensions are not enabled
|
||||||
|
--
|
||||||
|
2.13.6
|
||||||
|
|
|
@ -0,0 +1,120 @@
|
||||||
|
From 1dba36251a2d5238813bae9f8ae1289891297013 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tom Stellard <tstellar@redhat.com>
|
||||||
|
Date: Thu, 18 Jan 2018 02:57:51 +0000
|
||||||
|
Subject: [PATCH] Driver: Prefer vendor supplied gcc toolchain
|
||||||
|
|
||||||
|
Summary:
|
||||||
|
This patch fixes an issue on Fedora where if you had the x86_64 cross
|
||||||
|
compiler installed on your x86_64 system, then clang would use that compiler
|
||||||
|
as the default toolchain. This was happening because the cross compiler
|
||||||
|
is installed to /usr/lib/gcc/x86_64-linux-gnu/ and this directory comes before
|
||||||
|
the default compiler directory (/usr/lib/gcc/x86_64-redhat-linux/) in the search
|
||||||
|
list.
|
||||||
|
|
||||||
|
This patch re-orders the search list so that vendor supplied gcc toolchains
|
||||||
|
are selected before toolchains with a generic target, which should prevent
|
||||||
|
these kind of issues on other OSes too.
|
||||||
|
|
||||||
|
Subscribers: srhines, cfe-commits
|
||||||
|
|
||||||
|
Differential Revision: https://reviews.llvm.org/D42608
|
||||||
|
---
|
||||||
|
lib/Driver/ToolChains/Gnu.cpp | 45 ++++++++++++++++++++++---------------------
|
||||||
|
1 file changed, 23 insertions(+), 22 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp
|
||||||
|
index 7845781..9cec316 100644
|
||||||
|
--- a/lib/Driver/ToolChains/Gnu.cpp
|
||||||
|
+++ b/lib/Driver/ToolChains/Gnu.cpp
|
||||||
|
@@ -1709,8 +1709,8 @@ bool Generic_GCC::GCCInstallationDetector::getBiarchSibling(Multilib &M) const {
|
||||||
|
// lifetime or initialization issues.
|
||||||
|
static const char *const AArch64LibDirs[] = {"/lib64", "/lib"};
|
||||||
|
static const char *const AArch64Triples[] = {
|
||||||
|
- "aarch64-none-linux-gnu", "aarch64-linux-gnu", "aarch64-linux-android",
|
||||||
|
- "aarch64-redhat-linux", "aarch64-suse-linux"};
|
||||||
|
+ "aarch64-redhat-linux", "aarch64-suse-linux",
|
||||||
|
+ "aarch64-none-linux-gnu", "aarch64-linux-gnu", "aarch64-linux-android"};
|
||||||
|
static const char *const AArch64beLibDirs[] = {"/lib"};
|
||||||
|
static const char *const AArch64beTriples[] = {"aarch64_be-none-linux-gnu",
|
||||||
|
"aarch64_be-linux-gnu"};
|
||||||
|
@@ -1718,10 +1718,11 @@ bool Generic_GCC::GCCInstallationDetector::getBiarchSibling(Multilib &M) const {
|
||||||
|
static const char *const ARMLibDirs[] = {"/lib"};
|
||||||
|
static const char *const ARMTriples[] = {"arm-linux-gnueabi",
|
||||||
|
"arm-linux-androideabi"};
|
||||||
|
- static const char *const ARMHFTriples[] = {"arm-linux-gnueabihf",
|
||||||
|
- "armv7hl-redhat-linux-gnueabi",
|
||||||
|
+ static const char *const ARMHFTriples[] = {"armv7hl-redhat-linux-gnueabi",
|
||||||
|
"armv6hl-suse-linux-gnueabi",
|
||||||
|
- "armv7hl-suse-linux-gnueabi"};
|
||||||
|
+ "armv7hl-suse-linux-gnueabi",
|
||||||
|
+ "arm-linux-gnueabihf",
|
||||||
|
+ };
|
||||||
|
static const char *const ARMebLibDirs[] = {"/lib"};
|
||||||
|
static const char *const ARMebTriples[] = {"armeb-linux-gnueabi",
|
||||||
|
"armeb-linux-androideabi"};
|
||||||
|
@@ -1730,19 +1731,19 @@ bool Generic_GCC::GCCInstallationDetector::getBiarchSibling(Multilib &M) const {
|
||||||
|
|
||||||
|
static const char *const X86_64LibDirs[] = {"/lib64", "/lib"};
|
||||||
|
static const char *const X86_64Triples[] = {
|
||||||
|
- "x86_64-linux-gnu", "x86_64-unknown-linux-gnu",
|
||||||
|
- "x86_64-pc-linux-gnu", "x86_64-redhat-linux6E",
|
||||||
|
- "x86_64-redhat-linux", "x86_64-suse-linux",
|
||||||
|
- "x86_64-manbo-linux-gnu", "x86_64-linux-gnu",
|
||||||
|
- "x86_64-slackware-linux", "x86_64-linux-android",
|
||||||
|
+ "x86_64-redhat-linux6E", "x86_64-redhat-linux",
|
||||||
|
+ "x86_64-suse-linux", "x86_64-slackware-linux",
|
||||||
|
+ "x86_64-manbo-linux-gnu", "x86_64-linux-gnu",
|
||||||
|
+ "x86_64-unknown-linux-gnu", "x86_64-pc-linux-gnu",
|
||||||
|
+ "x86_64-linux-gnu", "x86_64-linux-android",
|
||||||
|
"x86_64-unknown-linux"};
|
||||||
|
static const char *const X32LibDirs[] = {"/libx32"};
|
||||||
|
static const char *const X86LibDirs[] = {"/lib32", "/lib"};
|
||||||
|
static const char *const X86Triples[] = {
|
||||||
|
- "i686-linux-gnu", "i686-pc-linux-gnu", "i486-linux-gnu",
|
||||||
|
- "i386-linux-gnu", "i386-redhat-linux6E", "i686-redhat-linux",
|
||||||
|
- "i586-redhat-linux", "i386-redhat-linux", "i586-suse-linux",
|
||||||
|
- "i486-slackware-linux", "i686-montavista-linux", "i686-linux-android",
|
||||||
|
+ "i386-redhat-linux6E", "i686-redhat-linux", "i586-redhat-linuxll",
|
||||||
|
+ "i386-redhat-linux", "i586-suse-linux", "i486-slackware-linux",
|
||||||
|
+ "i686-montavista-linux", "i686-linux-gnu", "i686-pc-linux-gnu",
|
||||||
|
+ "i486-linux-gnu", "i386-linux-gnu", "i686-linux-android",
|
||||||
|
"i586-linux-gnu"};
|
||||||
|
|
||||||
|
static const char *const MIPSLibDirs[] = {"/lib"};
|
||||||
|
@@ -1772,16 +1773,16 @@ bool Generic_GCC::GCCInstallationDetector::getBiarchSibling(Multilib &M) const {
|
||||||
|
|
||||||
|
static const char *const PPCLibDirs[] = {"/lib32", "/lib"};
|
||||||
|
static const char *const PPCTriples[] = {
|
||||||
|
- "powerpc-linux-gnu", "powerpc-unknown-linux-gnu", "powerpc-linux-gnuspe",
|
||||||
|
- "powerpc-suse-linux", "powerpc-montavista-linuxspe"};
|
||||||
|
+ "powerpc-suse-linux", "powerpc-montavista-linuxspe",
|
||||||
|
+ "powerpc-linux-gnu", "powerpc-unknown-linux-gnu", "powerpc-linux-gnuspe"};
|
||||||
|
static const char *const PPC64LibDirs[] = {"/lib64", "/lib"};
|
||||||
|
static const char *const PPC64Triples[] = {
|
||||||
|
- "powerpc64-linux-gnu", "powerpc64-unknown-linux-gnu",
|
||||||
|
- "powerpc64-suse-linux", "ppc64-redhat-linux"};
|
||||||
|
+ "powerpc64-suse-linux", "ppc64-redhat-linux",
|
||||||
|
+ "powerpc64-linux-gnu", "powerpc64-unknown-linux-gnu"};
|
||||||
|
static const char *const PPC64LELibDirs[] = {"/lib64", "/lib"};
|
||||||
|
static const char *const PPC64LETriples[] = {
|
||||||
|
- "powerpc64le-linux-gnu", "powerpc64le-unknown-linux-gnu",
|
||||||
|
- "powerpc64le-suse-linux", "ppc64le-redhat-linux"};
|
||||||
|
+ "powerpc64le-suse-linux", "ppc64le-redhat-linux",
|
||||||
|
+ "powerpc64le-linux-gnu", "powerpc64le-unknown-linux-gnu"};
|
||||||
|
|
||||||
|
static const char *const SPARCv8LibDirs[] = {"/lib32", "/lib"};
|
||||||
|
static const char *const SPARCv8Triples[] = {"sparc-linux-gnu",
|
||||||
|
@@ -1792,8 +1793,8 @@ bool Generic_GCC::GCCInstallationDetector::getBiarchSibling(Multilib &M) const {
|
||||||
|
|
||||||
|
static const char *const SystemZLibDirs[] = {"/lib64", "/lib"};
|
||||||
|
static const char *const SystemZTriples[] = {
|
||||||
|
- "s390x-linux-gnu", "s390x-unknown-linux-gnu", "s390x-ibm-linux-gnu",
|
||||||
|
- "s390x-suse-linux", "s390x-redhat-linux"};
|
||||||
|
+ "s390x-ibm-linux-gnu", "s390x-suse-linux", "s390x-redhat-linux",
|
||||||
|
+ "s390x-linux-gnu", "s390x-unknown-linux-gnu"};
|
||||||
|
|
||||||
|
// Solaris.
|
||||||
|
static const char *const SolarisSPARCLibDirs[] = {"/gcc"};
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
|
@ -1,29 +0,0 @@
|
||||||
From 9d17579a4fa653627bfafa77621c3a89867da97d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tom Stellard <tstellar@redhat.com>
|
|
||||||
Date: Tue, 9 May 2017 01:42:33 +0000
|
|
||||||
Subject: [PATCH] docs: Fix Sphinx detection with out-of-tree builds
|
|
||||||
|
|
||||||
Adapt to changes made in r302499.
|
|
||||||
|
|
||||||
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@302500 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
||||||
---
|
|
||||||
docs/CMakeLists.txt | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt
|
|
||||||
index 13b79fdf..d2956c1 100644
|
|
||||||
--- a/docs/CMakeLists.txt
|
|
||||||
+++ b/docs/CMakeLists.txt
|
|
||||||
@@ -91,8 +91,8 @@ endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (LLVM_ENABLE_SPHINX)
|
|
||||||
+ include(AddSphinxTarget)
|
|
||||||
if (SPHINX_FOUND)
|
|
||||||
- include(AddSphinxTarget)
|
|
||||||
if (${SPHINX_OUTPUT_HTML})
|
|
||||||
add_sphinx_target(html clang)
|
|
||||||
add_custom_command(TARGET docs-clang-html POST_BUILD
|
|
||||||
--
|
|
||||||
1.8.3.1
|
|
||||||
|
|
|
@ -1,43 +0,0 @@
|
||||||
From 3306314bccdb3429a58fca198bec8d1a01cdf170 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Matthias Braun <matze@braunis.de>
|
|
||||||
Date: Fri, 13 Jan 2017 18:36:20 +0000
|
|
||||||
Subject: [PATCH] litsupport: Add compatibility cludge so it still works with
|
|
||||||
the pypy version of lit
|
|
||||||
|
|
||||||
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@291933 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
||||||
---
|
|
||||||
litsupport/testfile.py | 13 ++++++++-----
|
|
||||||
1 file changed, 8 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/litsupport/testfile.py b/litsupport/testfile.py
|
|
||||||
index d1d234a..7223938 100644
|
|
||||||
--- a/litsupport/testfile.py
|
|
||||||
+++ b/litsupport/testfile.py
|
|
||||||
@@ -27,16 +27,19 @@ def parse(context, filename):
|
|
||||||
runscript = []
|
|
||||||
verifyscript = []
|
|
||||||
metricscripts = {}
|
|
||||||
- keywords = ['PREPARE:', 'RUN:', 'VERIFY:', 'METRIC:']
|
|
||||||
+ # Note that we keep both "RUN" and "RUN:" in the list to stay compatible
|
|
||||||
+ # with older lit versions.
|
|
||||||
+ keywords = ['PREPARE:', 'PREPARE', 'RUN:', 'RUN', 'VERIFY:', 'VERIFY',
|
|
||||||
+ 'METRIC:', 'METRIC']
|
|
||||||
for line_number, command_type, ln in \
|
|
||||||
parseIntegratedTestScriptCommands(filename, keywords):
|
|
||||||
- if command_type == 'PREPARE:':
|
|
||||||
+ if command_type.startswith('PREPARE'):
|
|
||||||
_parseShellCommand(preparescript, ln)
|
|
||||||
- elif command_type == 'RUN:':
|
|
||||||
+ elif command_type.startswith('RUN'):
|
|
||||||
_parseShellCommand(runscript, ln)
|
|
||||||
- elif command_type == 'VERIFY:':
|
|
||||||
+ elif command_type.startswith('VERIFY'):
|
|
||||||
_parseShellCommand(verifyscript, ln)
|
|
||||||
- elif command_type == 'METRIC:':
|
|
||||||
+ elif command_type.startswith('METRIC'):
|
|
||||||
metric, ln = ln.split(':', 1)
|
|
||||||
metricscript = metricscripts.setdefault(metric.strip(), list())
|
|
||||||
_parseShellCommand(metricscript, ln)
|
|
||||||
--
|
|
||||||
2.9.3
|
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
From 0d272ed9be35fcd1992b08a9026a74d18cf1d7ec Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tom Stellard <tstellar@redhat.com>
|
|
||||||
Date: Thu, 15 Jun 2017 16:33:25 -0400
|
|
||||||
Subject: [PATCH] test: Remove FileCheck, not, count dependencies
|
|
||||||
|
|
||||||
clang already adds these as dependencies for lit.
|
|
||||||
---
|
|
||||||
test/CMakeLists.txt | 3 ---
|
|
||||||
1 file changed, 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
|
|
||||||
index a9d7b7c..1a8930a 100644
|
|
||||||
--- a/test/CMakeLists.txt
|
|
||||||
+++ b/test/CMakeLists.txt
|
|
||||||
@@ -31,9 +31,6 @@ if(CLANG_TOOLS_TEST_USE_VG)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(CLANG_TOOLS_TEST_DEPS
|
|
||||||
- # Base line deps.
|
|
||||||
- FileCheck count not
|
|
||||||
-
|
|
||||||
# clang-tidy tests require it.
|
|
||||||
clang-headers
|
|
||||||
|
|
||||||
--
|
|
||||||
1.8.3.1
|
|
||||||
|
|
112
clang.spec
112
clang.spec
|
@ -1,4 +1,9 @@
|
||||||
|
%global maj_ver 5
|
||||||
|
%global min_ver 0
|
||||||
|
%global patch_ver 2
|
||||||
|
|
||||||
%global clang_tools_binaries \
|
%global clang_tools_binaries \
|
||||||
|
%{_bindir}/clangd \
|
||||||
%{_bindir}/clang-apply-replacements \
|
%{_bindir}/clang-apply-replacements \
|
||||||
%{_bindir}/clang-change-namespace \
|
%{_bindir}/clang-change-namespace \
|
||||||
%{_bindir}/clang-include-fixer \
|
%{_bindir}/clang-include-fixer \
|
||||||
|
@ -10,24 +15,24 @@
|
||||||
%global clang_binaries \
|
%global clang_binaries \
|
||||||
%{_bindir}/clang \
|
%{_bindir}/clang \
|
||||||
%{_bindir}/clang++ \
|
%{_bindir}/clang++ \
|
||||||
%{_bindir}/clang-4.0 \
|
%{_bindir}/clang-%{maj_ver}.%{min_ver} \
|
||||||
|
%{_bindir}/clang++-%{maj_ver}.%{min_ver} \
|
||||||
%{_bindir}/clang-check \
|
%{_bindir}/clang-check \
|
||||||
%{_bindir}/clang-cl \
|
%{_bindir}/clang-cl \
|
||||||
%{_bindir}/clang-cpp \
|
%{_bindir}/clang-cpp \
|
||||||
%{_bindir}/clang-format \
|
%{_bindir}/clang-format \
|
||||||
%{_bindir}/clang-import-test \
|
%{_bindir}/clang-import-test \
|
||||||
%{_bindir}/clang-offload-bundler \
|
%{_bindir}/clang-offload-bundler
|
||||||
%{_bindir}/git-clang-format
|
|
||||||
|
|
||||||
%if 0%{?fedora}
|
%if 0%{?fedora} || 0%{?rhel} > 7
|
||||||
%bcond_without python3
|
%bcond_without python3
|
||||||
%else
|
%else
|
||||||
%bcond_with python3
|
%bcond_with python3
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
Name: clang
|
Name: clang
|
||||||
Version: 4.0.1
|
Version: %{maj_ver}.%{min_ver}.%{patch_ver}
|
||||||
Release: 4%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: A C language family front-end for LLVM
|
Summary: A C language family front-end for LLVM
|
||||||
|
|
||||||
License: NCSA
|
License: NCSA
|
||||||
|
@ -38,11 +43,9 @@ Source2: http://llvm.org/releases/%{version}/test-suite-%{version}.src.tar.xz
|
||||||
|
|
||||||
Source100: clang-config.h
|
Source100: clang-config.h
|
||||||
|
|
||||||
# This patch is required when the test suite is using python-lit 0.5.0.
|
|
||||||
Patch1: 0001-litsupport-Add-compatibility-cludge-so-it-still-work.patch
|
|
||||||
Patch2: 0001-docs-Fix-Sphinx-detection-with-out-of-tree-builds.patch
|
|
||||||
Patch3: 0001-test-Remove-FileCheck-not-count-dependencies.patch
|
|
||||||
Patch4: 0001-lit.cfg-Remove-substitutions-for-clang-llvm-tools.patch
|
Patch4: 0001-lit.cfg-Remove-substitutions-for-clang-llvm-tools.patch
|
||||||
|
Patch6: 0001-Driver-Prefer-vendor-supplied-gcc-toolchain.patch
|
||||||
|
Patch7: 0001-Allow-operator-delete-to-be-an-invalid-Decl.patch
|
||||||
|
|
||||||
BuildRequires: cmake
|
BuildRequires: cmake
|
||||||
BuildRequires: llvm-devel = %{version}
|
BuildRequires: llvm-devel = %{version}
|
||||||
|
@ -88,7 +91,8 @@ as libraries and designed to be loosely-coupled and extensible.
|
||||||
|
|
||||||
%package libs
|
%package libs
|
||||||
Summary: Runtime library for clang
|
Summary: Runtime library for clang
|
||||||
Requires: compiler-rt%{?_isa} >= %{version}
|
Recommends: compiler-rt%{?_isa} >= %{version}
|
||||||
|
Recommends: libomp%{_isa} = %{version}
|
||||||
|
|
||||||
%description libs
|
%description libs
|
||||||
Runtime library for clang.
|
Runtime library for clang.
|
||||||
|
@ -96,6 +100,8 @@ Runtime library for clang.
|
||||||
%package devel
|
%package devel
|
||||||
Summary: Development header files for clang.
|
Summary: Development header files for clang.
|
||||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
# The clang CMake files reference tools from clang-tools-extra.
|
||||||
|
Requires: %{name}-tools-extra%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
Development header files for clang.
|
Development header files for clang.
|
||||||
|
@ -118,21 +124,40 @@ intended to run in tandem with a build of a project or code base.
|
||||||
%package tools-extra
|
%package tools-extra
|
||||||
Summary: Extra tools for clang
|
Summary: Extra tools for clang
|
||||||
Requires: llvm-libs%{?_isa} = %{version}
|
Requires: llvm-libs%{?_isa} = %{version}
|
||||||
Requires: clang-libs%{?_isa} = %{version}
|
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
%description tools-extra
|
%description tools-extra
|
||||||
A set of extra tools built using Clang's tooling API.
|
A set of extra tools built using Clang's tooling API.
|
||||||
|
|
||||||
|
# Put git-clang-format in its own package, because it Requires git and python2
|
||||||
|
# and we don't want to force users to install all those dependenices if they
|
||||||
|
# just want clang.
|
||||||
|
%package -n git-clang-format
|
||||||
|
Summary: clang-format integration for git
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: git
|
||||||
|
Requires: python2
|
||||||
|
|
||||||
|
%description -n git-clang-format
|
||||||
|
clang-format integration for git.
|
||||||
|
|
||||||
|
%package -n python2-clang
|
||||||
|
Summary: Python2 bindings for clang
|
||||||
|
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: python2
|
||||||
|
%description -n python2-clang
|
||||||
|
%{summary}.
|
||||||
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -T -q -b 1 -n clang-tools-extra-%{version}.src
|
%setup -T -q -b 1 -n clang-tools-extra-%{version}.src
|
||||||
%patch3 -p1 -b .lit-dep-fix
|
|
||||||
|
|
||||||
%setup -T -q -b 2 -n test-suite-%{version}.src
|
%setup -T -q -b 2 -n test-suite-%{version}.src
|
||||||
%patch1 -p1 -b .lit-fix
|
|
||||||
|
|
||||||
%setup -q -n cfe-%{version}.src
|
%setup -q -n cfe-%{version}.src
|
||||||
%patch2 -p1 -b .docs-fix
|
|
||||||
%patch4 -p1 -b .lit-tools-fix
|
%patch4 -p1 -b .lit-tools-fix
|
||||||
|
%patch6 -p1 -b .vendor-gcc
|
||||||
|
%patch7 -p1 -b .operator-fix
|
||||||
|
|
||||||
mv ../clang-tools-extra-%{version}.src tools/extra
|
mv ../clang-tools-extra-%{version}.src tools/extra
|
||||||
|
|
||||||
|
@ -167,8 +192,13 @@ cd _build
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%install
|
%install
|
||||||
cd _build
|
make install DESTDIR=%{buildroot} -C _build
|
||||||
make install DESTDIR=%{buildroot}
|
|
||||||
|
sed -i -e 's~#!/usr/bin/env python~#!%{_bindir}/python2~' %{buildroot}%{_bindir}/git-clang-format
|
||||||
|
|
||||||
|
# install clang python bindings
|
||||||
|
mkdir -p %{buildroot}%{python2_sitelib}/clang/
|
||||||
|
install -p -m644 bindings/python/clang/* %{buildroot}%{python2_sitelib}/clang/
|
||||||
|
|
||||||
# multilib fix
|
# multilib fix
|
||||||
mv -v %{buildroot}%{_includedir}/clang/Config/config{,-%{__isa_bits}}.h
|
mv -v %{buildroot}%{_includedir}/clang/Config/config{,-%{__isa_bits}}.h
|
||||||
|
@ -193,6 +223,12 @@ rm -vf %{buildroot}%{_datadir}/clang/clang-format-diff.py*
|
||||||
# TODO: Package html docs
|
# TODO: Package html docs
|
||||||
rm -Rvf %{buildroot}%{_pkgdocdir}
|
rm -Rvf %{buildroot}%{_pkgdocdir}
|
||||||
|
|
||||||
|
# TODO: What are the Fedora guidelines for packaging bash autocomplete files?
|
||||||
|
rm -vf %{buildroot}%{_datadir}/clang/bash-autocomplete.sh
|
||||||
|
|
||||||
|
# Add clang++-{version} sylink
|
||||||
|
ln -s %{_bindir}/clang++ %{buildroot}%{_bindir}/clang++-%{maj_ver}.%{min_ver}
|
||||||
|
|
||||||
%check
|
%check
|
||||||
# requires lit.py from LLVM utilities
|
# requires lit.py from LLVM utilities
|
||||||
cd _build
|
cd _build
|
||||||
|
@ -239,7 +275,49 @@ make %{?_smp_mflags} check || :
|
||||||
%{_bindir}/find-all-symbols
|
%{_bindir}/find-all-symbols
|
||||||
%{_bindir}/modularize
|
%{_bindir}/modularize
|
||||||
|
|
||||||
|
%files -n git-clang-format
|
||||||
|
%{_bindir}/git-clang-format
|
||||||
|
|
||||||
|
%files -n python2-clang
|
||||||
|
%{python2_sitelib}/clang/
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon May 07 2018 Tom Stellard <tstellar@redhat.com> - 5.0.2-1
|
||||||
|
- 5.0.2 Release
|
||||||
|
|
||||||
|
* Fri Mar 23 2018 Tom Stellard <tstellar@redhat.com> - 5.0.1-5
|
||||||
|
- Add a clang++-{version} symlink rhbz#1534098
|
||||||
|
|
||||||
|
* Fri Mar 16 2018 Tom Stellard <tstellar@redhat.com> - 5.0.1-4
|
||||||
|
- Backport r310435 from clang trunk. rhbz#1554280
|
||||||
|
|
||||||
|
* Thu Feb 08 2018 Tom Stellard <tstellar@redhat.com> - 5.0.1-3
|
||||||
|
- Fix toolchain detection so we don't default to using cross-compilers
|
||||||
|
- rhbz1482491
|
||||||
|
|
||||||
|
* Tue Feb 06 2018 Tom Stellard <tstellar@redhat.com> - 5.0.1-2
|
||||||
|
- Backport retpoline support
|
||||||
|
|
||||||
|
* Wed Dec 20 2017 Tom Stellard <tstellar@redhat.com> - 5.0.1-1
|
||||||
|
- 5.0.1 Release
|
||||||
|
|
||||||
|
* Wed Dec 13 2017 Tom Stellard <tstellar@redhat.com> - 5.0.0-3
|
||||||
|
- Make compiler-rt a weak dependency and add a weak dependency on libomp
|
||||||
|
|
||||||
|
* Mon Dec 11 2017 Tom Stellard <tstellar@redhat.com> - 5.0.0-1
|
||||||
|
- 5.0.0 Release
|
||||||
|
|
||||||
|
* Mon Nov 06 2017 Merlin Mathesius <mmathesi@redhat.com> - 4.0.1-7
|
||||||
|
- Cleanup spec file conditionals
|
||||||
|
|
||||||
|
* Wed Oct 04 2017 Rex Dieter <rdieter@fedoraproject.org> - 4.0.1-6
|
||||||
|
- python2-clang subpkg (#1490997)
|
||||||
|
- tools-extras: tighten (internal) -libs dep
|
||||||
|
- %%install: avoid cd
|
||||||
|
|
||||||
|
* Wed Aug 30 2017 Tom Stellard <tstellar@redhat.com> - 4.0.1-5
|
||||||
|
- Add Requires: python for git-clang-format
|
||||||
|
|
||||||
* Sun Aug 06 2017 Björn Esser <besser82@fedoraproject.org> - 4.0.1-4
|
* Sun Aug 06 2017 Björn Esser <besser82@fedoraproject.org> - 4.0.1-4
|
||||||
- Rebuilt for AutoReq cmake-filesystem
|
- Rebuilt for AutoReq cmake-filesystem
|
||||||
|
|
||||||
|
|
9
sources
9
sources
|
@ -1,6 +1,3 @@
|
||||||
SHA512 (cfe-4.0.0.src.tar.xz) = a0d9972ec337a5c105fcbe7abc4076ba1e580f28908a3318f43bbfe59143f446ed5b78dad210f624145d7e5a3d56c15bfead78826c068422b60120fa1cfa482a
|
SHA512 (clang-tools-extra-5.0.2.src.tar.xz) = 241d85652e7c3ad5d77754ad9a694bddab3c14098067da4119223007c5a4a765d1cd7e7c7dba91666ccd5506f8703c82c9ee487f28249a00c2c4edbd0d1f2640
|
||||||
SHA512 (clang-tools-extra-4.0.0.src.tar.xz) = 2f9aed5ff7e175b730802961f9ce0aa6376ce78d905839e60536b6d166f68dc31d4420a668ed1e08f3601a5fefa8f7514172daaf77eb325fecd00e55f56e5af4
|
SHA512 (cfe-5.0.2.src.tar.xz) = 9931afceb5569ad6caec85d506180c810f7fea94af8c997143b0a37cbf413fcea0d92520478610627eeee1efb65fde684066ace0dfcbbf7b61ecd709d22dd0b1
|
||||||
SHA512 (test-suite-4.0.0.src.tar.xz) = 1ec2bc3307d8047ffe877e86ebac69f8f1f3ac062d789c2e341b4d4be4b1973d02ab398879cd42faf3346b8952991f00f4f77e4e63604718241cc5f5abb822b3
|
SHA512 (test-suite-5.0.2.src.tar.xz) = f79bf7d049e75fed5ddd9c8834433d2b099701407a6dff7d00979c6a76cad95e562324f8cb95db918d55972cd9c02fbbae1475c994af79456d3149ec4a21eefa
|
||||||
SHA512 (cfe-4.0.1.src.tar.xz) = 936c9e1626b27e63a4fb11f3c0cb998eeaf9a520ad6e2bcd67cb4352e59e7781ecc700df79794f3fd70473d90b7e2ba418a39038eb0146b68e843f0705c1f964
|
|
||||||
SHA512 (test-suite-4.0.1.src.tar.xz) = 4a7184568fb805f299d7723622f87e1c7755701a2344b1a554ed657952caa25855ec637c889a15ad23994e4850822571b008c4fc95bee833aa05d564b9ff11c6
|
|
||||||
SHA512 (clang-tools-extra-4.0.1.src.tar.xz) = ea26d926f428e62e76cf8a073e63ffe05645f6592e05d7717d5c257908870ae9217727d3e1578227b14eda5937085872463f1a8e99970256179c68b8a92e69e0
|
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
- hosts: localhost
|
||||||
|
vars:
|
||||||
|
- artifacts: ./artifacts
|
||||||
|
tags:
|
||||||
|
- classic
|
||||||
|
tasks:
|
||||||
|
- name: Test block
|
||||||
|
block:
|
||||||
|
- name: Install clang
|
||||||
|
dnf:
|
||||||
|
name: clang
|
||||||
|
state: present
|
||||||
|
- name: Install cross-gcc
|
||||||
|
dnf:
|
||||||
|
name: gcc-x86_64-linux-gnu
|
||||||
|
state: present
|
||||||
|
- name: Test that clang uses the correct gcc toolchain when cross-gcc is installed.
|
||||||
|
shell: echo "int main(){}" | clang -x c -
|
|
@ -0,0 +1 @@
|
||||||
|
- include: gcc-detector.yml
|
Loading…
Reference in New Issue