[llvm-branch-commits] [clang] 11c3a21 - [analyzer] Workaround crash on encountering Class non-type template parameters
Author: Balazs Benics Date: 2022-11-15T15:37:36-08:00 New Revision: 11c3a21f8d1ba21c7744ba9d272c26c2ce3c58a0 URL: https://github.com/llvm/llvm-project/commit/11c3a21f8d1ba21c7744ba9d272c26c2ce3c58a0 DIFF: https://github.com/llvm/llvm-project/commit/11c3a21f8d1ba21c7744ba9d272c26c2ce3c58a0.diff LOG: [analyzer] Workaround crash on encountering Class non-type template parameters The Clang Static Analyzer will crash on this code: ```lang=C++ struct Box { int value; }; template int get() { return V.value; } template int get(); ``` https://godbolt.org/z/5Yb1sMMMb The problem is that we don't account for encountering `TemplateParamObjectDecl`s within the `DeclRefExpr` handler in the `ExprEngine`. IMO we should create a new memregion for representing such template param objects, to model their language semantics. Such as: - it should have global static storage - for two identical values, their addresses should be identical as well http://eel.is/c%2B%2Bdraft/temp.param#8 I was thinking of introducing a `TemplateParamObjectRegion` under `DeclRegion` for this purpose. It could have `TemplateParamObjectDecl` as a field. The `TemplateParamObjectDecl::getValue()` returns `APValue`, which might represent multiple levels of structures, unions and other goodies - making the transformation from `APValue` to `SVal` a bit complicated. That being said, for now, I think having `Unknowns` for such cases is definitely an improvement to crashing, hence I'm proposing this patch. Reviewed By: xazax.hun Differential Revision: https://reviews.llvm.org/D135763 (cherry picked from commit b062ee7dc4515b0a42157717105839627d5542bb) Added: clang/test/Analysis/template-param-objects.cpp Modified: clang/lib/StaticAnalyzer/Core/ExprEngine.cpp Removed: diff --git a/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp b/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp index 19149d0798229..ab65612bce90e 100644 --- a/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp +++ b/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp @@ -2839,6 +2839,12 @@ void ExprEngine::VisitCommonDeclRefExpr(const Expr *Ex, const NamedDecl *D, return; } + if (const auto *TPO = dyn_cast(D)) { +// FIXME: We should meaningfully implement this. +(void)TPO; +return; + } + llvm_unreachable("Support for this Decl not implemented."); } diff --git a/clang/test/Analysis/template-param-objects.cpp b/clang/test/Analysis/template-param-objects.cpp new file mode 100644 index 0..dde95fa62cb65 --- /dev/null +++ b/clang/test/Analysis/template-param-objects.cpp @@ -0,0 +1,33 @@ +// RUN: %clang_analyze_cc1 -analyzer-checker=core,debug.ExprInspection \ +// RUN:-analyzer-config eagerly-assume=false -std=c++20 -verify %s + +template void clang_analyzer_dump(T); +void clang_analyzer_eval(bool); + +struct Box { + int value; +}; +bool operator ==(Box lhs, Box rhs) { + return lhs.value == rhs.value; +} +template void dumps() { + clang_analyzer_dump(V);// expected-warning {{lazyCompoundVal}} + clang_analyzer_dump(&V); // expected-warning {{Unknown}} + clang_analyzer_dump(V.value); // expected-warning {{Unknown}} FIXME: It should be '6 S32b'. + clang_analyzer_dump(&V.value); // expected-warning {{Unknown}} +} +template void dumps(); + +// [temp.param].7.3.2: +// "All such template parameters in the program of the same type with the +// same value denote the same template parameter object." +template void stable_addresses() { + clang_analyzer_eval(&A1 == &A2); // expected-warning {{UNKNOWN}} FIXME: It should be TRUE. + clang_analyzer_eval(&B1 == &B2); // expected-warning {{UNKNOWN}} FIXME: It should be TRUE. + clang_analyzer_eval(&A1 == &B2); // expected-warning {{UNKNOWN}} FIXME: It should be FALSE. + + clang_analyzer_eval(A1 == A2); // expected-warning {{UNKNOWN}} FIXME: It should be TRUE. + clang_analyzer_eval(B1 == B2); // expected-warning {{UNKNOWN}} FIXME: It should be TRUE. + clang_analyzer_eval(A1 == B2); // expected-warning {{UNKNOWN}} FIXME: It should be FALSE. +} +template void stable_addresses(); ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [llvm] 68799e7 - [GlobalOpt] Don't remove inalloca from varargs functions
Author: Arthur Eubanks Date: 2022-11-15T15:40:40-08:00 New Revision: 68799e789fc5f2a5ff25beffa4dc8828780c08fb URL: https://github.com/llvm/llvm-project/commit/68799e789fc5f2a5ff25beffa4dc8828780c08fb DIFF: https://github.com/llvm/llvm-project/commit/68799e789fc5f2a5ff25beffa4dc8828780c08fb.diff LOG: [GlobalOpt] Don't remove inalloca from varargs functions Varargs and inalloca have a weird interaction where varargs are actually passed via the inalloca alloca. Removing inalloca breaks the varargs because they're still not passed as separate arguments. Fixes #58718 Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D137182 (cherry picked from commit 8c49b01a1ee051ab2c09be4cffc83656ccc0fbe6) Added: llvm/test/Transforms/GlobalOpt/inalloca-varargs.ll Modified: llvm/lib/Transforms/IPO/GlobalOpt.cpp Removed: diff --git a/llvm/lib/Transforms/IPO/GlobalOpt.cpp b/llvm/lib/Transforms/IPO/GlobalOpt.cpp index 6df0409256bbd..6fc7b29c5b78a 100644 --- a/llvm/lib/Transforms/IPO/GlobalOpt.cpp +++ b/llvm/lib/Transforms/IPO/GlobalOpt.cpp @@ -2003,7 +2003,7 @@ OptimizeFunctions(Module &M, // FIXME: We should also hoist alloca affected by this to the entry // block if possible. if (F.getAttributes().hasAttrSomewhere(Attribute::InAlloca) && -!F.hasAddressTaken() && !hasMustTailCallers(&F)) { +!F.hasAddressTaken() && !hasMustTailCallers(&F) && !F.isVarArg()) { RemoveAttribute(&F, Attribute::InAlloca); Changed = true; } diff --git a/llvm/test/Transforms/GlobalOpt/inalloca-varargs.ll b/llvm/test/Transforms/GlobalOpt/inalloca-varargs.ll new file mode 100644 index 0..188210782edd9 --- /dev/null +++ b/llvm/test/Transforms/GlobalOpt/inalloca-varargs.ll @@ -0,0 +1,38 @@ +; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --function-signature +; RUN: opt -passes=globalopt -S < %s | FileCheck %s + +define i32 @main(ptr %a) { +; CHECK-LABEL: define {{[^@]+}}@main +; CHECK-SAME: (ptr [[A:%.*]]) local_unnamed_addr { +; CHECK-NEXT:[[ARGMEM:%.*]] = alloca inalloca <{ ptr, i32 }>, align 4 +; CHECK-NEXT:store ptr [[A]], ptr [[ARGMEM]], align 8 +; CHECK-NEXT:[[G0:%.*]] = getelementptr inbounds <{ ptr, i32 }>, ptr [[ARGMEM]], i32 0, i32 1 +; CHECK-NEXT:store i32 5, ptr [[G0]], align 4 +; CHECK-NEXT:[[CALL3:%.*]] = call i32 (ptr, ...) @i(ptr inalloca(ptr) [[ARGMEM]]) +; CHECK-NEXT:ret i32 [[CALL3]] +; + %argmem = alloca inalloca <{ ptr, i32 }>, align 4 + store ptr %a, ptr %argmem, align 8 + %g0 = getelementptr inbounds <{ ptr, i32 }>, ptr %argmem, i32 0, i32 1 + store i32 5, ptr %g0, align 4 + %call3 = call i32 (ptr, ...) @i(ptr inalloca(ptr) %argmem) + ret i32 %call3 +} + +define internal i32 @i(ptr inalloca(ptr) %a, ...) { +; CHECK-LABEL: define {{[^@]+}}@i +; CHECK-SAME: (ptr inalloca(ptr) [[A:%.*]], ...) unnamed_addr { +; CHECK-NEXT:[[AP:%.*]] = alloca ptr, align 4 +; CHECK-NEXT:call void @llvm.va_start(ptr [[AP]]) +; CHECK-NEXT:[[ARGP_CUR:%.*]] = load ptr, ptr [[AP]], align 4 +; CHECK-NEXT:[[L:%.*]] = load i32, ptr [[ARGP_CUR]], align 4 +; CHECK-NEXT:ret i32 [[L]] +; + %ap = alloca ptr, align 4 + call void @llvm.va_start(ptr %ap) + %argp.cur = load ptr, ptr %ap, align 4 + %l = load i32, ptr %argp.cur, align 4 + ret i32 %l +} + +declare void @llvm.va_start(ptr) ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [lldb] 392963b - [lldb] Fix 'error: non-const lvalue...' caused by SWIG 4.1.0
Author: Jitka Plesnikova Date: 2022-11-15T15:42:01-08:00 New Revision: 392963bb1daf7ec8822a0f02929a8ada17eb0a0a URL: https://github.com/llvm/llvm-project/commit/392963bb1daf7ec8822a0f02929a8ada17eb0a0a DIFF: https://github.com/llvm/llvm-project/commit/392963bb1daf7ec8822a0f02929a8ada17eb0a0a.diff LOG: [lldb] Fix 'error: non-const lvalue...' caused by SWIG 4.1.0 Fix the failure caused by change in SwigValueWraper for C++11 and later for improved move semantics in SWIG commit. https://github.com/swig/swig/commit/d1055f4b3d51cb8060893f8036846ac743302dab (cherry picked from commit f0a25fe0b746f56295d5c02116ba28d2f965c175) Added: Modified: lldb/bindings/python/python-typemaps.swig Removed: diff --git a/lldb/bindings/python/python-typemaps.swig b/lldb/bindings/python/python-typemaps.swig index bf3de66b91bf1..d45431c771ca3 100644 --- a/lldb/bindings/python/python-typemaps.swig +++ b/lldb/bindings/python/python-typemaps.swig @@ -435,7 +435,7 @@ template <> bool SetNumberFromPyObject(double &number, PyObject *obj) { %typemap(out) lldb::FileSP { $result = nullptr; - lldb::FileSP &sp = $1; + const lldb::FileSP &sp = $1; if (sp) { PythonFile pyfile = unwrapOrSetPythonException(PythonFile::FromFile(*sp)); if (!pyfile.IsValid()) ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [lldb] dc8f6ff - [lldb] Get rid of __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS
Author: serge-sans-paille Date: 2022-11-15T15:42:01-08:00 New Revision: dc8f6ffc3bf297098a1dfd3fbce801afbe9f5238 URL: https://github.com/llvm/llvm-project/commit/dc8f6ffc3bf297098a1dfd3fbce801afbe9f5238 DIFF: https://github.com/llvm/llvm-project/commit/dc8f6ffc3bf297098a1dfd3fbce801afbe9f5238.diff LOG: [lldb] Get rid of __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS C++11 made the use of these macro obsolete, see https://sourceware.org/bugzilla/show_bug.cgi?id=15366 As a side effect this prevents https://github.com/swig/swig/issues/2193. Differential Revision: https://reviews.llvm.org/D134877 (cherry picked from commit 81fc5f7909a4ef5a8d4b5da2a10f77f7cb01ba63) Added: Modified: lldb/bindings/CMakeLists.txt lldb/bindings/interfaces.swig Removed: diff --git a/lldb/bindings/CMakeLists.txt b/lldb/bindings/CMakeLists.txt index c8aa0bcf9681..9eed2f1e6299 100644 --- a/lldb/bindings/CMakeLists.txt +++ b/lldb/bindings/CMakeLists.txt @@ -26,8 +26,6 @@ set(SWIG_COMMON_FLAGS -features autodoc -I${LLDB_SOURCE_DIR}/include -I${CMAKE_CURRENT_SOURCE_DIR} - -D__STDC_LIMIT_MACROS - -D__STDC_CONSTANT_MACROS ${DARWIN_EXTRAS} ) diff --git a/lldb/bindings/interfaces.swig b/lldb/bindings/interfaces.swig index c9a6d0f06056..021c7683d170 100644 --- a/lldb/bindings/interfaces.swig +++ b/lldb/bindings/interfaces.swig @@ -1,8 +1,5 @@ /* Various liblldb typedefs that SWIG needs to know about. */ #define __extension__ /* Undefine GCC keyword to make Swig happy when processing glibc's stdint.h. */ -/* The ISO C99 standard specifies that in C++ implementations limit macros such - as INT32_MAX should only be defined if __STDC_LIMIT_MACROS is. */ -#define __STDC_LIMIT_MACROS %include "stdint.i" %include "lldb/lldb-defines.h" ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [llvm] a399896 - [VectorUtils] Skip interleave members with diff type and alloca sizes.
Author: Florian Hahn Date: 2022-11-15T15:45:14-08:00 New Revision: a399896637584c86acd61afca5bbfe8ed76a7c7d URL: https://github.com/llvm/llvm-project/commit/a399896637584c86acd61afca5bbfe8ed76a7c7d DIFF: https://github.com/llvm/llvm-project/commit/a399896637584c86acd61afca5bbfe8ed76a7c7d.diff LOG: [VectorUtils] Skip interleave members with diff type and alloca sizes. Currently, codegen doesn't support cases where the type size doesn't match the alloc size. Skip them for now. Fixes #58722. (cherry picked from commit 758699c39984296f20a4dac44c6892065601c4cd) Added: llvm/test/Transforms/LoopVectorize/AArch64/interleave-allocsize-not-equal-typesize.ll Modified: llvm/lib/Analysis/VectorUtils.cpp Removed: diff --git a/llvm/lib/Analysis/VectorUtils.cpp b/llvm/lib/Analysis/VectorUtils.cpp index c4795a80ead24..bc20f33f174c4 100644 --- a/llvm/lib/Analysis/VectorUtils.cpp +++ b/llvm/lib/Analysis/VectorUtils.cpp @@ -1110,6 +1110,12 @@ void InterleavedAccessInfo::collectConstStrideAccesses( continue; Type *ElementTy = getLoadStoreType(&I); + // Currently, codegen doesn't support cases where the type size doesn't + // match the alloc size. Skip them for now. + uint64_t Size = DL.getTypeAllocSize(ElementTy); + if (Size * 8 != DL.getTypeSizeInBits(ElementTy)) +continue; + // We don't check wrapping here because we don't know yet if Ptr will be // part of a full group or a group with gaps. Checking wrapping for all // pointers (even those that end up in groups with no gaps) will be overly @@ -1121,7 +1127,6 @@ void InterleavedAccessInfo::collectConstStrideAccesses( /*Assume=*/true, /*ShouldCheckWrap=*/false); const SCEV *Scev = replaceSymbolicStrideSCEV(PSE, Strides, Ptr); - uint64_t Size = DL.getTypeAllocSize(ElementTy); AccessStrideInfo[&I] = StrideDescriptor(Stride, Scev, Size, getLoadStoreAlignment(&I)); } diff --git a/llvm/test/Transforms/LoopVectorize/AArch64/interleave-allocsize-not-equal-typesize.ll b/llvm/test/Transforms/LoopVectorize/AArch64/interleave-allocsize-not-equal-typesize.ll new file mode 100644 index 0..32ca12ee7e0ef --- /dev/null +++ b/llvm/test/Transforms/LoopVectorize/AArch64/interleave-allocsize-not-equal-typesize.ll @@ -0,0 +1,141 @@ +; NOTE: Assertions have been autogenerated by utils/update_test_checks.py +; RUN: opt -passes=loop-vectorize -S %s | FileCheck %s + +target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128" +target triple = "aarch64-unknown-linux-gnu" + +; Make sure LV does not crash when analyzing potential interleave groups with +; accesses where the typesize doesn't match to allocsize. +define void @pr58722_load_interleave_group(ptr %src, ptr %dst) { +; CHECK-LABEL: @pr58722_load_interleave_group( +; CHECK-NEXT: entry: +; CHECK-NEXT:br i1 false, label [[SCALAR_PH:%.*]], label [[VECTOR_MEMCHECK:%.*]] +; CHECK: vector.memcheck: +; CHECK-NEXT:[[UGLYGEP:%.*]] = getelementptr i8, ptr [[DST:%.*]], i64 40004 +; CHECK-NEXT:[[UGLYGEP1:%.*]] = getelementptr i8, ptr [[SRC:%.*]], i64 80007 +; CHECK-NEXT:[[BOUND0:%.*]] = icmp ult ptr [[DST]], [[UGLYGEP1]] +; CHECK-NEXT:[[BOUND1:%.*]] = icmp ult ptr [[SRC]], [[UGLYGEP]] +; CHECK-NEXT:[[FOUND_CONFLICT:%.*]] = and i1 [[BOUND0]], [[BOUND1]] +; CHECK-NEXT:br i1 [[FOUND_CONFLICT]], label [[SCALAR_PH]], label [[VECTOR_PH:%.*]] +; CHECK: vector.ph: +; CHECK-NEXT:br label [[VECTOR_BODY:%.*]] +; CHECK: vector.body: +; CHECK-NEXT:[[INDEX:%.*]] = phi i64 [ 0, [[VECTOR_PH]] ], [ [[INDEX_NEXT:%.*]], [[VECTOR_BODY]] ] +; CHECK-NEXT:[[TMP0:%.*]] = add i64 [[INDEX]], 0 +; CHECK-NEXT:[[TMP1:%.*]] = add i64 [[INDEX]], 1 +; CHECK-NEXT:[[TMP2:%.*]] = add i64 [[INDEX]], 2 +; CHECK-NEXT:[[TMP3:%.*]] = add i64 [[INDEX]], 3 +; CHECK-NEXT:[[TMP4:%.*]] = getelementptr inbounds i64, ptr [[SRC]], i64 [[TMP0]] +; CHECK-NEXT:[[TMP5:%.*]] = getelementptr inbounds i64, ptr [[SRC]], i64 [[TMP1]] +; CHECK-NEXT:[[TMP6:%.*]] = getelementptr inbounds i64, ptr [[SRC]], i64 [[TMP2]] +; CHECK-NEXT:[[TMP7:%.*]] = getelementptr inbounds i64, ptr [[SRC]], i64 [[TMP3]] +; CHECK-NEXT:[[TMP8:%.*]] = load i32, ptr [[TMP4]], align 4, !alias.scope !0 +; CHECK-NEXT:[[TMP9:%.*]] = load i32, ptr [[TMP5]], align 4, !alias.scope !0 +; CHECK-NEXT:[[TMP10:%.*]] = insertelement <2 x i32> poison, i32 [[TMP8]], i32 0 +; CHECK-NEXT:[[TMP11:%.*]] = insertelement <2 x i32> [[TMP10]], i32 [[TMP9]], i32 1 +; CHECK-NEXT:[[TMP12:%.*]] = load i32, ptr [[TMP6]], align 4, !alias.scope !0 +; CHECK-NEXT:[[TMP13:%.*]] = load i32, ptr [[TMP7]], align 4, !alias.scope !0 +; CHECK-NEXT:[[TMP14:%.*]] = insertelement <2 x i32> poison, i32 [[TMP12]], i32 0 +; CHECK-NEXT:
[llvm-branch-commits] [llvm] 154e88a - Bump version to 15.0.5
Author: Tom Stellard Date: 2022-11-15T22:28:29-08:00 New Revision: 154e88af7ec97d9b9f389e55d45bf07108a9a097 URL: https://github.com/llvm/llvm-project/commit/154e88af7ec97d9b9f389e55d45bf07108a9a097 DIFF: https://github.com/llvm/llvm-project/commit/154e88af7ec97d9b9f389e55d45bf07108a9a097.diff LOG: Bump version to 15.0.5 Added: Modified: libcxx/include/__config llvm/CMakeLists.txt llvm/utils/gn/secondary/llvm/version.gni llvm/utils/lit/lit/__init__.py utils/bazel/llvm-project-overlay/clang/BUILD.bazel utils/bazel/llvm-project-overlay/clang/include/clang/Config/config.h utils/bazel/llvm-project-overlay/lld/BUILD.bazel utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h Removed: diff --git a/libcxx/include/__config b/libcxx/include/__config index 810189c94a94c..d5ac34eba37a2 100644 --- a/libcxx/include/__config +++ b/libcxx/include/__config @@ -36,7 +36,7 @@ #ifdef __cplusplus -# define _LIBCPP_VERSION 15004 +# define _LIBCPP_VERSION 15005 # define _LIBCPP_CONCAT_IMPL(_X, _Y) _X##_Y # define _LIBCPP_CONCAT(_X, _Y) _LIBCPP_CONCAT_IMPL(_X, _Y) diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt index 3d6f5e6f9d3da..b101a1a187c9f 100644 --- a/llvm/CMakeLists.txt +++ b/llvm/CMakeLists.txt @@ -22,7 +22,7 @@ if(NOT DEFINED LLVM_VERSION_MINOR) set(LLVM_VERSION_MINOR 0) endif() if(NOT DEFINED LLVM_VERSION_PATCH) - set(LLVM_VERSION_PATCH 4) + set(LLVM_VERSION_PATCH 5) endif() if(NOT DEFINED LLVM_VERSION_SUFFIX) set(LLVM_VERSION_SUFFIX) diff --git a/llvm/utils/gn/secondary/llvm/version.gni b/llvm/utils/gn/secondary/llvm/version.gni index 3b890e00bec32..391132f1a316a 100644 --- a/llvm/utils/gn/secondary/llvm/version.gni +++ b/llvm/utils/gn/secondary/llvm/version.gni @@ -1,4 +1,4 @@ llvm_version_major = 15 llvm_version_minor = 0 -llvm_version_patch = 4 +llvm_version_patch = 5 llvm_version = "$llvm_version_major.$llvm_version_minor.$llvm_version_patch" diff --git a/llvm/utils/lit/lit/__init__.py b/llvm/utils/lit/lit/__init__.py index 04f6e94535e42..e3c8693c04218 100644 --- a/llvm/utils/lit/lit/__init__.py +++ b/llvm/utils/lit/lit/__init__.py @@ -2,7 +2,7 @@ __author__ = 'Daniel Dunbar' __email__ = 'dan...@minormatter.com' -__versioninfo__ = (15, 0, 4) +__versioninfo__ = (15, 0, 5) __version__ = '.'.join(str(v) for v in __versioninfo__) + 'dev' __all__ = [] diff --git a/utils/bazel/llvm-project-overlay/clang/BUILD.bazel b/utils/bazel/llvm-project-overlay/clang/BUILD.bazel index 96b462717be9a..8f21799d4888b 100644 --- a/utils/bazel/llvm-project-overlay/clang/BUILD.bazel +++ b/utils/bazel/llvm-project-overlay/clang/BUILD.bazel @@ -358,11 +358,11 @@ genrule( name = "basic_version_gen", outs = ["include/clang/Basic/Version.inc"], cmd = ( -"echo '#define CLANG_VERSION 15.0.4' >> $@\n" + +"echo '#define CLANG_VERSION 15.0.5' >> $@\n" + "echo '#define CLANG_VERSION_MAJOR 15' >> $@\n" + "echo '#define CLANG_VERSION_MINOR 0' >> $@\n" + -"echo '#define CLANG_VERSION_PATCHLEVEL 4' >> $@\n" + -"echo '#define CLANG_VERSION_STRING \"15.0.4\"' >> $@\n" +"echo '#define CLANG_VERSION_PATCHLEVEL 5' >> $@\n" + +"echo '#define CLANG_VERSION_STRING \"15.0.5\"' >> $@\n" ), ) diff --git a/utils/bazel/llvm-project-overlay/clang/include/clang/Config/config.h b/utils/bazel/llvm-project-overlay/clang/include/clang/Config/config.h index 5d157492eae37..ec15fccc089b3 100644 --- a/utils/bazel/llvm-project-overlay/clang/include/clang/Config/config.h +++ b/utils/bazel/llvm-project-overlay/clang/include/clang/Config/config.h @@ -93,7 +93,7 @@ /* CLANG_HAVE_RLIMITS defined conditionally below */ /* The LLVM product name and version */ -#define BACKEND_PACKAGE_STRING "LLVM 15.0.4" +#define BACKEND_PACKAGE_STRING "LLVM 15.0.5" /* Linker version detected at compile time. */ /* #undef HOST_LINK_VERSION */ diff --git a/utils/bazel/llvm-project-overlay/lld/BUILD.bazel b/utils/bazel/llvm-project-overlay/lld/BUILD.bazel index e3a8c98ffa228..b4e7f5ccbdc4e 100644 --- a/utils/bazel/llvm-project-overlay/lld/BUILD.bazel +++ b/utils/bazel/llvm-project-overlay/lld/BUILD.bazel @@ -13,7 +13,7 @@ package( genrule( name = "config_version_gen", outs = ["include/lld/Common/Version.inc"], -cmd = "echo '#define LLD_VERSION_STRING \"15.0.4\"' > $@", +cmd = "echo '#define LLD_VERSION_STRING \"15.0.5\"' > $@", ) genrule( diff --git a/utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h b/utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h index 7a86202e8e0d5..16ffcbf0d2f6a 100644 --- a/utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h +++ b/utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h @@ -80,10 +80,10 @@ #define LLVM_VERSION_MINOR 0 /* Patch version of the LLVM