commit
c8d89485f2
@ -0,0 +1,3 @@
|
||||
7b4d1188cce1ce4ea1cf2ea362fba685c4aca34d SOURCES/clang-15.0.7.src.tar.xz
|
||||
752fe847136eff2dfbfcc8bbddfaa9319532d104 SOURCES/clang-tools-extra-15.0.7.src.tar.xz
|
||||
347bdd5ee6d6b93c9644c268511815912c0fb2dc SOURCES/release-keys.asc
|
@ -0,0 +1,3 @@
|
||||
SOURCES/clang-15.0.7.src.tar.xz
|
||||
SOURCES/clang-tools-extra-15.0.7.src.tar.xz
|
||||
SOURCES/release-keys.asc
|
@ -0,0 +1,82 @@
|
||||
From 1d639f1379fc052b8437284955b1cb0baf880894 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Stellard <tstellar@redhat.com>
|
||||
Date: Fri, 1 Jul 2022 21:24:17 -0700
|
||||
Subject: clang-tools-extra: Make test dependency on LLVMHello optional
|
||||
|
||||
This fixes clang + clang-tools-extra standalone build after
|
||||
36892727e4f19a60778e371d78f8fb09d8122c85.
|
||||
---
|
||||
clang-tools-extra/test/CMakeLists.txt | 10 +++++++++-
|
||||
clang-tools-extra/test/clang-tidy/CTTestTidyModule.cpp | 2 +-
|
||||
clang-tools-extra/test/lit.cfg.py | 3 +++
|
||||
clang-tools-extra/test/lit.site.cfg.py.in | 1 +
|
||||
4 files changed, 14 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/clang-tools-extra/test/CMakeLists.txt b/clang-tools-extra/test/CMakeLists.txt
|
||||
index f4c529ee8af2..1cfb4dd529aa 100644
|
||||
--- a/clang-tools-extra/test/CMakeLists.txt
|
||||
+++ b/clang-tools-extra/test/CMakeLists.txt
|
||||
@@ -7,10 +7,15 @@
|
||||
set(CLANG_TOOLS_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/..")
|
||||
set(CLANG_TOOLS_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/..")
|
||||
|
||||
+if (TARGET LLVMHello)
|
||||
+ set (LLVM_HAS_LLVM_HELLO 1)
|
||||
+endif()
|
||||
+
|
||||
llvm_canonicalize_cmake_booleans(
|
||||
CLANG_TIDY_ENABLE_STATIC_ANALYZER
|
||||
CLANG_PLUGIN_SUPPORT
|
||||
LLVM_INSTALL_TOOLCHAIN_ONLY
|
||||
+ LLVM_HAS_LLVM_HELLO
|
||||
)
|
||||
|
||||
configure_lit_site_cfg(
|
||||
@@ -86,7 +91,10 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
|
||||
endif()
|
||||
|
||||
if(TARGET CTTestTidyModule)
|
||||
- list(APPEND CLANG_TOOLS_TEST_DEPS CTTestTidyModule LLVMHello)
|
||||
+ list(APPEND CLANG_TOOLS_TEST_DEPS CTTestTidyModule)
|
||||
+ if (TARGET LLVMHello)
|
||||
+ list(APPEND CLANG_TOOLS_TEST_DEPS CTTestTidyModule)
|
||||
+ endif()
|
||||
target_include_directories(CTTestTidyModule PUBLIC BEFORE "${CLANG_TOOLS_SOURCE_DIR}")
|
||||
if(CLANG_PLUGIN_SUPPORT AND (WIN32 OR CYGWIN))
|
||||
set(LLVM_LINK_COMPONENTS
|
||||
diff --git a/clang-tools-extra/test/clang-tidy/CTTestTidyModule.cpp b/clang-tools-extra/test/clang-tidy/CTTestTidyModule.cpp
|
||||
index c66a94f458cf..b4e7a5d691e5 100644
|
||||
--- a/clang-tools-extra/test/clang-tidy/CTTestTidyModule.cpp
|
||||
+++ b/clang-tools-extra/test/clang-tidy/CTTestTidyModule.cpp
|
||||
@@ -1,4 +1,4 @@
|
||||
-// REQUIRES: plugins
|
||||
+// REQUIRES: plugins, llvm-hello
|
||||
// RUN: clang-tidy -checks='-*,mytest*' --list-checks -load %llvmshlibdir/CTTestTidyModule%pluginext -load %llvmshlibdir/LLVMHello%pluginext | FileCheck --check-prefix=CHECK-LIST %s
|
||||
// CHECK-LIST: Enabled checks:
|
||||
// CHECK-LIST-NEXT: mytest1
|
||||
diff --git a/clang-tools-extra/test/lit.cfg.py b/clang-tools-extra/test/lit.cfg.py
|
||||
index 9b99bfd93440..3fca9f25fb48 100644
|
||||
--- a/clang-tools-extra/test/lit.cfg.py
|
||||
+++ b/clang-tools-extra/test/lit.cfg.py
|
||||
@@ -59,3 +59,6 @@ config.substitutions.append(
|
||||
# Plugins (loadable modules)
|
||||
if config.has_plugins and config.llvm_plugin_ext:
|
||||
config.available_features.add('plugins')
|
||||
+
|
||||
+if config.has_llvm_hello:
|
||||
+ config.available_features.add("llvm-hello")
|
||||
diff --git a/clang-tools-extra/test/lit.site.cfg.py.in b/clang-tools-extra/test/lit.site.cfg.py.in
|
||||
index 4eb830a1baf1..6e5559348454 100644
|
||||
--- a/clang-tools-extra/test/lit.site.cfg.py.in
|
||||
+++ b/clang-tools-extra/test/lit.site.cfg.py.in
|
||||
@@ -11,6 +11,7 @@ config.target_triple = "@LLVM_TARGET_TRIPLE@"
|
||||
config.host_triple = "@LLVM_HOST_TRIPLE@"
|
||||
config.clang_tidy_staticanalyzer = @CLANG_TIDY_ENABLE_STATIC_ANALYZER@
|
||||
config.has_plugins = @CLANG_PLUGIN_SUPPORT@ & ~@LLVM_INSTALL_TOOLCHAIN_ONLY@
|
||||
+config.has_llvm_hello = @LLVM_HAS_LLVM_HELLO@
|
||||
# Support substitution of the tools and libs dirs with user parameters. This is
|
||||
# used when we can't determine the tool dir at configuration time.
|
||||
config.llvm_tools_dir = lit_config.substitute("@LLVM_TOOLS_DIR@")
|
||||
--
|
||||
2.37.1
|
||||
|
@ -0,0 +1,58 @@
|
||||
From ccf3e4407e7a5c4c1f2e41c89aad9f86a9c7d81d Mon Sep 17 00:00:00 2001
|
||||
From: Tom Stellard <tstellar@redhat.com>
|
||||
Date: Wed, 6 Oct 2021 05:32:44 +0000
|
||||
Subject: Driver: Add a gcc equivalent triple to the list of triples to search
|
||||
|
||||
There are some gcc triples, like x86_64-redhat-linux, that provide the
|
||||
same behavior as a clang triple with a similar name (e.g.
|
||||
x86_64-redhat-linux-gnu). When searching for a gcc install, also search
|
||||
for a gcc equivalent triple if one exists.
|
||||
|
||||
Differential Revision: https://reviews.llvm.org/D111207
|
||||
---
|
||||
clang/lib/Driver/ToolChains/Gnu.cpp | 22 ++++++++++++++++++++++
|
||||
1 file changed, 22 insertions(+)
|
||||
|
||||
diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
|
||||
index f203cae1d329..12fa2da3187e 100644
|
||||
--- a/clang/lib/Driver/ToolChains/Gnu.cpp
|
||||
+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
|
||||
@@ -1969,6 +1969,18 @@ static llvm::StringRef getGCCToolchainDir(const ArgList &Args,
|
||||
return GCC_INSTALL_PREFIX;
|
||||
}
|
||||
|
||||
+/// This function takes a 'clang' triple and converts it to an equivalent gcc
|
||||
+/// triple.
|
||||
+static const char *ConvertToGccTriple(StringRef CandidateTriple) {
|
||||
+ return llvm::StringSwitch<const char *>(CandidateTriple)
|
||||
+ .Case("aarch64-redhat-linux-gnu", "aarch64-redhat-linux")
|
||||
+ .Case("i686-redhat-linux-gnu", "i686-redhat-linux")
|
||||
+ .Case("ppc64le-redhat-linux-gnu", "ppc64le-redhat-linux")
|
||||
+ .Case("s390x-redhat-linux-gnu", "s390x-redhat-linux")
|
||||
+ .Case("x86_64-redhat-linux-gnu", "x86_64-redhat-linux")
|
||||
+ .Default(NULL);
|
||||
+}
|
||||
+
|
||||
/// Initialize a GCCInstallationDetector from the driver.
|
||||
///
|
||||
/// This performs all of the autodetection and sets up the various paths.
|
||||
@@ -1989,6 +2001,16 @@ void Generic_GCC::GCCInstallationDetector::init(
|
||||
// The compatible GCC triples for this particular architecture.
|
||||
SmallVector<StringRef, 16> CandidateTripleAliases;
|
||||
SmallVector<StringRef, 16> CandidateBiarchTripleAliases;
|
||||
+
|
||||
+ // In some cases gcc uses a slightly different triple than clang for the
|
||||
+ // same target. Convert the clang triple to the gcc equivalent and use that
|
||||
+ // to search for the gcc install.
|
||||
+ const char *ConvertedTriple = ConvertToGccTriple(TargetTriple.str());
|
||||
+ if (ConvertedTriple) {
|
||||
+ CandidateTripleAliases.push_back(ConvertedTriple);
|
||||
+ CandidateBiarchTripleAliases.push_back(ConvertedTriple);
|
||||
+ }
|
||||
+
|
||||
CollectLibDirsAndTriples(TargetTriple, BiarchVariantTriple, CandidateLibDirs,
|
||||
CandidateTripleAliases, CandidateBiarchLibDirs,
|
||||
CandidateBiarchTripleAliases);
|
||||
--
|
||||
2.37.1
|
||||
|
@ -0,0 +1,29 @@
|
||||
From 1d224b408bc6754bcea9e0b226d6c440f5a4f8fd Mon Sep 17 00:00:00 2001
|
||||
From: Nikita Popov <npopov@redhat.com>
|
||||
Date: Fri, 2 Sep 2022 16:30:15 +0200
|
||||
Subject: Mark fopenmp-implicit-rpath as NoArgumentUnused
|
||||
|
||||
We pass this option unconditionally in LDFLAGS, make sure this
|
||||
does not warn if openmp is not used, as this may break some
|
||||
build systems.
|
||||
---
|
||||
clang/include/clang/Driver/Options.td | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td
|
||||
index 3cab37b21aaf..4452364f92da 100644
|
||||
--- a/clang/include/clang/Driver/Options.td
|
||||
+++ b/clang/include/clang/Driver/Options.td
|
||||
@@ -4116,7 +4116,8 @@ defm openmp_implicit_rpath: BoolFOption<"openmp-implicit-rpath",
|
||||
LangOpts<"OpenMP">,
|
||||
DefaultTrue,
|
||||
PosFlag<SetTrue, [], "Set rpath on OpenMP executables">,
|
||||
- NegFlag<SetFalse>>;
|
||||
+ NegFlag<SetFalse>,
|
||||
+ BothFlags<[NoArgumentUnused]>>;
|
||||
def r : Flag<["-"], "r">, Flags<[LinkerInput,NoArgumentUnused]>,
|
||||
Group<Link_Group>;
|
||||
def save_temps_EQ : Joined<["-", "--"], "save-temps=">, Flags<[CC1Option, FlangOption, NoXarchOption]>,
|
||||
--
|
||||
2.37.1
|
||||
|
@ -0,0 +1,42 @@
|
||||
From ccfad825687fc45d04ddb987c476dfafb26e56d9 Mon Sep 17 00:00:00 2001
|
||||
From: serge-sans-paille <sguelton@redhat.com>
|
||||
Date: Thu, 25 Feb 2021 14:04:52 +0100
|
||||
Subject: Reorganize gtest integration
|
||||
|
||||
---
|
||||
clang/CMakeLists.txt | 12 +++++-------
|
||||
1 file changed, 5 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt
|
||||
index 13d76e7fd935..7452bafb0756 100644
|
||||
--- a/clang/CMakeLists.txt
|
||||
+++ b/clang/CMakeLists.txt
|
||||
@@ -159,12 +159,6 @@ if(CLANG_BUILT_STANDALONE)
|
||||
set(LLVM_UTILS_PROVIDED ON)
|
||||
set(CLANG_TEST_DEPS FileCheck count not)
|
||||
endif()
|
||||
- set(UNITTEST_DIR ${LLVM_MAIN_SRC_DIR}/utils/unittest)
|
||||
- if(EXISTS ${UNITTEST_DIR}/googletest/include/gtest/gtest.h
|
||||
- AND NOT EXISTS ${LLVM_LIBRARY_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}
|
||||
- AND EXISTS ${UNITTEST_DIR}/CMakeLists.txt)
|
||||
- add_subdirectory(${UNITTEST_DIR} utils/unittest)
|
||||
- endif()
|
||||
else()
|
||||
# Seek installed Lit.
|
||||
find_program(LLVM_LIT
|
||||
@@ -586,7 +580,11 @@ endif()
|
||||
|
||||
|
||||
if( CLANG_INCLUDE_TESTS )
|
||||
- if(EXISTS ${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include/gtest/gtest.h)
|
||||
+ set(UNITTEST_DIR ${LLVM_MAIN_SRC_DIR}/utils/unittest)
|
||||
+ if(EXISTS ${UNITTEST_DIR}/googletest/include/gtest/gtest.h
|
||||
+ AND NOT EXISTS ${LLVM_LIBRARY_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}
|
||||
+ AND EXISTS ${UNITTEST_DIR}/CMakeLists.txt)
|
||||
+ add_subdirectory(${UNITTEST_DIR} utils/unittest)
|
||||
add_subdirectory(unittests)
|
||||
list(APPEND CLANG_TEST_DEPS ClangUnitTests)
|
||||
list(APPEND CLANG_TEST_PARAMS
|
||||
--
|
||||
2.37.1
|
||||
|
@ -0,0 +1,32 @@
|
||||
From 0ff89f236b9cc11662cf4f288cfd3254410d8243 Mon Sep 17 00:00:00 2001
|
||||
From: Nikita Popov <npopov@redhat.com>
|
||||
Date: Thu, 3 Feb 2022 10:34:44 +0100
|
||||
Subject: Work around gcc miscompile
|
||||
|
||||
This works around https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104334,
|
||||
which miscompiles clang on s390x and ppc64le. The issue is already
|
||||
fixed on the gcc side, but including this as a temporary workaround
|
||||
to get a working build.
|
||||
---
|
||||
clang/lib/Sema/DeclSpec.cpp | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/clang/lib/Sema/DeclSpec.cpp b/clang/lib/Sema/DeclSpec.cpp
|
||||
index d4dc790c008a..77a1e6c32c6f 100644
|
||||
--- a/clang/lib/Sema/DeclSpec.cpp
|
||||
+++ b/clang/lib/Sema/DeclSpec.cpp
|
||||
@@ -1203,8 +1203,9 @@ void DeclSpec::Finish(Sema &S, const PrintingPolicy &Policy) {
|
||||
} else if (TypeSpecType == TST_double) {
|
||||
// vector long double and vector long long double are never allowed.
|
||||
// vector double is OK for Power7 and later, and ZVector.
|
||||
- if (getTypeSpecWidth() == TypeSpecifierWidth::Long ||
|
||||
- getTypeSpecWidth() == TypeSpecifierWidth::LongLong)
|
||||
+ TypeSpecifierWidth TypeSpecWidth = getTypeSpecWidth();
|
||||
+ if (TypeSpecWidth == TypeSpecifierWidth::Long ||
|
||||
+ TypeSpecWidth == TypeSpecifierWidth::LongLong)
|
||||
S.Diag(TSWRange.getBegin(),
|
||||
diag::err_invalid_vector_long_double_decl_spec);
|
||||
else if (!S.Context.getTargetInfo().hasFeature("vsx") &&
|
||||
--
|
||||
2.37.1
|
||||
|
@ -0,0 +1,25 @@
|
||||
From 6e0c48576740a1da9abeecfb8070127b8e91ab73 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Stellard <tstellar@redhat.com>
|
||||
Date: Fri, 31 Jan 2020 11:04:57 -0800
|
||||
Subject: 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 21ac332e4f5f..d0cf20cced21 100644
|
||||
--- a/clang/cmake/modules/AddClang.cmake
|
||||
+++ b/clang/cmake/modules/AddClang.cmake
|
||||
@@ -114,7 +114,7 @@ macro(add_clang_library name)
|
||||
if(TARGET ${lib})
|
||||
target_link_libraries(${lib} 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))
|
||||
get_target_export_arg(${name} Clang export_to_clangtargets UMBRELLA clang-libraries)
|
||||
install(TARGETS ${lib}
|
||||
COMPONENT ${lib}
|
||||
--
|
||||
2.37.1
|
||||
|
@ -0,0 +1,27 @@
|
||||
From 54806261c76384ae45de93b7b5ac2de4e74bb7ae Mon Sep 17 00:00:00 2001
|
||||
From: serge-sans-paille <sguelton@redhat.com>
|
||||
Date: Wed, 21 Sep 2022 12:21:06 +0200
|
||||
Subject: Make -funwind-tables the default on all archs
|
||||
|
||||
---
|
||||
clang/lib/Driver/ToolChains/Gnu.cpp | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
|
||||
index 12fa2da3187e..96527ed52445 100644
|
||||
--- a/clang/lib/Driver/ToolChains/Gnu.cpp
|
||||
+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
|
||||
@@ -2845,6 +2845,10 @@ bool Generic_GCC::IsUnwindTablesDefault(const ArgList &Args) const {
|
||||
case llvm::Triple::ppc64le:
|
||||
case llvm::Triple::x86:
|
||||
case llvm::Triple::x86_64:
|
||||
+ // Enable -funwind-tables on all architectures supported by Fedora:
|
||||
+ // rhbz#1655546
|
||||
+ case llvm::Triple::systemz:
|
||||
+ case llvm::Triple::arm:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
--
|
||||
2.37.1
|
||||
|
@ -0,0 +1,100 @@
|
||||
From 62728c7321a2d07f7d22dadc2b8565ad512b3da4 Mon Sep 17 00:00:00 2001
|
||||
From: Konrad Kleine <kkleine@redhat.com>
|
||||
Date: Thu, 24 Mar 2022 09:44:21 +0100
|
||||
Subject: Produce DWARF4 by default
|
||||
|
||||
Have a look at the following commit to see when the move from DWARF 4 to 5 first happened upstream:
|
||||
|
||||
https://github.com/llvm/llvm-project/commit/d3b26dea16108c427b19b5480c9edc76edf8f5b4?diff=unified
|
||||
---
|
||||
clang/include/clang/Driver/ToolChain.h | 2 +-
|
||||
clang/test/CodeGen/dwarf-version.c | 4 ++--
|
||||
clang/test/Driver/cl-options.c | 2 +-
|
||||
clang/test/Driver/clang-g-opts.c | 2 +-
|
||||
clang/test/Driver/ve-toolchain.c | 2 +-
|
||||
clang/test/Driver/ve-toolchain.cpp | 2 +-
|
||||
6 files changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/clang/include/clang/Driver/ToolChain.h b/clang/include/clang/Driver/ToolChain.h
|
||||
index f20ab164531b..53c86ee82936 100644
|
||||
--- a/clang/include/clang/Driver/ToolChain.h
|
||||
+++ b/clang/include/clang/Driver/ToolChain.h
|
||||
@@ -535,7 +535,7 @@ public:
|
||||
|
||||
// Return the DWARF version to emit, in the absence of arguments
|
||||
// to the contrary.
|
||||
- virtual unsigned GetDefaultDwarfVersion() const { return 5; }
|
||||
+ virtual unsigned GetDefaultDwarfVersion() const { return 4; }
|
||||
|
||||
// Some toolchains may have different restrictions on the DWARF version and
|
||||
// may need to adjust it. E.g. NVPTX may need to enforce DWARF2 even when host
|
||||
diff --git a/clang/test/CodeGen/dwarf-version.c b/clang/test/CodeGen/dwarf-version.c
|
||||
index 0a6fa4768026..96f01749d0d8 100644
|
||||
--- a/clang/test/CodeGen/dwarf-version.c
|
||||
+++ b/clang/test/CodeGen/dwarf-version.c
|
||||
@@ -2,8 +2,8 @@
|
||||
// RUN: %clang -target x86_64-linux-gnu -gdwarf-3 -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER3
|
||||
// RUN: %clang -target x86_64-linux-gnu -gdwarf-4 -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER4
|
||||
// RUN: %clang -target x86_64-linux-gnu -gdwarf-5 -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER5
|
||||
-// RUN: %clang -target x86_64-linux-gnu -g -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER5
|
||||
-// RUN: %clang -target x86_64-linux-gnu -gdwarf -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER5
|
||||
+// RUN: %clang -target x86_64-linux-gnu -g -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER4
|
||||
+// RUN: %clang -target x86_64-linux-gnu -gdwarf -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER4
|
||||
|
||||
// The -isysroot is used as a hack to avoid LIT messing with the SDKROOT
|
||||
// environment variable which indirecty overrides the version in the target
|
||||
diff --git a/clang/test/Driver/cl-options.c b/clang/test/Driver/cl-options.c
|
||||
index a2e350a0a835..01889ba0bf9b 100644
|
||||
--- a/clang/test/Driver/cl-options.c
|
||||
+++ b/clang/test/Driver/cl-options.c
|
||||
@@ -570,7 +570,7 @@
|
||||
// RUN: %clang_cl /Z7 -gdwarf /c -### -- %s 2>&1 | FileCheck -check-prefix=Z7_gdwarf %s
|
||||
// Z7_gdwarf: "-gcodeview"
|
||||
// Z7_gdwarf: "-debug-info-kind=constructor"
|
||||
-// Z7_gdwarf: "-dwarf-version=
|
||||
+// Z7_gdwarf: "-dwarf-version=4
|
||||
|
||||
// RUN: %clang_cl -fmsc-version=1800 -TP -### -- %s 2>&1 | FileCheck -check-prefix=CXX11 %s
|
||||
// CXX11: -std=c++11
|
||||
diff --git a/clang/test/Driver/clang-g-opts.c b/clang/test/Driver/clang-g-opts.c
|
||||
index d982b1070cae..bb129e75769c 100644
|
||||
--- a/clang/test/Driver/clang-g-opts.c
|
||||
+++ b/clang/test/Driver/clang-g-opts.c
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
// CHECK-WITHOUT-G-NOT: -debug-info-kind
|
||||
// CHECK-WITH-G: "-debug-info-kind=constructor"
|
||||
-// CHECK-WITH-G: "-dwarf-version=5"
|
||||
+// CHECK-WITH-G: "-dwarf-version=4"
|
||||
// CHECK-WITH-G-DWARF2: "-dwarf-version=2"
|
||||
|
||||
// CHECK-WITH-G-STANDALONE: "-debug-info-kind=standalone"
|
||||
diff --git a/clang/test/Driver/ve-toolchain.c b/clang/test/Driver/ve-toolchain.c
|
||||
index 32e25769b6da..b8a2852daba8 100644
|
||||
--- a/clang/test/Driver/ve-toolchain.c
|
||||
+++ b/clang/test/Driver/ve-toolchain.c
|
||||
@@ -6,7 +6,7 @@
|
||||
/// Checking dwarf-version
|
||||
|
||||
// RUN: %clang -### -g --target=ve %s 2>&1 | FileCheck -check-prefix=DWARF_VER %s
|
||||
-// DWARF_VER: "-dwarf-version=5"
|
||||
+// DWARF_VER: "-dwarf-version=4"
|
||||
|
||||
///-----------------------------------------------------------------------------
|
||||
/// Checking include-path
|
||||
diff --git a/clang/test/Driver/ve-toolchain.cpp b/clang/test/Driver/ve-toolchain.cpp
|
||||
index 5a33d5eceb61..cedf895b36dc 100644
|
||||
--- a/clang/test/Driver/ve-toolchain.cpp
|
||||
+++ b/clang/test/Driver/ve-toolchain.cpp
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
// RUN: %clangxx -### -g --target=ve-unknown-linux-gnu \
|
||||
// RUN: %s 2>&1 | FileCheck -check-prefix=DWARF_VER %s
|
||||
-// DWARF_VER: "-dwarf-version=5"
|
||||
+// DWARF_VER: "-dwarf-version=4"
|
||||
|
||||
///-----------------------------------------------------------------------------
|
||||
/// Checking include-path
|
||||
--
|
||||
2.37.1
|
||||
|
@ -0,0 +1,38 @@
|
||||
From f4e2d711e5cfd8e357d770e2da7a114086ee8659 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Timm=20B=C3=A4der?= <tbaeder@redhat.com>
|
||||
Date: Thu, 22 Sep 2022 10:49:43 +0200
|
||||
Subject: disable recommonmark
|
||||
|
||||
---
|
||||
clang/docs/conf.py | 15 +--------------
|
||||
1 file changed, 1 insertion(+), 14 deletions(-)
|
||||
|
||||
diff --git a/clang/docs/conf.py b/clang/docs/conf.py
|
||||
index b8a42018191a..912449a7f792 100644
|
||||
--- a/clang/docs/conf.py
|
||||
+++ b/clang/docs/conf.py
|
||||
@@ -37,20 +37,7 @@ source_suffix = {
|
||||
'.rst': 'restructuredtext',
|
||||
}
|
||||
|
||||
-try:
|
||||
- import recommonmark
|
||||
-except ImportError:
|
||||
- # manpages do not use any .md sources
|
||||
- if not tags.has('builder-man'):
|
||||
- raise
|
||||
-else:
|
||||
- import sphinx
|
||||
- if sphinx.version_info >= (3, 0):
|
||||
- # This requires 0.5 or later.
|
||||
- extensions.append('recommonmark')
|
||||
- else:
|
||||
- source_parsers = {'.md': 'recommonmark.parser.CommonMarkParser'}
|
||||
- source_suffix['.md'] = 'markdown'
|
||||
+import sphinx
|
||||
|
||||
# The encoding of source files.
|
||||
#source_encoding = 'utf-8-sig'
|
||||
--
|
||||
2.37.1
|
||||
|
@ -0,0 +1,74 @@
|
||||
From bc9aa904bf9d24e7f39a2a866ff6b463858b6ccb Mon Sep 17 00:00:00 2001
|
||||
From: serge-sans-paille <sguelton@redhat.com>
|
||||
Date: Wed, 21 Sep 2022 16:08:45 +0200
|
||||
Subject: [PATCH] [clang] Fix interaction between asm labels and inline
|
||||
builtins
|
||||
|
||||
One must pick the same name as the one referenced in CodeGenFunction when
|
||||
generating .inline version of an inline builtin, otherwise they are not
|
||||
correctly replaced.
|
||||
|
||||
Differential Revision: https://reviews.llvm.org/D134362
|
||||
---
|
||||
clang/lib/CodeGen/CGExpr.cpp | 5 ++-
|
||||
.../test/CodeGen/asm-label-inline-builtins.c | 32 +++++++++++++++++++
|
||||
2 files changed, 36 insertions(+), 1 deletion(-)
|
||||
create mode 100644 clang/test/CodeGen/asm-label-inline-builtins.c
|
||||
|
||||
diff --git a/clang/lib/CodeGen/CGExpr.cpp b/clang/lib/CodeGen/CGExpr.cpp
|
||||
index bf3dd812b9e8..a951d53423bf 100644
|
||||
--- a/clang/lib/CodeGen/CGExpr.cpp
|
||||
+++ b/clang/lib/CodeGen/CGExpr.cpp
|
||||
@@ -5046,7 +5046,10 @@ static CGCallee EmitDirectCallee(CodeGenFunction &CGF, GlobalDecl GD) {
|
||||
if (auto builtinID = FD->getBuiltinID()) {
|
||||
std::string NoBuiltinFD = ("no-builtin-" + FD->getName()).str();
|
||||
std::string NoBuiltins = "no-builtins";
|
||||
- std::string FDInlineName = (FD->getName() + ".inline").str();
|
||||
+
|
||||
+ auto *A = FD->getAttr<AsmLabelAttr>();
|
||||
+ StringRef Ident = A ? A->getLabel() : FD->getName();
|
||||
+ std::string FDInlineName = (Ident + ".inline").str();
|
||||
|
||||
bool IsPredefinedLibFunction =
|
||||
CGF.getContext().BuiltinInfo.isPredefinedLibFunction(builtinID);
|
||||
diff --git a/clang/test/CodeGen/asm-label-inline-builtins.c b/clang/test/CodeGen/asm-label-inline-builtins.c
|
||||
new file mode 100644
|
||||
index 000000000000..ab9afc29411d
|
||||
--- /dev/null
|
||||
+++ b/clang/test/CodeGen/asm-label-inline-builtins.c
|
||||
@@ -0,0 +1,32 @@
|
||||
+// RUN: %clang_cc1 -triple x86_64 -S -emit-llvm -disable-llvm-passes -o - %s | FileCheck %s
|
||||
+//
|
||||
+// Verifies that clang-generated *.inline carry the same name at call and callee
|
||||
+// site, in spite of asm labels.
|
||||
+
|
||||
+typedef struct _IO_FILE FILE;
|
||||
+extern FILE *stdout;
|
||||
+extern int vprintf (const char *__restrict __format, __builtin_va_list __arg);
|
||||
+extern int __vfprintf_chk (FILE *__restrict __stream, int __flag,
|
||||
+ const char *__restrict __format, __builtin_va_list __ap);
|
||||
+extern int __vprintf_chk (int __flag, const char *__restrict __format,
|
||||
+ __builtin_va_list __ap);
|
||||
+
|
||||
+extern __typeof (vprintf) vprintf __asm ("__vprintfieee128");
|
||||
+extern __typeof (__vfprintf_chk) __vfprintf_chk __asm ("__vfprintf_chkieee128");
|
||||
+extern __typeof (__vprintf_chk) __vprintf_chk __asm ("__vprintf_chkieee128");
|
||||
+
|
||||
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
|
||||
+vprintf (const char *__restrict __fmt, __builtin_va_list __ap)
|
||||
+{
|
||||
+ return __vfprintf_chk (stdout, 2 - 1, __fmt, __ap);
|
||||
+}
|
||||
+
|
||||
+void test(const char *fmt, __builtin_va_list ap) {
|
||||
+ vprintf(fmt, ap);
|
||||
+}
|
||||
+
|
||||
+// CHECK-LABEL: void @test(
|
||||
+// CHECK: call i32 @__vprintfieee128.inline(
|
||||
+//
|
||||
+// CHECK-LABEL: internal i32 @__vprintfieee128.inline(
|
||||
+// CHECK: call i32 @__vfprintf_chkieee128(
|
||||
--
|
||||
2.37.2
|
||||
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,16 @@
|
||||
%clang_major_version @@CLANG_MAJOR_VERSION@@
|
||||
%clang_minor_version @@CLANG_MINOR_VERSION@@
|
||||
%clang_patch_version @@CLANG_PATCH_VERSION@@
|
||||
|
||||
%clang_version %{clang_major_version}.%{clang_minor_version}.%{clang_patch_version}
|
||||
|
||||
# This is the path to the clang resource directory that has clang's internal
|
||||
# headers and libraries. This path should be used by packages that need to
|
||||
# install files into this directory. This macro's value changes every time
|
||||
# clang's version changes.
|
||||
%clang_resource_dir %{_libdir}/clang/%{clang_version}
|
||||
|
||||
# This is the path to the clang resource directory that should be used
|
||||
# by packages that need to read files from this directory at runtime.
|
||||
# This macro only changes when clang's major version changes.
|
||||
%clang_resource_dir_readonly %{_libdir}/clang/%{clang_major_version}
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue