Merge remote-tracking branch 'up/master' into master-riscv64
Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com>
This commit is contained in:
commit
98f194dc4a
|
@ -65,3 +65,37 @@
|
|||
/clang-tools-extra-8.0.0.src.tar.xz
|
||||
/cfe-9.0.0rc2.src.tar.xz
|
||||
/clang-tools-extra-9.0.0rc2.src.tar.xz
|
||||
/cfe-9.0.0rc3.src.tar.xz
|
||||
/clang-tools-extra-9.0.0rc3.src.tar.xz
|
||||
/cfe-9.0.0.src.tar.xz
|
||||
/clang-tools-extra-9.0.0.src.tar.xz
|
||||
/clang-9.0.1.src.tar.xz
|
||||
/clang-tools-extra-9.0.1.src.tar.xz
|
||||
/clang-10.0.0rc1.src.tar.xz
|
||||
/clang-tools-extra-10.0.0rc1.src.tar.xz
|
||||
/clang-10.0.0rc1.src.tar.xz.sig
|
||||
/clang-tools-extra-10.0.0rc1.src.tar.xz.sig
|
||||
/clang-10.0.0rc2.src.tar.xz
|
||||
/clang-tools-extra-10.0.0rc2.src.tar.xz
|
||||
/clang-tools-extra-10.0.0rc2.src.tar.xz.sig
|
||||
/clang-10.0.0rc2.src.tar.xz.sig
|
||||
/clang-10.0.0rc3.src.tar.xz
|
||||
/clang-tools-extra-10.0.0rc3.src.tar.xz
|
||||
/clang-tools-extra-10.0.0rc3.src.tar.xz.sig
|
||||
/clang-10.0.0rc3.src.tar.xz.sig
|
||||
/clang-10.0.0rc4.src.tar.xz
|
||||
/clang-tools-extra-10.0.0rc4.src.tar.xz
|
||||
/clang-tools-extra-10.0.0rc4.src.tar.xz.sig
|
||||
/clang-10.0.0rc4.src.tar.xz.sig
|
||||
/clang-10.0.0rc5.src.tar.xz
|
||||
/clang-tools-extra-10.0.0rc5.src.tar.xz
|
||||
/clang-tools-extra-10.0.0rc5.src.tar.xz.sig
|
||||
/clang-10.0.0rc5.src.tar.xz.sig
|
||||
/clang-10.0.0rc6.src.tar.xz
|
||||
/clang-tools-extra-10.0.0rc6.src.tar.xz
|
||||
/clang-tools-extra-10.0.0rc6.src.tar.xz.sig
|
||||
/clang-10.0.0rc6.src.tar.xz.sig
|
||||
/clang-10.0.0.src.tar.xz.sig
|
||||
/clang-tools-extra-10.0.0.src.tar.xz.sig
|
||||
/clang-tools-extra-10.0.0.src.tar.xz
|
||||
/clang-10.0.0.src.tar.xz
|
||||
|
|
|
@ -1,137 +0,0 @@
|
|||
From cb7fd3caeee52fe94461b717294c4db4056853e3 Mon Sep 17 00:00:00 2001
|
||||
From: Serge Guelton <sguelton@redhat.com>
|
||||
Date: Fri, 1 Feb 2019 06:11:44 +0000
|
||||
Subject: [PATCH 1/3] Fix isInSystemMacro to handle pasted macros
|
||||
|
||||
Token pasted by the preprocessor (through ##) have a Spelling pointing to scratch buffer.
|
||||
As a result they are not recognized at system macro, even though the pasting happened in
|
||||
a system macro. Fix that by looking into the parent macro if the original lookup finds a
|
||||
scratch buffer.
|
||||
|
||||
Differential Revision: https://reviews.llvm.org/D55782
|
||||
|
||||
This effectively fixes https://bugs.llvm.org/show_bug.cgi?id=35268,
|
||||
|
||||
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@352838 91177308-0d34-0410-b5e6-96231b3b80d8
|
||||
---
|
||||
include/clang/Basic/SourceManager.h | 18 +++++++++++++++++-
|
||||
test/Misc/no-warn-in-system-macro.c | 13 +++++++++++++
|
||||
test/Misc/no-warn-in-system-macro.c.inc | 9 +++++++++
|
||||
test/Misc/warn-in-system-macro-def.c | 21 +++++++++++++++++++++
|
||||
test/Misc/warn-in-system-macro-def.c.inc | 4 ++++
|
||||
5 files changed, 64 insertions(+), 1 deletion(-)
|
||||
create mode 100644 test/Misc/no-warn-in-system-macro.c
|
||||
create mode 100644 test/Misc/no-warn-in-system-macro.c.inc
|
||||
create mode 100644 test/Misc/warn-in-system-macro-def.c
|
||||
create mode 100644 test/Misc/warn-in-system-macro-def.c.inc
|
||||
|
||||
diff --git a/include/clang/Basic/SourceManager.h b/include/clang/Basic/SourceManager.h
|
||||
index dcc4a37e23..c6b92f9000 100644
|
||||
--- a/include/clang/Basic/SourceManager.h
|
||||
+++ b/include/clang/Basic/SourceManager.h
|
||||
@@ -1441,6 +1441,12 @@ public:
|
||||
return Filename.equals("<command line>");
|
||||
}
|
||||
|
||||
+ /// Returns whether \p Loc is located in a <scratch space> file.
|
||||
+ bool isWrittenInScratchSpace(SourceLocation Loc) const {
|
||||
+ StringRef Filename(getPresumedLoc(Loc).getFilename());
|
||||
+ return Filename.equals("<scratch space>");
|
||||
+ }
|
||||
+
|
||||
/// Returns if a SourceLocation is in a system header.
|
||||
bool isInSystemHeader(SourceLocation Loc) const {
|
||||
return isSystem(getFileCharacteristic(Loc));
|
||||
@@ -1453,7 +1459,17 @@ public:
|
||||
|
||||
/// Returns whether \p Loc is expanded from a macro in a system header.
|
||||
bool isInSystemMacro(SourceLocation loc) const {
|
||||
- return loc.isMacroID() && isInSystemHeader(getSpellingLoc(loc));
|
||||
+ if(!loc.isMacroID())
|
||||
+ return false;
|
||||
+
|
||||
+ // This happens when the macro is the result of a paste, in that case
|
||||
+ // its spelling is the scratch memory, so we take the parent context.
|
||||
+ if (isWrittenInScratchSpace(getSpellingLoc(loc))) {
|
||||
+ return isInSystemHeader(getSpellingLoc(getImmediateMacroCallerLoc(loc)));
|
||||
+ }
|
||||
+ else {
|
||||
+ return isInSystemHeader(getSpellingLoc(loc));
|
||||
+ }
|
||||
}
|
||||
|
||||
/// The size of the SLocEntry that \p FID represents.
|
||||
diff --git a/test/Misc/no-warn-in-system-macro.c b/test/Misc/no-warn-in-system-macro.c
|
||||
new file mode 100644
|
||||
index 0000000000..a319b14c9c
|
||||
--- /dev/null
|
||||
+++ b/test/Misc/no-warn-in-system-macro.c
|
||||
@@ -0,0 +1,13 @@
|
||||
+// RUN: %clang_cc1 -isystem %S -Wdouble-promotion -fsyntax-only %s 2>&1 | FileCheck -allow-empty %s
|
||||
+// CHECK-NOT: warning:
|
||||
+
|
||||
+#include <no-warn-in-system-macro.c.inc>
|
||||
+
|
||||
+int main(void)
|
||||
+{
|
||||
+ double foo = 1.0;
|
||||
+
|
||||
+ if (isnan(foo))
|
||||
+ return 1;
|
||||
+ return 0;
|
||||
+}
|
||||
diff --git a/test/Misc/no-warn-in-system-macro.c.inc b/test/Misc/no-warn-in-system-macro.c.inc
|
||||
new file mode 100644
|
||||
index 0000000000..3cbe7dfc16
|
||||
--- /dev/null
|
||||
+++ b/test/Misc/no-warn-in-system-macro.c.inc
|
||||
@@ -0,0 +1,9 @@
|
||||
+extern int __isnanf(float f);
|
||||
+extern int __isnan(double f);
|
||||
+extern int __isnanl(long double f);
|
||||
+#define isnan(x) \
|
||||
+ (sizeof (x) == sizeof (float) \
|
||||
+ ? __isnanf (x) \
|
||||
+ : sizeof (x) == sizeof (double) \
|
||||
+ ? __isnan (x) : __isnanl (x))
|
||||
+
|
||||
diff --git a/test/Misc/warn-in-system-macro-def.c b/test/Misc/warn-in-system-macro-def.c
|
||||
new file mode 100644
|
||||
index 0000000000..b295130702
|
||||
--- /dev/null
|
||||
+++ b/test/Misc/warn-in-system-macro-def.c
|
||||
@@ -0,0 +1,21 @@
|
||||
+// RUN: %clang_cc1 -isystem %S -Wdouble-promotion -fsyntax-only %s 2>&1 | FileCheck -allow-empty %s
|
||||
+// CHECK: warning:
|
||||
+// CHECK: expanded from macro 'ISNAN'
|
||||
+// CHECK: expanded from macro 'isnan'
|
||||
+
|
||||
+#include <warn-in-system-macro-def.c.inc>
|
||||
+
|
||||
+#define isnan(x) \
|
||||
+ (sizeof (x) == sizeof (float) \
|
||||
+ ? __isnanf (x) \
|
||||
+ : sizeof (x) == sizeof (double) \
|
||||
+ ? __isnan (x) : __isnanl (x))
|
||||
+
|
||||
+int main(void)
|
||||
+{
|
||||
+ double foo = 1.0;
|
||||
+
|
||||
+ if (ISNAN(foo))
|
||||
+ return 1;
|
||||
+ return 0;
|
||||
+}
|
||||
diff --git a/test/Misc/warn-in-system-macro-def.c.inc b/test/Misc/warn-in-system-macro-def.c.inc
|
||||
new file mode 100644
|
||||
index 0000000000..5c7e60275a
|
||||
--- /dev/null
|
||||
+++ b/test/Misc/warn-in-system-macro-def.c.inc
|
||||
@@ -0,0 +1,4 @@
|
||||
+extern int __isnanf(float f);
|
||||
+extern int __isnan(double f);
|
||||
+extern int __isnanl(long double f);
|
||||
+#define ISNAN isnan
|
||||
--
|
||||
2.20.1
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
From 690373af5a5d50cf115ed6e4d2849bb786f9dc8e Mon Sep 17 00:00:00 2001
|
||||
From: serge-sans-paille <sguelton@redhat.com>
|
||||
Date: Tue, 10 Dec 2019 09:18:03 +0000
|
||||
Subject: [PATCH] Make -funwind-tables the default for all archs
|
||||
|
||||
---
|
||||
clang/lib/Driver/ToolChain.cpp | 2 +-
|
||||
clang/lib/Driver/ToolChains/Gnu.cpp | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp
|
||||
index b1fddb0af55..43af40ed0e8 100644
|
||||
--- a/clang/lib/Driver/ToolChain.cpp
|
||||
+++ b/clang/lib/Driver/ToolChain.cpp
|
||||
@@ -244,7 +244,7 @@ std::string ToolChain::getInputFilename(const InputInfo &Input) const {
|
||||
}
|
||||
|
||||
bool ToolChain::IsUnwindTablesDefault(const ArgList &Args) const {
|
||||
- return false;
|
||||
+ return true;
|
||||
}
|
||||
|
||||
Tool *ToolChain::getClang() const {
|
||||
diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
|
||||
index 33cdd3585c2..15e82be8f3a 100644
|
||||
--- a/clang/lib/Driver/ToolChains/Gnu.cpp
|
||||
+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
|
||||
@@ -2535,7 +2535,7 @@ void Generic_GCC::printVerboseInfo(raw_ostream &OS) const {
|
||||
}
|
||||
|
||||
bool Generic_GCC::IsUnwindTablesDefault(const ArgList &Args) const {
|
||||
- return getArch() == llvm::Triple::x86_64;
|
||||
+ return true;
|
||||
}
|
||||
|
||||
bool Generic_GCC::isPICDefault() const {
|
||||
--
|
||||
2.20.1
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
From 856b789b9de0895786ba23681c4337172676e01e Mon Sep 17 00:00:00 2001
|
||||
From: Tom Stellard <tstellar@redhat.com>
|
||||
Date: Fri, 31 Jan 2020 11:04:57 -0800
|
||||
Subject: [PATCH] clang: Don't install static libraries
|
||||
|
||||
---
|
||||
clang/cmake/modules/AddClang.cmake | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/clang/cmake/modules/AddClang.cmake b/clang/cmake/modules/AddClang.cmake
|
||||
index cbd618e..9cf076a 100644
|
||||
--- a/clang/cmake/modules/AddClang.cmake
|
||||
+++ b/clang/cmake/modules/AddClang.cmake
|
||||
@@ -97,7 +97,7 @@ macro(add_clang_library name)
|
||||
if(TARGET ${name})
|
||||
target_link_libraries(${name} INTERFACE ${LLVM_COMMON_LIBS})
|
||||
|
||||
- if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ARG_INSTALL_WITH_TOOLCHAIN)
|
||||
+ if (ARG_SHARED AND (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ARG_INSTALL_WITH_TOOLCHAIN))
|
||||
set(export_to_clangtargets)
|
||||
if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
|
||||
"clang-libraries" IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
|
||||
--
|
||||
1.8.3.1
|
||||
|
|
@ -0,0 +1,99 @@
|
|||
From 11857d49948b845dcfd7c7f78595095e3add012d Mon Sep 17 00:00:00 2001
|
||||
From: Rong Xu <xur@google.com>
|
||||
Date: Tue, 25 Feb 2020 08:04:01 -0800
|
||||
Subject: [PATCH] [remark][diagnostics] [codegen] Fix PR44896
|
||||
|
||||
This patch fixes PR44896. For IR input files, option fdiscard-value-names
|
||||
should be ignored as we need named values in loadModule().
|
||||
Commit 60d3947922 sets this option after loadModule() where valued names
|
||||
already created. This creates an inconsistent state in setNameImpl()
|
||||
that leads to a seg fault.
|
||||
This patch forces fdiscard-value-names to be false for IR input files.
|
||||
|
||||
This patch also emits a warning of "ignoring -fdiscard-value-names" if
|
||||
option fdiscard-value-names is explictly enabled in the commandline for
|
||||
IR input files.
|
||||
|
||||
Differential Revision: https://reviews.llvm.org/D74878
|
||||
---
|
||||
clang/include/clang/Basic/DiagnosticDriverKinds.td | 3 +++
|
||||
clang/lib/CodeGen/CodeGenAction.cpp | 3 +++
|
||||
clang/lib/Driver/ToolChains/Clang.cpp | 10 +++++++++-
|
||||
clang/test/CodeGen/PR44896.ll | 15 +++++++++++++++
|
||||
4 files changed, 30 insertions(+), 1 deletion(-)
|
||||
create mode 100644 clang/test/CodeGen/PR44896.ll
|
||||
|
||||
diff --git a/clang/include/clang/Basic/DiagnosticDriverKinds.td b/clang/include/clang/Basic/DiagnosticDriverKinds.td
|
||||
index ecd871e..48ece91 100644
|
||||
--- a/clang/include/clang/Basic/DiagnosticDriverKinds.td
|
||||
+++ b/clang/include/clang/Basic/DiagnosticDriverKinds.td
|
||||
@@ -271,6 +271,9 @@ def warn_drv_unsupported_debug_info_opt_for_target : Warning<
|
||||
InGroup<UnsupportedTargetOpt>;
|
||||
def warn_c_kext : Warning<
|
||||
"ignoring -fapple-kext which is valid for C++ and Objective-C++ only">;
|
||||
+def warn_ignoring_fdiscard_for_bitcode : Warning<
|
||||
+ "ignoring -fdiscard-value-names for LLVM Bitcode">,
|
||||
+ InGroup<UnusedCommandLineArgument>;
|
||||
def warn_drv_input_file_unused : Warning<
|
||||
"%0: '%1' input unused%select{ when '%3' is present|}2">,
|
||||
InGroup<UnusedCommandLineArgument>;
|
||||
diff --git a/clang/lib/CodeGen/CodeGenAction.cpp b/clang/lib/CodeGen/CodeGenAction.cpp
|
||||
index 5ebc34c..81946b1 100644
|
||||
--- a/clang/lib/CodeGen/CodeGenAction.cpp
|
||||
+++ b/clang/lib/CodeGen/CodeGenAction.cpp
|
||||
@@ -1146,6 +1146,9 @@ void CodeGenAction::ExecuteAction() {
|
||||
CI.getTargetOpts(), CI.getLangOpts(),
|
||||
CI.getFrontendOpts().ShowTimers,
|
||||
std::move(LinkModules), *VMContext, nullptr);
|
||||
+ // PR44896: Force DiscardValueNames as false. DiscardValueNames cannot be
|
||||
+ // true here because the valued names are needed for reading textual IR.
|
||||
+ Ctx.setDiscardValueNames(false);
|
||||
Ctx.setDiagnosticHandler(
|
||||
std::make_unique<ClangDiagnosticHandler>(CodeGenOpts, &Result));
|
||||
|
||||
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp
|
||||
index 19a23c9..d387a1d 100644
|
||||
--- a/clang/lib/Driver/ToolChains/Clang.cpp
|
||||
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
|
||||
@@ -4332,8 +4332,16 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
|
||||
|
||||
// Discard value names in assert builds unless otherwise specified.
|
||||
if (Args.hasFlag(options::OPT_fdiscard_value_names,
|
||||
- options::OPT_fno_discard_value_names, !IsAssertBuild))
|
||||
+ options::OPT_fno_discard_value_names, !IsAssertBuild)) {
|
||||
+ if (Args.hasArg(options::OPT_fdiscard_value_names) &&
|
||||
+ (std::any_of(Inputs.begin(), Inputs.end(),
|
||||
+ [](const clang::driver::InputInfo &II) {
|
||||
+ return types::isLLVMIR(II.getType());
|
||||
+ }))) {
|
||||
+ D.Diag(diag::warn_ignoring_fdiscard_for_bitcode);
|
||||
+ }
|
||||
CmdArgs.push_back("-discard-value-names");
|
||||
+ }
|
||||
|
||||
// Set the main file name, so that debug info works even with
|
||||
// -save-temps.
|
||||
diff --git a/clang/test/CodeGen/PR44896.ll b/clang/test/CodeGen/PR44896.ll
|
||||
new file mode 100644
|
||||
index 0000000..a4d3445
|
||||
--- /dev/null
|
||||
+++ b/clang/test/CodeGen/PR44896.ll
|
||||
@@ -0,0 +1,15 @@
|
||||
+; RUN: %clang -fdiscard-value-names -S %s -o /dev/null 2>&1 | FileCheck --check-prefix=WARNING %s
|
||||
+; RUN: %clang -S %s -o /dev/null 2>&1 | FileCheck --check-prefix=NOWARNING %s
|
||||
+; RUN: %clang_cc1 -S -emit-llvm %s -discard-value-names -o /dev/null
|
||||
+; PR 44896
|
||||
+
|
||||
+; WARNING: ignoring -fdiscard-value-names for LLVM Bitcode
|
||||
+; NOWARNING-NOT: ignoring -fdiscard-value-names for LLVM Bitcode
|
||||
+
|
||||
+target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
|
||||
+target triple = "x86_64--linux-gnu"
|
||||
+
|
||||
+define linkonce i8* @b(i8* %a) {
|
||||
+ ret i8* %a
|
||||
+}
|
||||
+
|
||||
--
|
||||
1.8.3.1
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
From 49b29ff9feafd8b9041e2a76cbe843115d263ced Mon Sep 17 00:00:00 2001
|
||||
From: Fangrui Song <maskray@google.com>
|
||||
Date: Mon, 11 Feb 2019 13:30:04 +0000
|
||||
Subject: [PATCH 2/3] Format isInSystemMacro after D55782
|
||||
|
||||
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@353697 91177308-0d34-0410-b5e6-96231b3b80d8
|
||||
---
|
||||
include/clang/Basic/SourceManager.h | 10 ++++------
|
||||
1 file changed, 4 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/include/clang/Basic/SourceManager.h b/include/clang/Basic/SourceManager.h
|
||||
index c6b92f9000..f44239d9ce 100644
|
||||
--- a/include/clang/Basic/SourceManager.h
|
||||
+++ b/include/clang/Basic/SourceManager.h
|
||||
@@ -1459,17 +1459,15 @@ public:
|
||||
|
||||
/// Returns whether \p Loc is expanded from a macro in a system header.
|
||||
bool isInSystemMacro(SourceLocation loc) const {
|
||||
- if(!loc.isMacroID())
|
||||
+ if (!loc.isMacroID())
|
||||
return false;
|
||||
|
||||
// This happens when the macro is the result of a paste, in that case
|
||||
// its spelling is the scratch memory, so we take the parent context.
|
||||
- if (isWrittenInScratchSpace(getSpellingLoc(loc))) {
|
||||
+ if (isWrittenInScratchSpace(getSpellingLoc(loc)))
|
||||
return isInSystemHeader(getSpellingLoc(getImmediateMacroCallerLoc(loc)));
|
||||
- }
|
||||
- else {
|
||||
- return isInSystemHeader(getSpellingLoc(loc));
|
||||
- }
|
||||
+
|
||||
+ return isInSystemHeader(getSpellingLoc(loc));
|
||||
}
|
||||
|
||||
/// The size of the SLocEntry that \p FID represents.
|
||||
--
|
||||
2.20.1
|
||||
|
|
@ -1,63 +0,0 @@
|
|||
From a6b7f0946df82ca207b27f1931d4b430ab77e5e0 Mon Sep 17 00:00:00 2001
|
||||
From: Serge Guelton <sguelton@redhat.com>
|
||||
Date: Thu, 16 May 2019 12:40:00 +0000
|
||||
Subject: [PATCH 3/3] Fix isInSystemMacro in presence of macro and pasted token
|
||||
|
||||
When a warning is raised from the expansion of a system macro that
|
||||
involves pasted token, there was still situations were they were not
|
||||
skipped, as showcased by this issue:
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1472437
|
||||
|
||||
Differential Revision: https://reviews.llvm.org/D59413
|
||||
|
||||
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@360885 91177308-0d34-0410-b5e6-96231b3b80d8
|
||||
---
|
||||
include/clang/Basic/SourceManager.h | 9 +++++++--
|
||||
test/Misc/no-warn-in-system-macro.c | 7 ++++++-
|
||||
2 files changed, 13 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/include/clang/Basic/SourceManager.h b/include/clang/Basic/SourceManager.h
|
||||
index f44239d9ce..c964c64faf 100644
|
||||
--- a/include/clang/Basic/SourceManager.h
|
||||
+++ b/include/clang/Basic/SourceManager.h
|
||||
@@ -1464,8 +1464,13 @@ public:
|
||||
|
||||
// This happens when the macro is the result of a paste, in that case
|
||||
// its spelling is the scratch memory, so we take the parent context.
|
||||
- if (isWrittenInScratchSpace(getSpellingLoc(loc)))
|
||||
- return isInSystemHeader(getSpellingLoc(getImmediateMacroCallerLoc(loc)));
|
||||
+ // There can be several level of token pasting.
|
||||
+ if (isWrittenInScratchSpace(getSpellingLoc(loc))) {
|
||||
+ do {
|
||||
+ loc = getImmediateMacroCallerLoc(loc);
|
||||
+ } while (isWrittenInScratchSpace(getSpellingLoc(loc)));
|
||||
+ return isInSystemMacro(loc);
|
||||
+ }
|
||||
|
||||
return isInSystemHeader(getSpellingLoc(loc));
|
||||
}
|
||||
diff --git a/test/Misc/no-warn-in-system-macro.c b/test/Misc/no-warn-in-system-macro.c
|
||||
index a319b14c9c..a351b89256 100644
|
||||
--- a/test/Misc/no-warn-in-system-macro.c
|
||||
+++ b/test/Misc/no-warn-in-system-macro.c
|
||||
@@ -3,11 +3,16 @@
|
||||
|
||||
#include <no-warn-in-system-macro.c.inc>
|
||||
|
||||
+#define MACRO(x) x
|
||||
+
|
||||
int main(void)
|
||||
{
|
||||
double foo = 1.0;
|
||||
|
||||
if (isnan(foo))
|
||||
return 1;
|
||||
- return 0;
|
||||
+
|
||||
+ MACRO(isnan(foo));
|
||||
+
|
||||
+ return 0;
|
||||
}
|
||||
--
|
||||
2.20.1
|
||||
|
181
clang.spec
181
clang.spec
|
@ -1,38 +1,41 @@
|
|||
%global compat_build 0
|
||||
|
||||
%global maj_ver 9
|
||||
%global maj_ver 10
|
||||
%global min_ver 0
|
||||
%global patch_ver 0
|
||||
%global rc_ver 2
|
||||
%global baserelease 0.1
|
||||
#%%global rc_ver 6
|
||||
%global baserelease 1
|
||||
|
||||
%global clang_tools_binaries \
|
||||
%{_bindir}/clangd \
|
||||
%{_bindir}/clang-apply-replacements \
|
||||
%{_bindir}/clang-change-namespace \
|
||||
%{_bindir}/clang-check \
|
||||
%{_bindir}/clang-doc \
|
||||
%{_bindir}/clang-extdef-mapping \
|
||||
%{_bindir}/clang-format \
|
||||
%{_bindir}/clang-import-test \
|
||||
%{_bindir}/clang-include-fixer \
|
||||
%{_bindir}/clang-move \
|
||||
%{_bindir}/clang-offload-bundler \
|
||||
%{_bindir}/clang-offload-wrapper \
|
||||
%{_bindir}/clang-query \
|
||||
%{_bindir}/clang-refactor \
|
||||
%{_bindir}/clang-reorder-fields \
|
||||
%{_bindir}/clang-rename \
|
||||
%{_bindir}/clang-tidy
|
||||
%{_bindir}/clang-reorder-fields \
|
||||
%{_bindir}/clang-scan-deps \
|
||||
%{_bindir}/clang-tidy \
|
||||
%{_bindir}/clangd \
|
||||
%{_bindir}/diagtool \
|
||||
%{_bindir}/hmaptool \
|
||||
%{_bindir}/pp-trace
|
||||
|
||||
%global clang_binaries \
|
||||
%{_bindir}/clang \
|
||||
%{_bindir}/clang++ \
|
||||
%{_bindir}/clang-%{maj_ver} \
|
||||
%{_bindir}/clang++-%{maj_ver} \
|
||||
%{_bindir}/clang-check \
|
||||
%{_bindir}/clang-cl \
|
||||
%{_bindir}/clang-cpp \
|
||||
%{_bindir}/clang-extdef-mapping \
|
||||
%{_bindir}/clang-format \
|
||||
%{_bindir}/clang-import-test \
|
||||
%{_bindir}/clang-offload-bundler \
|
||||
%{_bindir}/clang-scan-deps \
|
||||
%{_bindir}/diagtool \
|
||||
%{_bindir}/hmaptool
|
||||
|
||||
%if 0%{?compat_build}
|
||||
%global pkg_name clang%{maj_ver}.%{min_ver}
|
||||
|
@ -59,7 +62,12 @@
|
|||
|
||||
%global build_install_prefix %{buildroot}%{install_prefix}
|
||||
|
||||
%global clang_srcdir cfe-%{version}%{?rc_ver:rc%{rc_ver}}.src
|
||||
%ifarch ppc64le
|
||||
# Too many threads on ppc64 systems causes OOM errors.
|
||||
%global _smp_mflags -j8
|
||||
%endif
|
||||
|
||||
%global clang_srcdir clang-%{version}%{?rc_ver:rc%{rc_ver}}.src
|
||||
%global clang_tools_srcdir clang-tools-extra-%{version}%{?rc_ver:rc%{rc_ver}}.src
|
||||
|
||||
Name: %pkg_name
|
||||
|
@ -69,15 +77,30 @@ Summary: A C language family front-end for LLVM
|
|||
|
||||
License: NCSA
|
||||
URL: http://llvm.org
|
||||
Source0: http://%{?rc_ver:pre}releases.llvm.org/%{version}/%{?rc_ver:rc%{rc_ver}}/%{clang_srcdir}.tar.xz
|
||||
%if !0%{?compat_build}
|
||||
Source1: http://%{?rc_ver:pre}releases.llvm.org/%{version}/%{?rc_ver:rc%{rc_ver}}/%{clang_tools_srcdir}.tar.xz
|
||||
%if 0%{?rc_ver:1}
|
||||
Source0: https://prereleases.llvm.org/%{version}/rc%{rc_ver}/%{clang_srcdir}.tar.xz
|
||||
Source3: https://prereleases.llvm.org/%{version}/rc%{rc_ver}/%{clang_srcdir}.tar.xz.sig
|
||||
%else
|
||||
Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/%{clang_srcdir}.tar.xz
|
||||
Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/%{clang_srcdir}.tar.xz.sig
|
||||
%endif
|
||||
%if !0%{?compat_build}
|
||||
%if 0%{?rc_ver:1}
|
||||
Source1: https://prereleases.llvm.org/%{version}/rc%{rc_ver}/%{clang_tools_srcdir}.tar.xz
|
||||
Source2: https://prereleases.llvm.org/%{version}/rc%{rc_ver}/%{clang_tools_srcdir}.tar.xz.sig
|
||||
%else
|
||||
Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/%{clang_tools_srcdir}.tar.xz
|
||||
Source2: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/%{clang_tools_srcdir}.tar.xz.sig
|
||||
%endif
|
||||
%endif
|
||||
Source4: https://prereleases.llvm.org/%{version}/hans-gpg-key.asc
|
||||
|
||||
Patch4: 0002-gtest-reorg.patch
|
||||
Patch9: 0001-Fix-uninitialized-value-in-ABIArgInfo.patch
|
||||
Patch11: 0001-ToolChain-Add-lgcc_s-to-the-linker-flags-when-using-.patch
|
||||
Patch12: 0001-Fix-Driver-modules.cpp-test-to-work-when-build-direc.patch
|
||||
Patch13: 0001-Make-funwind-tables-the-default-for-all-archs.patch
|
||||
|
||||
# Not Upstream
|
||||
Patch15: 0001-clang-Don-t-install-static-libraries.patch
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
|
@ -130,6 +153,9 @@ Requires: emacs-filesystem
|
|||
|
||||
Provides: clang(major) = %{maj_ver}
|
||||
|
||||
Conflicts: compiler-rt < %{version}
|
||||
Conflicts: compiler-rt > %{version}
|
||||
|
||||
%description
|
||||
clang: noun
|
||||
1. A loud, resonant, metallic sound.
|
||||
|
@ -143,6 +169,9 @@ as libraries and designed to be loosely-coupled and extensible.
|
|||
%package libs
|
||||
Summary: Runtime library for clang
|
||||
Recommends: compiler-rt%{?_isa} = %{version}
|
||||
# libomp-devel is required, so clang can find the omp.h header when compiling
|
||||
# with -fopenmp.
|
||||
Recommends: libomp-devel%{_isa} = %{version}
|
||||
Recommends: libomp%{_isa} = %{version}
|
||||
|
||||
%description libs
|
||||
|
@ -154,6 +183,7 @@ Summary: Development header files for clang
|
|||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
# The clang CMake files reference tools from clang-tools-extra.
|
||||
Requires: %{name}-tools-extra%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-libs = %{version}-%{release}
|
||||
%endif
|
||||
|
||||
%description devel
|
||||
|
@ -185,14 +215,14 @@ A set of extra tools built using Clang's tooling API.
|
|||
# just want clang.
|
||||
%package -n git-clang-format
|
||||
Summary: Integration of clang-format for git
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-tools-extra = %{version}-%{release}
|
||||
Requires: git
|
||||
Requires: python3
|
||||
|
||||
%description -n git-clang-format
|
||||
clang-format integration for git.
|
||||
|
||||
|
||||
|
||||
%package -n python3-clang
|
||||
Summary: Python3 bindings for clang
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
|
@ -218,9 +248,9 @@ pathfix.py -i %{__python3} -pn \
|
|||
%setup -q -n %{clang_srcdir}
|
||||
|
||||
%patch4 -p1 -b .gtest
|
||||
%patch9 -p2 -b .abi-arginfo
|
||||
%patch11 -p1 -b .libcxx-fix
|
||||
%patch12 -p2 -b .module-test-fix
|
||||
%patch13 -p2 -b .unwind-all
|
||||
%patch15 -p2 -b .no-install-static
|
||||
|
||||
mv ../%{clang_tools_srcdir} tools/extra
|
||||
|
||||
|
@ -242,16 +272,11 @@ sed -i 's/\@FEDORA_LLVM_LIB_SUFFIX\@//g' test/lit.cfg.py
|
|||
mkdir -p _build
|
||||
cd _build
|
||||
|
||||
%ifarch s390 s390x %{arm} %ix86 riscv64
|
||||
%ifarch s390 s390x %{arm} %ix86 ppc64le riscv64
|
||||
# Decrease debuginfo verbosity to reduce memory consumption during final library linking
|
||||
%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
|
||||
%endif
|
||||
|
||||
# Workaround for GCC issue
|
||||
%ifarch riscv64
|
||||
export LDFLAGS="${LDFLAGS} -latomic %{__global_ldflags}"
|
||||
%endif
|
||||
|
||||
# -DCMAKE_INSTALL_RPATH=";" is a workaround for llvm manually setting the
|
||||
# rpath of libraries and binaries. llvm will skip the manual setting
|
||||
# if CAMKE_INSTALL_RPATH is set to a value, but cmake interprets this value
|
||||
|
@ -262,6 +287,10 @@ export LDFLAGS="${LDFLAGS} -latomic %{__global_ldflags}"
|
|||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DPYTHON_EXECUTABLE=%{__python3} \
|
||||
-DCMAKE_INSTALL_RPATH:BOOL=";" \
|
||||
%ifarch s390 s390x %{arm} %ix86 ppc64le riscv64
|
||||
-DCMAKE_C_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \
|
||||
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \
|
||||
%endif
|
||||
%if 0%{?compat_build}
|
||||
-DLLVM_CONFIG:FILEPATH=%{_bindir}/llvm-config-%{maj_ver}.%{min_ver}-%{__isa_bits} \
|
||||
-DCMAKE_INSTALL_PREFIX=%{install_prefix} \
|
||||
|
@ -295,12 +324,13 @@ export LDFLAGS="${LDFLAGS} -latomic %{__global_ldflags}"
|
|||
-DSPHINX_WARNINGS_AS_ERRORS=OFF \
|
||||
\
|
||||
-DCLANG_BUILD_EXAMPLES:BOOL=OFF \
|
||||
-DBUILD_SHARED_LIBS=OFF \
|
||||
-DCLANG_REPOSITORY_STRING="%{?fedora:Fedora}%{?rhel:Red Hat} %{version}-%{release}"
|
||||
|
||||
ninja -v
|
||||
%ninja_build
|
||||
|
||||
%install
|
||||
DESTDIR=%{buildroot} ninja install -C _build
|
||||
%ninja_install -C _build
|
||||
|
||||
%if 0%{?compat_build}
|
||||
|
||||
|
@ -336,6 +366,8 @@ rm -vf %{buildroot}%{_datadir}/clang/clang-format-sublime.py*
|
|||
|
||||
# TODO: Package html docs
|
||||
rm -Rvf %{buildroot}%{_pkgdocdir}
|
||||
rm -Rvf %{buildroot}%{install_prefix}/share/clang/clang-doc-default-stylesheet.css
|
||||
rm -Rvf %{buildroot}%{install_prefix}/share/clang/index.js
|
||||
|
||||
# TODO: What are the Fedora guidelines for packaging bash autocomplete files?
|
||||
rm -vf %{buildroot}%{_datadir}/clang/bash-autocomplete.sh
|
||||
|
@ -358,11 +390,12 @@ chmod u-x %{buildroot}%{_mandir}/man1/scan-build.1*
|
|||
%if !0%{?compat_build}
|
||||
# requires lit.py from LLVM utilities
|
||||
# FIXME: Fix failing ARM tests, s390x i686 and ppc64le tests
|
||||
# FIXME: Ignore test failures until rhbz#1715016 is fixed.
|
||||
LD_LIBRARY_PATH=%{buildroot}%{_libdir} ninja check-all -C _build || \
|
||||
%ifarch s390x i686 ppc64le %{arm} riscv64
|
||||
:
|
||||
%else
|
||||
false
|
||||
:
|
||||
%endif
|
||||
|
||||
%endif
|
||||
|
@ -371,15 +404,10 @@ false
|
|||
%if !0%{?compat_build}
|
||||
%files
|
||||
%{clang_binaries}
|
||||
%{_bindir}/c-index-test
|
||||
%{_mandir}/man1/clang.1.gz
|
||||
%{_mandir}/man1/clang++.1.gz
|
||||
%{_mandir}/man1/clang-%{maj_ver}.1.gz
|
||||
%{_mandir}/man1/clang++-%{maj_ver}.1.gz
|
||||
%{_mandir}/man1/diagtool.1.gz
|
||||
%{_emacs_sitestartdir}/clang-format.el
|
||||
%{_datadir}/clang/clang-format.py*
|
||||
%{_datadir}/clang/clang-format-diff.py*
|
||||
%endif
|
||||
|
||||
%files libs
|
||||
|
@ -417,10 +445,15 @@ false
|
|||
|
||||
%files tools-extra
|
||||
%{clang_tools_binaries}
|
||||
%{_bindir}/c-index-test
|
||||
%{_bindir}/find-all-symbols
|
||||
%{_bindir}/modularize
|
||||
%{_mandir}/man1/diagtool.1.gz
|
||||
%{_emacs_sitestartdir}/clang-format.el
|
||||
%{_emacs_sitestartdir}/clang-rename.el
|
||||
%{_emacs_sitestartdir}/clang-include-fixer.el
|
||||
%{_datadir}/clang/clang-format.py*
|
||||
%{_datadir}/clang/clang-format-diff.py*
|
||||
%{_datadir}/clang/clang-include-fixer.py*
|
||||
%{_datadir}/clang/clang-tidy-diff.py*
|
||||
%{_datadir}/clang/run-clang-tidy.py*
|
||||
|
@ -436,11 +469,75 @@ false
|
|||
|
||||
%endif
|
||||
%changelog
|
||||
* Sat Aug 24 2019 David Abdurachmanov <david.abdurachmanov@sifive.com> - 9.0.0-0.1.rc2.0.riscv64
|
||||
* Tue Mar 31 2020 David Abdurachmanov <david.abdurachmanov@sifive.com> - 10.0.0-1.0.riscv64
|
||||
- Add support for RISC-V (riscv64)
|
||||
|
||||
* Thu Aug 22 2019 Tom Stellard <tstellar@redhat.com> - 9.0.0-0.1.rc2
|
||||
- 9.0.0 Release candidate 2
|
||||
* Thu Mar 26 2020 sguelton@redhat.com - 10.0.0-1
|
||||
- 10.0.0 final
|
||||
|
||||
* Tue Mar 24 2020 sguelton@redhat.com - 10.0.0-0.11.rc6
|
||||
- 10.0.0 rc6
|
||||
|
||||
* Sun Mar 22 2020 sguelton@redhat.com - 10.0.0-0.10.rc5
|
||||
- Update git-clang-format dependency, see rhbz#1815913
|
||||
|
||||
* Fri Mar 20 2020 Tom Stellard <tstellar@redhat.com> - 10.0.0-0.9.rc5
|
||||
- Add dependency on libomp-devel
|
||||
|
||||
* Fri Mar 20 2020 sguelton@redhat.com - 10.0.0-0.8.rc5
|
||||
- 10.0.0 rc5
|
||||
|
||||
* Sat Mar 14 2020 sguelton@redhat.com - 10.0.0-0.7.rc4
|
||||
- 10.0.0 rc4
|
||||
|
||||
* Thu Mar 12 2020 sguelton@redhat.com - 10.0.0-0.6.rc3
|
||||
- Move a few files from clang to clang-tools-extra.
|
||||
|
||||
* Thu Mar 05 2020 sguelton@redhat.com - 10.0.0-0.5.rc3
|
||||
- 10.0.0 rc3
|
||||
|
||||
* Tue Feb 25 2020 sguelton@redhat.com - 10.0.0-0.4.rc2
|
||||
- Apply -fdiscard-value-names patch.
|
||||
|
||||
* Mon Feb 17 2020 sguelton@redhat.com - 10.0.0-0.3.rc2
|
||||
- Fix NVR
|
||||
|
||||
* Fri Feb 14 2020 sguelton@redhat.com - 10.0.0-0.1.rc2
|
||||
- 10.0.0 rc2
|
||||
|
||||
* Tue Feb 11 2020 sguelton@redhat.com - 10.0.0-0.2.rc1
|
||||
- Explicitly conflicts with any different compiler-rt version, see rhbz#1800705
|
||||
|
||||
* Fri Jan 31 2020 Tom Stellard <tstellar@redhat.com> - 10.0.0-0.1.rc1
|
||||
- Stop shipping individual component libraries
|
||||
- https://fedoraproject.org/wiki/Changes/Stop-Shipping-Individual-Component-Libraries-In-clang-lib-Package
|
||||
|
||||
* Fri Jan 31 2020 sguelton@redhat.com - 10.0.0-0.1.rc1
|
||||
- 10.0.0 rc1
|
||||
|
||||
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 9.0.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Fri Jan 10 2020 Tom Stellard <tstellar@redhat.com> - 9.0.1-2
|
||||
- Fix crash with kernel bpf self-tests
|
||||
|
||||
* Thu Dec 19 2019 Tom Stellard <tstellar@redhat.com> - 9.0.1-1
|
||||
- 9.0.1 Release
|
||||
|
||||
* Wed Dec 11 2019 Tom Stellard <tstellar@redhat.com> - 9.0.0-3
|
||||
- Add explicit requires for clang-libs to fix rpmdiff errors
|
||||
|
||||
* Tue Dec 10 2019 sguelton@redhat.com - 9.0.0-2
|
||||
- Activate -funwind-tables on all arches, see rhbz#1655546.
|
||||
|
||||
* Thu Sep 19 2019 Tom Stellard <tstellar@redhat.com> - 9.0.0-1
|
||||
- 9.0.0 Release
|
||||
|
||||
* Wed Sep 11 2019 Tom Stellard <tstellar@redhat.com> - 9.0.0-0.2.rc3
|
||||
- Reduce debug info verbosity on ppc64le to avoid OOM errors in koji
|
||||
|
||||
* Thu Aug 22 2019 Tom Stellard <tstellar@redhat.com> - 9.0.0-0.1.rc3
|
||||
- 9.0.0 Release candidate 3
|
||||
|
||||
* Tue Aug 20 2019 sguelton@redhat.com - 8.0.0-4
|
||||
- Rebuilt for Python 3.8
|
||||
|
@ -509,7 +606,7 @@ false
|
|||
- Ensure rpmlint passes on specfile
|
||||
|
||||
* Fri Nov 30 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-7
|
||||
- Drop python2 dependency from clang-tools-extra
|
||||
- Drop python2 dependency from clang-tools-extra
|
||||
|
||||
* Wed Nov 21 2018 sguelton@redhat.com - 7.0.0-6
|
||||
- Prune unneeded reference to llvm-test-suite sub-package
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
--- !Policy
|
||||
product_versions:
|
||||
- fedora-*
|
||||
decision_context: bodhi_update_push_testing
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: org.centos.prod.ci.pipeline.allpackages-build.package.test.functional.complete}
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- fedora-*
|
||||
decision_context: bodhi_update_push_stable
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: org.centos.prod.ci.pipeline.allpackages-build.package.test.functional.complete}
|
|
@ -0,0 +1,52 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
67H2IH//2sf8dw==
|
||||
=ADVe
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
6
sources
6
sources
|
@ -1,2 +1,4 @@
|
|||
SHA512 (cfe-9.0.0rc2.src.tar.xz) = 1e09c924850353e17c4ae6e5fe521fcda01c01e3314edb852a92ccc739415b370999999af48680ab94b769f8495511fb6b9ad5e34ea733d3a1a6e6b5c963515f
|
||||
SHA512 (clang-tools-extra-9.0.0rc2.src.tar.xz) = 4f9ad3bcf0fa67dde37ef41132312d0cb0644e4820583881bc296daa5e86fb96d1066c305c0543f3d0f63eb2cecad60d3872b40c982941ec11a016128f67aa8d
|
||||
SHA512 (clang-10.0.0.src.tar.xz.sig) = cb46d9c616de9ba6e11602269f93a003fc24951b75844d2d62ad7c435bd9ace0357bf396141b9a3e97034f617ad8f301a1a5556a3feb94b17647f8b76c0b6236
|
||||
SHA512 (clang-tools-extra-10.0.0.src.tar.xz.sig) = f0527b315ce9f2c86a19dabd462d0d466ac0843262f06d5f2b69333f77457ec9cb99f8ce9fdaa00048dfaec3de5613fb884c4259acd4a75463ba3c6714e35423
|
||||
SHA512 (clang-tools-extra-10.0.0.src.tar.xz) = 33b6019e64e9ac94bd7c000b77a4a927602a2705baa9b370e392a56b53fe09c8dad1ff7d583892729e9eb291440433ad7d71df768a96d927e4dbc1988fc01d99
|
||||
SHA512 (clang-10.0.0.src.tar.xz) = b1cccc13c46abcda3d689f51d486fa613ecec40c581c72d8b15951715100a2b8fb24370161601e6716cdba5a784337439e99ec2f0766f988e9cce92de6d775da
|
||||
|
|
|
@ -1,29 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Tests for using a full LLVM toolchain: clang + compiler-rt + libcxx + lld
|
||||
|
||||
set -ex pipefail
|
||||
|
||||
# Test compile a C program.
|
||||
cat << EOF | \
|
||||
clang -fuse-ld=lld -rtlib=compiler-rt -x c - && \
|
||||
./a.out | grep 'Hello World'
|
||||
|
||||
#include<stdio.h>
|
||||
int main(int argc, char **argv) {
|
||||
printf("Hello World\n");
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
|
||||
# Test compile a C++ program.
|
||||
cat << EOF | \
|
||||
clang++ -x c++ -fuse-ld=lld -rtlib=compiler-rt -stdlib=libc++ - && \
|
||||
./a.out | grep 'Hello World'
|
||||
|
||||
#include <iostream>
|
||||
int main(int argc, char **argv) {
|
||||
std::cout << "Hello World\n";
|
||||
return 0;
|
||||
}
|
||||
EOF
|
|
@ -1,10 +0,0 @@
|
|||
#!/bin/sh
|
||||
set -e
|
||||
set -x
|
||||
|
||||
tmp_cpp=`mktemp -t XXXXX.cpp`
|
||||
tmp_dir=`mktemp -d`
|
||||
echo 'int main(int argc, char*argv[]) { while(argc--) new int(); return 0; }' > $tmp_cpp
|
||||
scan-build -o $tmp_dir clang++ -c $tmp_cpp -o /dev/null
|
||||
(scan-view --no-browser $tmp_dir/* & WPID=$! && sleep 10s && kill $WPID)
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
#include <charconv>
|
||||
#include <iostream>
|
||||
#include <cstring>
|
||||
|
||||
using namespace std;
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
size_t r=0;
|
||||
const char *begin = argv[1];
|
||||
const char *end = begin + strlen(begin);
|
||||
from_chars(begin, end, r);
|
||||
cout << r << '\n';
|
||||
return 0;
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
#!/bin/sh
|
||||
set -e
|
||||
set -x
|
||||
|
||||
clang++ from_chars.cpp
|
||||
./a.out 100 | grep 100
|
|
@ -0,0 +1,22 @@
|
|||
- hosts: localhost
|
||||
pre_tasks:
|
||||
# We want to make sure libomp is not already present on the system to ensure
|
||||
# that clang pulls in the correct libomp dependencies when it is installed.
|
||||
- name: Uninstall libomp
|
||||
package:
|
||||
name: "{{ item }}"
|
||||
state: absent
|
||||
with_items:
|
||||
- libomp
|
||||
- libomp-devel
|
||||
roles:
|
||||
- role: standard-test-basic
|
||||
tags:
|
||||
- classic
|
||||
repositories:
|
||||
- repo: "https://src.fedoraproject.org/tests/clang.git"
|
||||
dest: "clang"
|
||||
required_packages:
|
||||
- clang
|
||||
tests:
|
||||
- clang/libomp
|
|
@ -22,12 +22,14 @@
|
|||
repositories:
|
||||
- repo: "https://src.fedoraproject.org/tests/llvm-test-suite.git"
|
||||
dest: "llvm-test-suite"
|
||||
- repo: "https://src.fedoraproject.org/tests/clang.git"
|
||||
dest: "clang"
|
||||
tests:
|
||||
- rhbz#482491:
|
||||
dir: ./
|
||||
run: echo "int main(){}" | clang -x c -
|
||||
- llvm-test-suite/test-suite
|
||||
- llvm-test-suite/abi-test-suite
|
||||
- rhbz_1657544
|
||||
- rhbz_1647130
|
||||
- llvm-toolchain
|
||||
- clang/rhbz_1657544
|
||||
- clang/rhbz_1647130
|
||||
- clang/llvm-toolchain
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
# This is separate from tests.yml because we want to run the tests without
|
||||
# clang installed.
|
||||
# FIXME: Is there some way we can put this yaml definition in the tests/pocl
|
||||
# repo? Right now we need to copy and paste this everywhere the test is run.
|
||||
- hosts: localhost
|
||||
pre_tasks:
|
||||
# Programs linked against pocl should be able to run without clang installed,
|
||||
# so when we run the test we want to make sure clang is not installed to
|
||||
# verify we haven't introduced an implicit dependency on clang.
|
||||
- name: Uninstall clang
|
||||
package:
|
||||
name: clang
|
||||
state: absent
|
||||
tags: classic
|
||||
roles:
|
||||
- role: standard-test-basic
|
||||
tags:
|
||||
- classic
|
||||
repositories:
|
||||
- repo: "https://src.fedoraproject.org/tests/pocl.git"
|
||||
dest: "pocl"
|
||||
required_packages:
|
||||
- ocl-icd-devel
|
||||
- pocl
|
||||
- gcc
|
||||
tests:
|
||||
# rhbz#1582884
|
||||
- pocl/simple-opencl-no-clang:
|
Loading…
Reference in New Issue