[Qemu-commits] [qemu/qemu] 4d8698: tests/lcitool/refresh: Treat the output of lcitool...
Branch: refs/heads/master Home: https://github.com/qemu/qemu Commit: 4d8698e692cca96bbf20505a90e42d10141d2b94 https://github.com/qemu/qemu/commit/4d8698e692cca96bbf20505a90e42d10141d2b94 Author: Thomas Huth Date: 2024-05-17 (Fri, 17 May 2024) Changed paths: M tests/lcitool/refresh Log Message: --- tests/lcitool/refresh: Treat the output of lcitool as text, not as bytes In case lcitool fails (e.g. with a python backtrace), this makes the output of lcitool much more readable. Suggested-by: Daniel P. Berrangé Message-ID: <20240516084059.511463-2-th...@redhat.com> Reviewed-by: Daniel P. Berrangé Signed-off-by: Thomas Huth Commit: 9ebe09e633773bebd2dc52b151fb48c1b9b0542a https://github.com/qemu/qemu/commit/9ebe09e633773bebd2dc52b151fb48c1b9b0542a Author: Philippe Mathieu-Daudé Date: 2024-05-17 (Fri, 17 May 2024) Changed paths: M tests/lcitool/projects/qemu.yml Log Message: --- tests/lcitool: Remove 'xfsprogs' from QEMU QEMU's commit a5730b8bd3 ("block/file-posix: Simplify the XFS_IOC_DIOINFO handling") removed the need for the 'xfsprogs' package. Signed-off-by: Philippe Mathieu-Daudé [thuth: Adjusted the patch from the lcitools repo to QEMU's repo] Message-ID: <20240516084059.511463-3-th...@redhat.com> Reviewed-by: Daniel P. Berrangé Signed-off-by: Thomas Huth Commit: fd77b25bbde962395b93335ade09b6d3127a6537 https://github.com/qemu/qemu/commit/fd77b25bbde962395b93335ade09b6d3127a6537 Author: Thomas Huth Date: 2024-05-17 (Fri, 17 May 2024) Changed paths: M tests/lcitool/projects/qemu-minimal.yml A tests/lcitool/projects/qemu-win-installer.yml M tests/lcitool/projects/qemu.yml M tests/lcitool/refresh Log Message: --- tests/lcitool: Remove g++ from the containers (except for the MinGW one) We don't need C++ for the normal QEMU builds anymore, so installing g++ in each and every container seems to be a waste of time and disk space. The only container that still needs it is the Fedora MinGW container that builds the only remaining C++ code in ./qga/vss-win32/ and we can install it there with an extra project yml file instead. Message-ID: <20240516084059.511463-4-th...@redhat.com> Reviewed-by: Daniel P. Berrangé Signed-off-by: Thomas Huth Commit: d2f213cc069d3013b3204993d957a6eff59c220c https://github.com/qemu/qemu/commit/d2f213cc069d3013b3204993d957a6eff59c220c Author: Thomas Huth Date: 2024-05-17 (Fri, 17 May 2024) Changed paths: M tests/lcitool/projects/qemu.yml Log Message: --- tests/lcitool/projects/qemu.yml: Sort entries alphabetically again Let's try to keep the entries in alphabetical order here! Message-ID: <20240516084059.511463-5-th...@redhat.com> Reviewed-by: Daniel P. Berrangé Signed-off-by: Thomas Huth Commit: e4b6adae7aa7ab440e4dd98de3c1c532f48eda60 https://github.com/qemu/qemu/commit/e4b6adae7aa7ab440e4dd98de3c1c532f48eda60 Author: Thomas Huth Date: 2024-05-17 (Fri, 17 May 2024) Changed paths: M tests/docker/dockerfiles/alpine.docker M tests/docker/dockerfiles/centos9.docker M tests/docker/dockerfiles/debian-amd64-cross.docker M tests/docker/dockerfiles/debian-arm64-cross.docker M tests/docker/dockerfiles/debian-armel-cross.docker M tests/docker/dockerfiles/debian-armhf-cross.docker M tests/docker/dockerfiles/debian-i686-cross.docker M tests/docker/dockerfiles/debian-mips64el-cross.docker M tests/docker/dockerfiles/debian-mipsel-cross.docker M tests/docker/dockerfiles/debian-ppc64el-cross.docker M tests/docker/dockerfiles/debian-riscv64-cross.docker M tests/docker/dockerfiles/debian-s390x-cross.docker M tests/docker/dockerfiles/debian.docker M tests/docker/dockerfiles/fedora-win64-cross.docker M tests/docker/dockerfiles/fedora.docker M tests/docker/dockerfiles/opensuse-leap.docker M tests/docker/dockerfiles/ubuntu2204.docker Log Message: --- tests/docker/dockerfiles: Update container files with "lcitool-refresh" Run "make lcitool-refresh" after the previous changes to the lcitool files. This removes the g++ and xfslibs-dev packages from the dockerfiles (except for the fedora-win64-cross dockerfile where we keep the C++ compiler). Message-ID: <20240516084059.511463-6-th...@redhat.com> Reviewed-by: Daniel P. Berrangé Signed-off-by: Thomas Huth Commit: bebe9603fcb072dcdb7fb22005781b3582a4d701 https://github.com/qemu/qemu/commit/bebe9603fcb072dcdb7fb22005781b3582a4d701 Author: Thomas Huth Date: 2024-05-17 (Fri, 17 May 2024) Changed paths: M hw/intc/s390_flic.c Log Message: --- hw/intc/s390_flic: Fix crash that occurs when saving the machine state adapter_info_so_needed() treats its "opaque" parameter as a S390FLICState, but the function belongs to a VMStateDescription that is attached to a TYPE_VIRTIO_CCW_BUS device. This is currently causing a crash when the user
branch core-updates updated (8814d74211 -> b4cdd046aa)
glv pushed a change to branch core-updates in repository guix. from 8814d74211 gnu: librewolf: Change nss/fixed to nss. new 57d0d5b6e5 gnu: stumpwm: Fix build. new 9ec9848e81 gnu: cl-cluffer: Fix build. new b4cdd046aa gnu: cl-moptilities: Fix build. The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: gnu/packages/lisp-xyz.scm | 4 ++-- gnu/packages/wm.scm | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-)
01/03: gnu: stumpwm: Fix build.
glv pushed a commit to branch core-updates in repository guix. commit 57d0d5b6e59b6e0ff3d11e3a2dc70605afd3b588 Author: Guillaume Le Vaillant AuthorDate: Fri May 3 13:41:01 2024 +0200 gnu: stumpwm: Fix build. * gnu/packages/wm.scm (stumpwm)[arguments]: Don't refer to nonexistent 'install' phase. Change-Id: I6db6948750175de88f8e47eac10ceb76bff19640 --- gnu/packages/wm.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 3bfa65e4ed..93aa7c8d77 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -2451,7 +2451,7 @@ wlr-output-management-unstable-v1 protocol.") Icon=~@ Type=Application~%" out)) - (add-after 'install 'install-manual + (add-after 'create-desktop-file 'install-manual (lambda* (#:key (make-flags '()) outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (info (string-append out "/share/info")))
02/03: gnu: cl-cluffer: Fix build.
glv pushed a commit to branch core-updates in repository guix. commit 9ec9848e81e5b9617fa8eddc75430b2ffd5a50c1 Author: Guillaume Le Vaillant AuthorDate: Fri May 3 17:33:25 2024 +0200 gnu: cl-cluffer: Fix build. * gnu/packages/lisp-xyz.scm (sbcl-cluffer)[arguments]: Don't refer to nonexistent 'install' phase. Change-Id: Ic44a097dbe6d933fe86ce88fc0ca1a1ba7dc820d --- gnu/packages/lisp-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 3c9de7fc77..8a2aa85883 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -15138,7 +15138,7 @@ sequences of objects.") (arguments `(#:phases (modify-phases %standard-phases - (add-after 'install 'unpatch-shebangs + (add-after 'strip 'unpatch-shebangs (lambda* (#:key outputs #:allow-other-keys) ;; The documentation Makefile rely on shell scripts. ;; TODO: Build it!
03/03: gnu: cl-moptilities: Fix build.
glv pushed a commit to branch core-updates in repository guix. commit b4cdd046aaafdceeceb0c975174248c01a47a287 Author: Guillaume Le Vaillant AuthorDate: Fri May 3 19:23:40 2024 +0200 gnu: cl-moptilities: Fix build. * gnu/packages/lisp-xyz.scm (sbcl-moptilities)[arguments]: Don't refer to nonexistent 'install' phase. Change-Id: I7c50877547cc5b5e357d7963aebc0915dd4ebf7a --- gnu/packages/lisp-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 8a2aa85883..06ebe816e7 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -14574,7 +14574,7 @@ compliance control.") ((":relative-to lift-test") ":relative-to moptilities-test")) #t)) - (add-after 'install 'remove-test-results + (add-after 'check 'remove-test-results ;; Otherwise the drag the SBCL package into the closure of the CL ;; package. (lambda* (#:key outputs #:allow-other-keys)
[clang] [clang][analyzer] Move checker alpha.security.cert.pos.34c into security.PutenvWithAuto (PR #92424)
=?utf-8?q?Bal=C3=A1zs_K=C3=A9ri?= Message-ID: In-Reply-To: https://github.com/steakhal approved this pull request. https://github.com/llvm/llvm-project/pull/92424 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [clang][analyzer] Move checker alpha.security.cert.pos.34c into security.PutenvWithAuto (PR #92424)
=?utf-8?q?Balázs_Kéri?= Message-ID: In-Reply-To: https://github.com/steakhal edited https://github.com/llvm/llvm-project/pull/92424 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [clang][analyzer] Move checker alpha.security.cert.pos.34c into security.PutenvWithAuto (PR #92424)
=?utf-8?q?Balázs_Kéri?= Message-ID: In-Reply-To: @@ -2792,6 +2792,31 @@ Warn on mmap() calls that are both writable and executable. // code } +.. _alpha-security-putenv-stack-array: + +alpha.security.PutenvStackArray +""""""""""""""""""""""""""""""" steakhal wrote: ```suggestion alpha.security.PutenvStackArray (C) """"""""""""""""""""""""""""""""""" ``` https://github.com/llvm/llvm-project/pull/92424 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [clang][analyzer] Move checker alpha.security.cert.pos.34c into security.PutenvWithAuto (PR #92424)
=?utf-8?q?Balázs_Kéri?= Message-ID: In-Reply-To: @@ -2792,6 +2792,31 @@ Warn on mmap() calls that are both writable and executable. // code } +.. _alpha-security-putenv-stack-array: + +alpha.security.PutenvStackArray +""""""""""""""""""""""""""""""" +Finds calls to the ``putenv`` function which pass a pointer to a stack-allocated +(automatic) array as the argument. Function ``putenv`` does not copy the passed +string, only a pointer to the data is stored and this data can be read even by +other threads. Content of a stack-allocated array is likely to be overwritten +after returning from the parent function. + +The problem can be solved by using a static array variable or dynamically +allocated memory. Even better is to avoid using ``putenv`` (it has other +problems related to memory leaks) and use ``setenv`` instead. + +The check corresponds to CERT rule +`POS34-C. Do not call putenv() with a pointer to an automatic variable as the argument +<https://wiki.sei.cmu.edu/confluence/display/c/POS34-C.+Do+not+call+putenv%28%29+with+a+pointer+to+an+automatic+variable+as+the+argument>`_. + +.. code-block:: c + + int f() { +char[] env = "NAME=value"; ---- steakhal wrote: ```suggestion char env[] = "NAME=value"; ``` https://github.com/llvm/llvm-project/pull/92424 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [AArch64] Merge duplicate extension information. (PR #92319)
@@ -94,19 +94,21 @@ static void EmitARMTargetDef(RecordKeeper , raw_ostream ) { else OS << ", \"" << Alias << "\""; OS << ", AArch64::" << AEK; -if (AEK == "AEK_NONE") { +auto Name = Rec->getValueAsString("Name"); +if (Name.empty()) { labrinea wrote: No, for example all the features I have fused (FEAT_DPB, FEAT_DPB2, FEAT_FLAGM2, FEAT_FRINTTS, FEAT_RCPC2) as well as BTI, are FMVOnly and still have a valid +/- TargetFeatureName. https://github.com/llvm/llvm-project/pull/92319 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [AArch64] Merge duplicate extension information. (PR #92319)
@@ -56,43 +52,64 @@ class Extension< // The FMV priority int FMVPriority = _FMVPriority; + +// Indicates if the extension is available on the command line. +string IsFMVOnly = _IsFMVOnly; labrinea wrote: We want the ExtensionInfo field to be of type bool. Can we do the type conversation in the emitter? If so okay https://github.com/llvm/llvm-project/pull/92319 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [AArch64] Merge duplicate extension information. (PR #92319)
@@ -56,43 +52,64 @@ class Extension< // The FMV priority int FMVPriority = _FMVPriority; + +// Indicates if the extension is available on the command line. +string IsFMVOnly = _IsFMVOnly; } // Some extensions are available for FMV but can not be controlled via the -// command line. These entries: -// - are SubtargetFeatures, so they have (unused) FieldNames on the subtarget -//e.g. HasFMVOnlyFEAT_XYZ -// - have incorrect (empty) Implies fields, because the code that handles FMV -//ignores these dependencies and looks only at FMVDependencies. -// - have no description. -// -// In the generated data structures for extensions (ExtensionInfo), AEK_NONE is -// used to indicate that a feature is FMV only. Therefore ArchExtKindSpelling is -// manually overridden here. -class FMVOnlyExtension - : Extension { -let ArchExtKindSpelling = "AEK_NONE"; // AEK_NONE indicates FMV-only feature -} +// command line, neither have a TargetFeatureName. Since they have no effect +// on their own, their description is left empty. However they can have side +// effects by implying other Subtarget Features. These extensions are used +// in FMV for detection purposes. + +let MArchName = "dgh" in +def : Extension<"", "DGH", "", [], "FEAT_DGH", "", 260, "true">; labrinea wrote: Then what makes an Extension with IsFMVOnly=1 different from and FMVOnlyExtesion? I believe this will create more confusion. As I explained we don't want any extension to be of AEK_NONE type, in order to be able to express dependencies. Do you want to rename the FMVOnlyExtesion class into something else making it differ from Extension only for not having a TargetFeatureName? https://github.com/llvm/llvm-project/pull/92319 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [clang] Introduce `SemaPseudoObject` (PR #92646)
esult result = getDerived().TransformExpr(newSyntacticForm); if (result.isInvalid()) return ExprError(); @@ -11898,7 +11899,7 @@ TreeTransform::TransformPseudoObjectExpr(PseudoObjectExpr *E) { // expression must have been an lvalue-to-rvalue conversion which we // should reapply. if (result.get()->hasPlaceholderType(BuiltinType::PseudoObject)) -result = SemaRef.checkPseudoObjectRValue(result.get()); +result = SemaRef.PseudoObject().checkRValue(result.get()); return result; } @@ -16196,8 +16197,8 @@ ExprResult TreeTransform::RebuildCXXOperatorCallExpr( if (First->getObjectKind() == OK_ObjCProperty) { BinaryOperatorKind Opc = BinaryOperator::getOverloadedOpcode(Op); if (BinaryOperator::isAssignmentOp(Opc)) - return SemaRef.checkPseudoObjectAssignment(/*Scope=*/nullptr, OpLoc, Opc, - First, Second); + return SemaRef.PseudoObject().checkAssignment(/*Scope=*/nullptr, OpLoc, +Opc, First, Second); ExprResult Result = SemaRef.CheckPlaceholderExpr(First); if (Result.isInvalid()) return ExprError(); `` https://github.com/llvm/llvm-project/pull/92646 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [clang] Introduce `SemaPseudoObject` (PR #92646)
t(opaqueRef)) { - MSPropertyOpBuilder builder(SemaRef, refExpr, IsSimpleAssign); - return builder.buildAssignmentOperation(S, opcLoc, opcode, LHS, RHS); +MSPropertyOpBuilder builder(SemaRef, refExpr, IsSimpleAssign); +return builder.buildAssignmentOperation(S, opcLoc, opcode, LHS, RHS); } else if (MSPropertySubscriptExpr *RefExpr = dyn_cast(opaqueRef)) { - MSPropertyOpBuilder Builder(SemaRef, RefExpr, IsSimpleAssign); - return Builder.buildAssignmentOperation(S, opcLoc, opcode, LHS, RHS); +MSPropertyOpBuilder Builder(SemaRef, RefExpr, IsSimpleAssign); +return Builder.buildAssignmentOperation(S, opcLoc, opcode, LHS, RHS); } else { llvm_unreachable("unknown pseudo-object kind!"); } @@ -1562,10 +1562,10 @@ Expr *SemaPseudoObject::recreateSyntacticForm(PseudoObjectExpr *E) { Expr *syntax = E->getSyntacticForm(); if (UnaryOperator *uop = dyn_cast(syntax)) { Expr *op = stripOpaqueValuesFromPseudoObjectRef(SemaRef, uop->getSubExpr()); -return UnaryOperator::Create(SemaRef.Context, op, uop->getOpcode(), uop->getType(), - uop->getValueKind(), uop->getObjectKind(), - uop->getOperatorLoc(), uop->canOverflow(), - SemaRef.CurFPFeatureOverrides()); +return UnaryOperator::Create( +SemaRef.Context, op, uop->getOpcode(), uop->getType(), +uop->getValueKind(), uop->getObjectKind(), uop->getOperatorLoc(), +uop->canOverflow(), SemaRef.CurFPFeatureOverrides()); } else if (CompoundAssignOperator *cop = dyn_cast(syntax)) { Expr *lhs = stripOpaqueValuesFromPseudoObjectRef(SemaRef, cop->getLHS()); diff --git a/clang/lib/Sema/TreeTransform.h b/clang/lib/Sema/TreeTransform.h index 5fbc80f364a83..733a73da98314 100644 --- a/clang/lib/Sema/TreeTransform.h +++ b/clang/lib/Sema/TreeTransform.h @@ -16197,8 +16197,8 @@ ExprResult TreeTransform::RebuildCXXOperatorCallExpr( if (First->getObjectKind() == OK_ObjCProperty) { BinaryOperatorKind Opc = BinaryOperator::getOverloadedOpcode(Op); if (BinaryOperator::isAssignmentOp(Opc)) - return SemaRef.PseudoObject().checkAssignment(/*Scope=*/nullptr, OpLoc, Opc, - First, Second); + return SemaRef.PseudoObject().checkAssignment(/*Scope=*/nullptr, OpLoc, +Opc, First, Second); ExprResult Result = SemaRef.CheckPlaceholderExpr(First); if (Result.isInvalid()) return ExprError(); ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [clang] Introduce `SemaCoroutine` (PR #92645)
https://github.com/Endilll updated https://github.com/llvm/llvm-project/pull/92645 >From 4fe09a3411e54561857d2f9d8c1808cb2728e299 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Sat, 18 May 2024 13:33:04 +0300 Subject: [PATCH 1/3] [clang] Introduce `SemaCoroutine` --- clang/include/clang/Sema/Sema.h | 58 +- clang/include/clang/Sema/SemaCoroutine.h | 73 clang/lib/Parse/ParseExpr.cpp| 3 +- clang/lib/Parse/ParseExprCXX.cpp | 3 +- clang/lib/Parse/ParseStmt.cpp| 3 +- clang/lib/Sema/Sema.cpp | 4 +- clang/lib/Sema/SemaCoroutine.cpp | 218 --- clang/lib/Sema/SemaDecl.cpp | 16 +- clang/lib/Sema/SemaStmt.cpp | 9 +- clang/lib/Sema/TreeTransform.h | 25 +-- 10 files changed, 227 insertions(+), 185 deletions(-) create mode 100644 clang/include/clang/Sema/SemaCoroutine.h diff --git a/clang/include/clang/Sema/Sema.h b/clang/include/clang/Sema/Sema.h index d4d4a82525a02..1d0fbeacfe061 100644 --- a/clang/include/clang/Sema/Sema.h +++ b/clang/include/clang/Sema/Sema.h @@ -168,6 +168,7 @@ class PseudoDestructorTypeStorage; class PseudoObjectExpr; class QualType; class SemaCodeCompletion; +class SemaCoroutine; class SemaCUDA; class SemaHLSL; class SemaObjC; @@ -989,6 +990,11 @@ class Sema final : public SemaBase { return *CodeCompletionPtr; } + SemaCoroutine () { +assert(CoroutinePtr); +return *CoroutinePtr; + } + SemaCUDA () { assert(CUDAPtr); return *CUDAPtr; @@ -1050,6 +1056,7 @@ class Sema final : public SemaBase { mutable IdentifierInfo *Ident_super; std::unique_ptr CodeCompletionPtr; + std::unique_ptr CoroutinePtr; std::unique_ptr CUDAPtr; std::unique_ptr HLSLPtr; std::unique_ptr ObjCPtr; @@ -2267,57 +2274,6 @@ class Sema final : public SemaBase { // // - /// \name C++ Coroutines - /// Implementations are in SemaCoroutine.cpp - ///@{ - -public: - /// The C++ "std::coroutine_traits" template, which is defined in - /// \ - ClassTemplateDecl *StdCoroutineTraitsCache; - - bool ActOnCoroutineBodyStart(Scope *S, SourceLocation KwLoc, - StringRef Keyword); - ExprResult ActOnCoawaitExpr(Scope *S, SourceLocation KwLoc, Expr *E); - ExprResult ActOnCoyieldExpr(Scope *S, SourceLocation KwLoc, Expr *E); - StmtResult ActOnCoreturnStmt(Scope *S, SourceLocation KwLoc, Expr *E); - - ExprResult BuildOperatorCoawaitLookupExpr(Scope *S, SourceLocation Loc); - ExprResult BuildOperatorCoawaitCall(SourceLocation Loc, Expr *E, - UnresolvedLookupExpr *Lookup); - ExprResult BuildResolvedCoawaitExpr(SourceLocation KwLoc, Expr *Operand, - Expr *Awaiter, bool IsImplicit = false); - ExprResult BuildUnresolvedCoawaitExpr(SourceLocation KwLoc, Expr *Operand, -UnresolvedLookupExpr *Lookup); - ExprResult BuildCoyieldExpr(SourceLocation KwLoc, Expr *E); - StmtResult BuildCoreturnStmt(SourceLocation KwLoc, Expr *E, - bool IsImplicit = false); - StmtResult BuildCoroutineBodyStmt(CoroutineBodyStmt::CtorArgs); - bool buildCoroutineParameterMoves(SourceLocation Loc); - VarDecl *buildCoroutinePromise(SourceLocation Loc); - void CheckCompletedCoroutineBody(FunctionDecl *FD, Stmt *); - - // As a clang extension, enforces that a non-coroutine function must be marked - // with [[clang::coro_wrapper]] if it returns a type marked with - // [[clang::coro_return_type]]. - // Expects that FD is not a coroutine. - void CheckCoroutineWrapper(FunctionDecl *FD); - /// Lookup 'coroutine_traits' in std namespace and std::experimental - /// namespace. The namespace found is recorded in Namespace. - ClassTemplateDecl *lookupCoroutineTraits(SourceLocation KwLoc, - SourceLocation FuncLoc); - /// Check that the expression co_await promise.final_suspend() shall not be - /// potentially-throwing. - bool checkFinalSuspendNoThrow(const Stmt *FinalSuspend); - - ///@} - - // - // - // - - // - // - /// \name C++ Scope Specifiers /// Implementations are in SemaCXXScopeSpec.cpp ///@{ diff --git a/clang/include/clang/Sema/SemaCoroutine.h b/clang/include/clang/Sema/SemaCoroutine.h new file mode 100644 index 0..20f1fffc970f8 --- /dev/null +++ b/clang/include/clang/Sema/SemaCoroutine.h @@ -0,0 +1,73 @@ +//===- SemaCUDA.h - Semantic Analysis for C++20 coroutines ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===--===// +/// \file +/// This file declares semantic
[jenkins-infra/jenkins-infra] 921d29: chore: Bump container agent image jenkinsciinfra/b...
Branch: refs/heads/updatecli_production_f10b18e55b9d879c3dc9d397305f5bd93d89cf9ecbc457d2fadf491e9076d68d Home: https://github.com/jenkins-infra/jenkins-infra Commit: 921d29bba699aebf0c11eb6a08e7f6e1da345f41 https://github.com/jenkins-infra/jenkins-infra/commit/921d29bba699aebf0c11eb6a08e7f6e1da345f41 Author: Jenkins Infra Bot (updatecli) <60776566+jenkins-infra-...@users.noreply.github.com> Date: 2024-05-18 (Sat, 18 May 2024) Changed paths: M hieradata/common.yaml Log Message: --- chore: Bump container agent image jenkinsciinfra/builder Made with ❤️️ by updatecli To unsubscribe from these emails, change your notification settings at https://github.com/jenkins-infra/jenkins-infra/settings/notifications -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-commits/jenkins-infra/jenkins-infra/push/refs/heads/updatecli_production_f10b18e55b9d879c3dc9d397305f5bd93d89cf9ecbc457d2fadf491e9076d68d/54481d-921d29%40github.com.
[clang] [clang] Introduce `SemaCoroutine` (PR #92645)
outine().buildCoroutineParameterMoves(Loc)) return nullptr; - ScopeInfo->CoroutinePromise = S.buildCoroutinePromise(Loc); + ScopeInfo->CoroutinePromise = S.Coroutine().buildCoroutinePromise(Loc); if (!ScopeInfo->CoroutinePromise) return nullptr; @@ -666,13 +671,13 @@ static void checkNoThrow(Sema , const Stmt *E, } } -bool Sema::checkFinalSuspendNoThrow(const Stmt *FinalSuspend) { +bool SemaCoroutine::checkFinalSuspendNoThrow(const Stmt *FinalSuspend) { llvm::SmallPtrSet ThrowingDecls; // We first collect all declarations that should not throw but not declared // with noexcept. We then sort them based on the location before printing. // This is to avoid emitting the same note multiple times on the same // declaration, and also provide a deterministic order for the messages. - checkNoThrow(*this, FinalSuspend, ThrowingDecls); + checkNoThrow(SemaRef, FinalSuspend, ThrowingDecls); auto SortedDecls = llvm::SmallVector{ThrowingDecls.begin(), ThrowingDecls.end()}; sort(SortedDecls, [](const Decl *A, const Decl *B) { @@ -684,14 +689,14 @@ bool Sema::checkFinalSuspendNoThrow(const Stmt *FinalSuspend) { return ThrowingDecls.empty(); } -bool Sema::ActOnCoroutineBodyStart(Scope *SC, SourceLocation KWLoc, - StringRef Keyword) { +bool SemaCoroutine::ActOnCoroutineBodyStart(Scope *SC, SourceLocation KWLoc, +StringRef Keyword) { // Ignore previous expr evaluation contexts. EnterExpressionEvaluationContext PotentiallyEvaluated( - *this, Sema::ExpressionEvaluationContext::PotentiallyEvaluated); - if (!checkCoroutin... [truncated] `` https://github.com/llvm/llvm-project/pull/92645 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [clang] Introduce `SemaCoroutine` (PR #92645)
https://github.com/Endilll created https://github.com/llvm/llvm-project/pull/92645 This patch moves coroutines-specific `Sema` functions into the new `SemaCoroutine` class. This continues previous efforts to split `Sema` up. Additional context can be found in #84184. As usual, in order to help reviewing this, formatting changes are split into a separate commit. >From 4fe09a3411e54561857d2f9d8c1808cb2728e299 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Sat, 18 May 2024 13:33:04 +0300 Subject: [PATCH 1/2] [clang] Introduce `SemaCoroutine` --- clang/include/clang/Sema/Sema.h | 58 +- clang/include/clang/Sema/SemaCoroutine.h | 73 clang/lib/Parse/ParseExpr.cpp| 3 +- clang/lib/Parse/ParseExprCXX.cpp | 3 +- clang/lib/Parse/ParseStmt.cpp| 3 +- clang/lib/Sema/Sema.cpp | 4 +- clang/lib/Sema/SemaCoroutine.cpp | 218 --- clang/lib/Sema/SemaDecl.cpp | 16 +- clang/lib/Sema/SemaStmt.cpp | 9 +- clang/lib/Sema/TreeTransform.h | 25 +-- 10 files changed, 227 insertions(+), 185 deletions(-) create mode 100644 clang/include/clang/Sema/SemaCoroutine.h diff --git a/clang/include/clang/Sema/Sema.h b/clang/include/clang/Sema/Sema.h index d4d4a82525a02..1d0fbeacfe061 100644 --- a/clang/include/clang/Sema/Sema.h +++ b/clang/include/clang/Sema/Sema.h @@ -168,6 +168,7 @@ class PseudoDestructorTypeStorage; class PseudoObjectExpr; class QualType; class SemaCodeCompletion; +class SemaCoroutine; class SemaCUDA; class SemaHLSL; class SemaObjC; @@ -989,6 +990,11 @@ class Sema final : public SemaBase { return *CodeCompletionPtr; } + SemaCoroutine () { +assert(CoroutinePtr); +return *CoroutinePtr; + } + SemaCUDA () { assert(CUDAPtr); return *CUDAPtr; @@ -1050,6 +1056,7 @@ class Sema final : public SemaBase { mutable IdentifierInfo *Ident_super; std::unique_ptr CodeCompletionPtr; + std::unique_ptr CoroutinePtr; std::unique_ptr CUDAPtr; std::unique_ptr HLSLPtr; std::unique_ptr ObjCPtr; @@ -2267,57 +2274,6 @@ class Sema final : public SemaBase { // // - /// \name C++ Coroutines - /// Implementations are in SemaCoroutine.cpp - ///@{ - -public: - /// The C++ "std::coroutine_traits" template, which is defined in - /// \ - ClassTemplateDecl *StdCoroutineTraitsCache; - - bool ActOnCoroutineBodyStart(Scope *S, SourceLocation KwLoc, - StringRef Keyword); - ExprResult ActOnCoawaitExpr(Scope *S, SourceLocation KwLoc, Expr *E); - ExprResult ActOnCoyieldExpr(Scope *S, SourceLocation KwLoc, Expr *E); - StmtResult ActOnCoreturnStmt(Scope *S, SourceLocation KwLoc, Expr *E); - - ExprResult BuildOperatorCoawaitLookupExpr(Scope *S, SourceLocation Loc); - ExprResult BuildOperatorCoawaitCall(SourceLocation Loc, Expr *E, - UnresolvedLookupExpr *Lookup); - ExprResult BuildResolvedCoawaitExpr(SourceLocation KwLoc, Expr *Operand, - Expr *Awaiter, bool IsImplicit = false); - ExprResult BuildUnresolvedCoawaitExpr(SourceLocation KwLoc, Expr *Operand, -UnresolvedLookupExpr *Lookup); - ExprResult BuildCoyieldExpr(SourceLocation KwLoc, Expr *E); - StmtResult BuildCoreturnStmt(SourceLocation KwLoc, Expr *E, - bool IsImplicit = false); - StmtResult BuildCoroutineBodyStmt(CoroutineBodyStmt::CtorArgs); - bool buildCoroutineParameterMoves(SourceLocation Loc); - VarDecl *buildCoroutinePromise(SourceLocation Loc); - void CheckCompletedCoroutineBody(FunctionDecl *FD, Stmt *); - - // As a clang extension, enforces that a non-coroutine function must be marked - // with [[clang::coro_wrapper]] if it returns a type marked with - // [[clang::coro_return_type]]. - // Expects that FD is not a coroutine. - void CheckCoroutineWrapper(FunctionDecl *FD); - /// Lookup 'coroutine_traits' in std namespace and std::experimental - /// namespace. The namespace found is recorded in Namespace. - ClassTemplateDecl *lookupCoroutineTraits(SourceLocation KwLoc, - SourceLocation FuncLoc); - /// Check that the expression co_await promise.final_suspend() shall not be - /// potentially-throwing. - bool checkFinalSuspendNoThrow(const Stmt *FinalSuspend); - - ///@} - - // - // - // - - // - // - /// \name C++ Scope Specifiers /// Implementations are in SemaCXXScopeSpec.cpp ///@{ diff --git a/clang/include/clang/Sema/SemaCoroutine.h b/clang/include/clang/Sema/SemaCoroutine.h new file mode 100644 index 0..20f1fffc970f8 --- /dev/null +++ b/clang/include/clang/Sema/SemaCoroutine.h @@ -0,0 +1,73 @@ +//===- SemaCUDA.h - Semantic Analysis for C++20 coroutines ===// +// +// Part of the LLVM Project, under the Apache
[clang] [RISCV] Remove unneeded multiply in RISCV CodeGenTypes (PR #92644)
llvmbot wrote: @llvm/pr-subscribers-clang Author: Brandon Wu (4vtomat) Changes The NumVectors other than 1 is handled by the code above. --- Full diff: https://github.com/llvm/llvm-project/pull/92644.diff 1 Files Affected: - (modified) clang/lib/CodeGen/CodeGenTypes.cpp (+1-2) ``diff diff --git a/clang/lib/CodeGen/CodeGenTypes.cpp b/clang/lib/CodeGen/CodeGenTypes.cpp index e8d75eda029e6..0a926e4ac27fe 100644 --- a/clang/lib/CodeGen/CodeGenTypes.cpp +++ b/clang/lib/CodeGen/CodeGenTypes.cpp @@ -523,8 +523,7 @@ llvm::Type *CodeGenTypes::ConvertType(QualType T) { return llvm::StructType::get(getLLVMContext(), EltTys); } return llvm::ScalableVectorType::get(ConvertType(Info.ElementType), - Info.EC.getKnownMinValue() * - Info.NumVectors); + Info.EC.getKnownMinValue()); } #define WASM_REF_TYPE(Name, MangledName, Id, SingletonId, AS) \ case BuiltinType::Id: { \ `` https://github.com/llvm/llvm-project/pull/92644 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [RISCV] Remove unneeded multiply in RISCV CodeGenTypes (PR #92644)
llvmbot wrote: @llvm/pr-subscribers-clang-codegen Author: Brandon Wu (4vtomat) Changes The NumVectors other than 1 is handled by the code above. --- Full diff: https://github.com/llvm/llvm-project/pull/92644.diff 1 Files Affected: - (modified) clang/lib/CodeGen/CodeGenTypes.cpp (+1-2) ``diff diff --git a/clang/lib/CodeGen/CodeGenTypes.cpp b/clang/lib/CodeGen/CodeGenTypes.cpp index e8d75eda029e6..0a926e4ac27fe 100644 --- a/clang/lib/CodeGen/CodeGenTypes.cpp +++ b/clang/lib/CodeGen/CodeGenTypes.cpp @@ -523,8 +523,7 @@ llvm::Type *CodeGenTypes::ConvertType(QualType T) { return llvm::StructType::get(getLLVMContext(), EltTys); } return llvm::ScalableVectorType::get(ConvertType(Info.ElementType), - Info.EC.getKnownMinValue() * - Info.NumVectors); + Info.EC.getKnownMinValue()); } #define WASM_REF_TYPE(Name, MangledName, Id, SingletonId, AS) \ case BuiltinType::Id: { \ `` https://github.com/llvm/llvm-project/pull/92644 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [RISCV] Remove unneeded multiply in RISCV CodeGenTypes (PR #92644)
https://github.com/4vtomat created https://github.com/llvm/llvm-project/pull/92644 The NumVectors other than 1 is handled by the code above. >From 4dbcf6e577d5f1aea0cde72e3a5a7fd73620b2d9 Mon Sep 17 00:00:00 2001 From: Brandon Wu Date: Sat, 18 May 2024 03:07:43 -0700 Subject: [PATCH] [RISCV] Remove unneeded multiply in RISCV CodeGenTypes The NumVectors other than 1 is handled by the code above. --- clang/lib/CodeGen/CodeGenTypes.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/clang/lib/CodeGen/CodeGenTypes.cpp b/clang/lib/CodeGen/CodeGenTypes.cpp index e8d75eda029e6..0a926e4ac27fe 100644 --- a/clang/lib/CodeGen/CodeGenTypes.cpp +++ b/clang/lib/CodeGen/CodeGenTypes.cpp @@ -523,8 +523,7 @@ llvm::Type *CodeGenTypes::ConvertType(QualType T) { return llvm::StructType::get(getLLVMContext(), EltTys); } return llvm::ScalableVectorType::get(ConvertType(Info.ElementType), - Info.EC.getKnownMinValue() * - Info.NumVectors); + Info.EC.getKnownMinValue()); } #define WASM_REF_TYPE(Name, MangledName, Id, SingletonId, AS) \ case BuiltinType::Id: { \ ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[jenkins-infra/jenkins-infra] 54481d: chore: Bump container agent image jenkinsciinfra/b...
Branch: refs/heads/updatecli_production_f10b18e55b9d879c3dc9d397305f5bd93d89cf9ecbc457d2fadf491e9076d68d Home: https://github.com/jenkins-infra/jenkins-infra Commit: 54481d7fbfb755dffab1c13c08a33bff890cb1ef https://github.com/jenkins-infra/jenkins-infra/commit/54481d7fbfb755dffab1c13c08a33bff890cb1ef Author: Jenkins Infra Bot (updatecli) <60776566+jenkins-infra-...@users.noreply.github.com> Date: 2024-05-18 (Sat, 18 May 2024) Changed paths: M hieradata/common.yaml Log Message: --- chore: Bump container agent image jenkinsciinfra/builder Made with ❤️️ by updatecli To unsubscribe from these emails, change your notification settings at https://github.com/jenkins-infra/jenkins-infra/settings/notifications -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-commits/jenkins-infra/jenkins-infra/push/refs/heads/updatecli_production_f10b18e55b9d879c3dc9d397305f5bd93d89cf9ecbc457d2fadf491e9076d68d/f607c0-54481d%40github.com.
[Qemu-commits] [qemu/qemu] 4d8698: tests/lcitool/refresh: Treat the output of lcitool...
Branch: refs/heads/staging Home: https://github.com/qemu/qemu Commit: 4d8698e692cca96bbf20505a90e42d10141d2b94 https://github.com/qemu/qemu/commit/4d8698e692cca96bbf20505a90e42d10141d2b94 Author: Thomas Huth Date: 2024-05-17 (Fri, 17 May 2024) Changed paths: M tests/lcitool/refresh Log Message: --- tests/lcitool/refresh: Treat the output of lcitool as text, not as bytes In case lcitool fails (e.g. with a python backtrace), this makes the output of lcitool much more readable. Suggested-by: Daniel P. Berrangé Message-ID: <20240516084059.511463-2-th...@redhat.com> Reviewed-by: Daniel P. Berrangé Signed-off-by: Thomas Huth Commit: 9ebe09e633773bebd2dc52b151fb48c1b9b0542a https://github.com/qemu/qemu/commit/9ebe09e633773bebd2dc52b151fb48c1b9b0542a Author: Philippe Mathieu-Daudé Date: 2024-05-17 (Fri, 17 May 2024) Changed paths: M tests/lcitool/projects/qemu.yml Log Message: --- tests/lcitool: Remove 'xfsprogs' from QEMU QEMU's commit a5730b8bd3 ("block/file-posix: Simplify the XFS_IOC_DIOINFO handling") removed the need for the 'xfsprogs' package. Signed-off-by: Philippe Mathieu-Daudé [thuth: Adjusted the patch from the lcitools repo to QEMU's repo] Message-ID: <20240516084059.511463-3-th...@redhat.com> Reviewed-by: Daniel P. Berrangé Signed-off-by: Thomas Huth Commit: fd77b25bbde962395b93335ade09b6d3127a6537 https://github.com/qemu/qemu/commit/fd77b25bbde962395b93335ade09b6d3127a6537 Author: Thomas Huth Date: 2024-05-17 (Fri, 17 May 2024) Changed paths: M tests/lcitool/projects/qemu-minimal.yml A tests/lcitool/projects/qemu-win-installer.yml M tests/lcitool/projects/qemu.yml M tests/lcitool/refresh Log Message: --- tests/lcitool: Remove g++ from the containers (except for the MinGW one) We don't need C++ for the normal QEMU builds anymore, so installing g++ in each and every container seems to be a waste of time and disk space. The only container that still needs it is the Fedora MinGW container that builds the only remaining C++ code in ./qga/vss-win32/ and we can install it there with an extra project yml file instead. Message-ID: <20240516084059.511463-4-th...@redhat.com> Reviewed-by: Daniel P. Berrangé Signed-off-by: Thomas Huth Commit: d2f213cc069d3013b3204993d957a6eff59c220c https://github.com/qemu/qemu/commit/d2f213cc069d3013b3204993d957a6eff59c220c Author: Thomas Huth Date: 2024-05-17 (Fri, 17 May 2024) Changed paths: M tests/lcitool/projects/qemu.yml Log Message: --- tests/lcitool/projects/qemu.yml: Sort entries alphabetically again Let's try to keep the entries in alphabetical order here! Message-ID: <20240516084059.511463-5-th...@redhat.com> Reviewed-by: Daniel P. Berrangé Signed-off-by: Thomas Huth Commit: e4b6adae7aa7ab440e4dd98de3c1c532f48eda60 https://github.com/qemu/qemu/commit/e4b6adae7aa7ab440e4dd98de3c1c532f48eda60 Author: Thomas Huth Date: 2024-05-17 (Fri, 17 May 2024) Changed paths: M tests/docker/dockerfiles/alpine.docker M tests/docker/dockerfiles/centos9.docker M tests/docker/dockerfiles/debian-amd64-cross.docker M tests/docker/dockerfiles/debian-arm64-cross.docker M tests/docker/dockerfiles/debian-armel-cross.docker M tests/docker/dockerfiles/debian-armhf-cross.docker M tests/docker/dockerfiles/debian-i686-cross.docker M tests/docker/dockerfiles/debian-mips64el-cross.docker M tests/docker/dockerfiles/debian-mipsel-cross.docker M tests/docker/dockerfiles/debian-ppc64el-cross.docker M tests/docker/dockerfiles/debian-riscv64-cross.docker M tests/docker/dockerfiles/debian-s390x-cross.docker M tests/docker/dockerfiles/debian.docker M tests/docker/dockerfiles/fedora-win64-cross.docker M tests/docker/dockerfiles/fedora.docker M tests/docker/dockerfiles/opensuse-leap.docker M tests/docker/dockerfiles/ubuntu2204.docker Log Message: --- tests/docker/dockerfiles: Update container files with "lcitool-refresh" Run "make lcitool-refresh" after the previous changes to the lcitool files. This removes the g++ and xfslibs-dev packages from the dockerfiles (except for the fedora-win64-cross dockerfile where we keep the C++ compiler). Message-ID: <20240516084059.511463-6-th...@redhat.com> Reviewed-by: Daniel P. Berrangé Signed-off-by: Thomas Huth Commit: bebe9603fcb072dcdb7fb22005781b3582a4d701 https://github.com/qemu/qemu/commit/bebe9603fcb072dcdb7fb22005781b3582a4d701 Author: Thomas Huth Date: 2024-05-17 (Fri, 17 May 2024) Changed paths: M hw/intc/s390_flic.c Log Message: --- hw/intc/s390_flic: Fix crash that occurs when saving the machine state adapter_info_so_needed() treats its "opaque" parameter as a S390FLICState, but the function belongs to a VMStateDescription that is attached to a TYPE_VIRTIO_CCW_BUS device. This is currently causing a crash when the user
[clang] [llvm] [AMDGPU][WIP] Extend readlane, writelane and readfirstlane intrinsic lowering for generic types (PR #89217)
https://github.com/vikramRH edited https://github.com/llvm/llvm-project/pull/89217 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [alpha.webkit.UncountedLocalVarsChecker] Detect assignments to uncounted local variable and parameters. (PR #92639)
le 'b' is uncounted and unsafe [alpha.webkit.UncountedLocalVarsChecker]}} + if (b->trivial()) +b = provide_ref_ctnbl(); +} + +void bar(RefCountable* a) { + RefCountable* b; + // expected-warning@-1{{Local variable 'b' is uncounted and unsafe [alpha.webkit.UncountedLocalVarsChecker]}} + b = provide_ref_ctnbl(); +} + +void baz() { + RefPtr a = provide_ref_ctnbl(); + { +RefCountable* b = a.get(); +// expected-warning@-1{{Local variable 'b' is uncounted and unsafe [alpha.webkit.UncountedLocalVarsChecker]}} +b = provide_ref_ctnbl(); + } +} + +} // namespace local_assignment_basic + +namespace local_assignment_to_parameter { + +RefCountable *provide_ref_ctnbl(); +void someFunction(); + +void foo(RefCountable* a) { + a = provide_ref_ctnbl(); + // expected-warning@-1{{Assignment to an uncounted parameter 'a' is unsafe [alpha.webkit.UncountedLocalVarsChecker]}} + someFunction(); + a->method(); +} + +} // namespace local_assignment_to_parameter `` https://github.com/llvm/llvm-project/pull/92639 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [alpha.webkit.UncountedLocalVarsChecker] Detect assignments to uncounted local variable and parameters. (PR #92639)
uncounted-local-vars.cpp +++ b/clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp @@ -216,3 +216,45 @@ void foo() { } } // namespace conditional_op + +namespace local_assignment_basic { + +RefCountable *provide_ref_ctnbl(); + +void foo(RefCountable* a) { + RefCountable* b = a; + // expected-warning@-1{{Local variable 'b' is uncounted and unsafe [alpha.webkit.UncountedLocalVarsChecker]}} + if (b->trivial()) +b = provide_ref_ctnbl(); +} + +void bar(RefCountable* a) { + RefCountable* b; + // expected-warning@-1{{Local variable 'b' is uncounted and unsafe [alpha.webkit.UncountedLocalVarsChecker]}} + b = provide_ref_ctnbl(); +} + +void baz() { + RefPtr a = provide_ref_ctnbl(); + { +RefCountable* b = a.get(); +// expected-warning@-1{{Local variable 'b' is uncounted and unsafe [alpha.webkit.UncountedLocalVarsChecker]}} +b = provide_ref_ctnbl(); + } +} + +} // namespace local_assignment_basic + +namespace local_assignment_to_parameter { + +RefCountable *provide_ref_ctnbl(); +void someFunction(); + +void foo(RefCountable* a) { + a = provide_ref_ctnbl(); + // expected-warning@-1{{Assignment to an uncounted parameter 'a' is unsafe [alpha.webkit.UncountedLocalVarsChecker]}} + someFunction(); + a->method(); +} + +} // namespace local_assignment_to_parameter ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [AMDGPU][WIP] Extend readlane, writelane and readfirstlane intrinsic lowering for generic types (PR #89217)
https://github.com/vikramRH edited https://github.com/llvm/llvm-project/pull/89217 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] f7b0b99 - [clang][NFC] Further improvements to const-correctness
ddStmt(const_cast( -cast(Update.getDecl())->getDefaultArg())); +Record.writeStmtRef( +cast(Update.getDecl())->getDefaultArg()); break; case UPD_CXX_INSTANTIATED_DEFAULT_MEMBER_INITIALIZER: @@ -5713,8 +5713,7 @@ void ASTWriter::WriteDeclUpdatesBlocks(RecordDataImpl ) { Record.push_back(RD->isParamDestroyedInCallee()); Record.push_back(llvm::to_underlying(RD->getArgPassingRestrictions())); Record.AddCXXDefinitionData(RD); -Record.AddOffset(WriteDeclContextLexicalBlock( -*Context, const_cast(RD))); +Record.AddOffset(WriteDeclContextLexicalBlock(*Context, RD)); // This state is sometimes updated by template instantiation, when we // switch from the specialization referring to the template declaration @@ -6357,7 +6356,7 @@ void ASTRecordWriter::AddTemplateParameterList( AddDeclRef(P); if (const Expr *RequiresClause = TemplateParams->getRequiresClause()) { Record->push_back(true); -AddStmt(const_cast(RequiresClause)); +writeStmtRef(RequiresClause); } else { Record->push_back(false); } @@ -7814,7 +7813,7 @@ void ASTRecordWriter::writeOpenACCClause(const OpenACCClause *C) { case OpenACCClauseKind::If: { const auto *IC = cast(C); writeSourceLocation(IC->getLParenLoc()); -AddStmt(const_cast(IC->getConditionExpr())); +writeStmtRef(IC->getConditionExpr()); return; } case OpenACCClauseKind::Self: { @@ -7822,7 +7821,7 @@ void ASTRecordWriter::writeOpenACCClause(const OpenACCClause *C) { writeSourceLocation(SC->getLParenLoc()); writeBool(SC->hasConditionExpr()); if (SC->hasConditionExpr()) - AddStmt(const_cast(SC->getConditionExpr())); + writeStmtRef(SC->getConditionExpr()); return; } case OpenACCClauseKind::NumGangs: { @@ -7836,13 +7835,13 @@ void ASTRecordWriter::writeOpenACCClause(const OpenACCClause *C) { case OpenACCClauseKind::NumWorkers: { const auto *NWC = cast(C); writeSourceLocation(NWC->getLParenLoc()); -AddStmt(const_cast(NWC->getIntExpr())); +writeStmtRef(NWC->getIntExpr()); return; } case OpenACCClauseKind::VectorLength: { const auto *NWC = cast(C); writeSourceLocation(NWC->getLParenLoc()); -AddStmt(const_cast(NWC->getIntExpr())); +writeStmtRef(NWC->getIntExpr()); return; } case OpenACCClauseKind::Private: { @@ -7921,7 +7920,7 @@ void ASTRecordWriter::writeOpenACCClause(const OpenACCClause *C) { writeSourceLocation(AC->getLParenLoc()); writeBool(AC->hasIntExpr()); if (AC->hasIntExpr()) - AddStmt(const_cast(AC->getIntExpr())); + writeStmtRef(AC->getIntExpr()); return; } case OpenACCClauseKind::Wait: { @@ -7929,7 +7928,7 @@ void ASTRecordWriter::writeOpenACCClause(const OpenACCClause *C) { writeSourceLocation(WC->getLParenLoc()); writeBool(WC->getDevNumExpr()); if (const Expr *DNE = WC->getDevNumExpr()) - AddStmt(const_cast(DNE)); + writeStmtRef(DNE); writeSourceLocation(WC->getQueuesLoc()); writeOpenACCIntExprList(WC->getQueueIdExprs()); diff --git a/clang/lib/Serialization/ASTWriterStmt.cpp b/clang/lib/Serialization/ASTWriterStmt.cpp index 39aec31b6d879..6f7c368ce9ca4 100644 --- a/clang/lib/Serialization/ASTWriterStmt.cpp +++ b/clang/lib/Serialization/ASTWriterStmt.cpp @@ -473,7 +473,7 @@ addConstraintSatisfaction(ASTRecordWriter , if (!Satisfaction.IsSatisfied) { Record.push_back(Satisfaction.NumRecords); for (const auto : Satisfaction) { - Record.AddStmt(const_cast(DetailRecord.first)); + Record.writeStmtRef(DetailRecord.first); auto *E = DetailRecord.second.dyn_cast(); Record.push_back(E == nullptr); if (E) ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [AMDGPU][WIP] Extend readlane, writelane and readfirstlane intrinsic lowering for generic types (PR #89217)
@@ -243,11 +243,16 @@ def VOP_READFIRSTLANE : VOPProfile <[i32, i32, untyped, untyped]> { // FIXME: Specify SchedRW for READFIRSTLANE_B32 // TODO: There is VOP3 encoding also def V_READFIRSTLANE_B32 : VOP1_Pseudo <"v_readfirstlane_b32", VOP_READFIRSTLANE, - getVOP1Pat.ret, 1> { + [], 1> { let isConvergent = 1; } +foreach vt = Reg32Types.types in { + def : GCNPat<(vt (AMDGPUreadfirstlane (vt VRegOrLdsSrc_32:$src0))), +(V_READFIRSTLANE_B32 (vt VRegOrLdsSrc_32:$src0)) vikramRH wrote: Done https://github.com/llvm/llvm-project/pull/89217 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[jenkinsci/next-executions-plugin] 498b05: Bump org.jenkins-ci.plugins:plugin from 4.81 to 4.82
Branch: refs/heads/main Home: https://github.com/jenkinsci/next-executions-plugin Commit: 498b05b0d8ac7ccd781eb8c7b1161b480b3ec38e https://github.com/jenkinsci/next-executions-plugin/commit/498b05b0d8ac7ccd781eb8c7b1161b480b3ec38e Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: 2024-05-18 (Sat, 18 May 2024) Changed paths: M pom.xml Log Message: --- Bump org.jenkins-ci.plugins:plugin from 4.81 to 4.82 Bumps [org.jenkins-ci.plugins:plugin](https://github.com/jenkinsci/plugin-pom) from 4.81 to 4.82. - [Release notes](https://github.com/jenkinsci/plugin-pom/releases) - [Changelog](https://github.com/jenkinsci/plugin-pom/blob/master/CHANGELOG.md) - [Commits](https://github.com/jenkinsci/plugin-pom/compare/plugin-4.81...plugin-4.82) --- updated-dependencies: - dependency-name: org.jenkins-ci.plugins:plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Commit: 9af1855d71eb7125dba0efe2bbc83286beae586a https://github.com/jenkinsci/next-executions-plugin/commit/9af1855d71eb7125dba0efe2bbc83286beae586a Author: Valentin Delaye Date: 2024-05-18 (Sat, 18 May 2024) Changed paths: M pom.xml Log Message: --- Merge pull request #120 from jenkinsci/dependabot/maven/org.jenkins-ci.plugins-plugin-4.82 Bump org.jenkins-ci.plugins:plugin from 4.81 to 4.82 Compare: https://github.com/jenkinsci/next-executions-plugin/compare/235e828910fe...9af1855d71eb To unsubscribe from these emails, change your notification settings at https://github.com/jenkinsci/next-executions-plugin/settings/notifications -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/next-executions-plugin/push/refs/heads/main/235e82-9af185%40github.com.
[jenkinsci/next-executions-plugin] 0697d7: Bump io.jenkins.tools.bom:bom-2.440.x
Branch: refs/heads/main Home: https://github.com/jenkinsci/next-executions-plugin Commit: 0697d7227d3db313840efe5dbaa7f6b8ea1e999e https://github.com/jenkinsci/next-executions-plugin/commit/0697d7227d3db313840efe5dbaa7f6b8ea1e999e Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: 2024-05-18 (Sat, 18 May 2024) Changed paths: M pom.xml Log Message: --- Bump io.jenkins.tools.bom:bom-2.440.x Bumps [io.jenkins.tools.bom:bom-2.440.x](https://github.com/jenkinsci/bom) from 3010.vec758b_8e7da_3 to 3056.v53343b_a_b_a_850. - [Release notes](https://github.com/jenkinsci/bom/releases) - [Commits](https://github.com/jenkinsci/bom/commits) --- updated-dependencies: - dependency-name: io.jenkins.tools.bom:bom-2.440.x dependency-type: direct:production ... Signed-off-by: dependabot[bot] Commit: 235e828910fe184cd530d108a6522001db8a6500 https://github.com/jenkinsci/next-executions-plugin/commit/235e828910fe184cd530d108a6522001db8a6500 Author: Valentin Delaye Date: 2024-05-18 (Sat, 18 May 2024) Changed paths: M pom.xml Log Message: --- Merge pull request #119 from jenkinsci/dependabot/maven/io.jenkins.tools.bom-bom-2.440.x-3056.v53343b_a_b_a_850 Bump io.jenkins.tools.bom:bom-2.440.x from 3010.vec758b_8e7da_3 to 3056.v53343b_a_b_a_850 Compare: https://github.com/jenkinsci/next-executions-plugin/compare/055593f84a13...235e828910fe To unsubscribe from these emails, change your notification settings at https://github.com/jenkinsci/next-executions-plugin/settings/notifications -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/next-executions-plugin/push/refs/heads/main/055593-235e82%40github.com.
[clang] [Clang] Fix __is_array returning true for zero-sized arrays (PR #86652)
https://github.com/philnik777 updated https://github.com/llvm/llvm-project/pull/86652 >From 90f88bdac3dc40635c58f3f67e29354e6a32896e Mon Sep 17 00:00:00 2001 From: Nikolas Klauser Date: Tue, 26 Mar 2024 12:23:24 +0100 Subject: [PATCH] [Clang] Fix __is_array returning true for zero-sized arrays --- clang/docs/ReleaseNotes.rst| 2 ++ clang/lib/Sema/SemaExprCXX.cpp | 4 clang/test/SemaCXX/type-traits.cpp | 4 +++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst index 7fbe2fec6ca06..e668202853710 100644 --- a/clang/docs/ReleaseNotes.rst +++ b/clang/docs/ReleaseNotes.rst @@ -345,6 +345,8 @@ Bug Fixes in This Version - Fixes an assertion failure on invalid code when trying to define member functions in lambdas. +- ``__is_array`` no longer returns ``true`` for zero-sized arrays. Fixes (#GH54705). + Bug Fixes to Compiler Builtins ^^ diff --git a/clang/lib/Sema/SemaExprCXX.cpp b/clang/lib/Sema/SemaExprCXX.cpp index c34a40fa7c81a..93d2b4b259fbc 100644 --- a/clang/lib/Sema/SemaExprCXX.cpp +++ b/clang/lib/Sema/SemaExprCXX.cpp @@ -5143,6 +5143,10 @@ static bool EvaluateUnaryTypeTrait(Sema , TypeTrait UTT, case UTT_IsFloatingPoint: return T->isFloatingType(); case UTT_IsArray: +// zero-sized arrays aren't considered arrays in partial specializations, +// so __is_array shouldn't consider them arrays either. +if (const auto* CAT = C.getAsConstantArrayType(T)) + return CAT->getSize() != 0; return T->isArrayType(); case UTT_IsBoundedArray: if (!T->isVariableArrayType()) { diff --git a/clang/test/SemaCXX/type-traits.cpp b/clang/test/SemaCXX/type-traits.cpp index 14ec17989ec7c..49df4b668513c 100644 --- a/clang/test/SemaCXX/type-traits.cpp +++ b/clang/test/SemaCXX/type-traits.cpp @@ -25,6 +25,7 @@ typedef Empty EmptyArMB[1][2]; typedef int Int; typedef Int IntAr[10]; typedef Int IntArNB[]; +typedef Int IntArZero[0]; class Statics { static int priv; static NonPOD np; }; union EmptyUnion {}; union IncompleteUnion; // expected-note {{forward declaration of 'IncompleteUnion'}} @@ -685,6 +686,7 @@ void is_array() { static_assert(__is_array(IntAr)); static_assert(__is_array(IntArNB)); + static_assert(!__is_array(IntArZero)); static_assert(__is_array(UnionAr)); static_assert(!__is_array(void)); @@ -1804,7 +1806,7 @@ void is_layout_compatible(int n) static_assert(!__is_layout_compatible(EnumForward, int)); static_assert(!__is_layout_compatible(EnumClassForward, int)); // FIXME: the following should be rejected (array of unknown bound and void are the only allowed incomplete types) - static_assert(__is_layout_compatible(CStructIncomplete, CStructIncomplete)); + static_assert(__is_layout_compatible(CStructIncomplete, CStructIncomplete)); static_assert(!__is_layout_compatible(CStruct, CStructIncomplete)); static_assert(__is_layout_compatible(CStructIncomplete[2], CStructIncomplete[2])); } _______ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [Clang] Fix __is_array returning true for zero-sized arrays (PR #86652)
https://github.com/philnik777 updated https://github.com/llvm/llvm-project/pull/86652 >From 90f88bdac3dc40635c58f3f67e29354e6a32896e Mon Sep 17 00:00:00 2001 From: Nikolas Klauser Date: Tue, 26 Mar 2024 12:23:24 +0100 Subject: [PATCH] [Clang] Fix __is_array returning true for zero-sized arrays --- clang/docs/ReleaseNotes.rst| 2 ++ clang/lib/Sema/SemaExprCXX.cpp | 4 clang/test/SemaCXX/type-traits.cpp | 4 +++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst index 7fbe2fec6ca06..e668202853710 100644 --- a/clang/docs/ReleaseNotes.rst +++ b/clang/docs/ReleaseNotes.rst @@ -345,6 +345,8 @@ Bug Fixes in This Version - Fixes an assertion failure on invalid code when trying to define member functions in lambdas. +- ``__is_array`` no longer returns ``true`` for zero-sized arrays. Fixes (#GH54705). + Bug Fixes to Compiler Builtins ^^ diff --git a/clang/lib/Sema/SemaExprCXX.cpp b/clang/lib/Sema/SemaExprCXX.cpp index c34a40fa7c81a..93d2b4b259fbc 100644 --- a/clang/lib/Sema/SemaExprCXX.cpp +++ b/clang/lib/Sema/SemaExprCXX.cpp @@ -5143,6 +5143,10 @@ static bool EvaluateUnaryTypeTrait(Sema , TypeTrait UTT, case UTT_IsFloatingPoint: return T->isFloatingType(); case UTT_IsArray: +// zero-sized arrays aren't considered arrays in partial specializations, +// so __is_array shouldn't consider them arrays either. +if (const auto* CAT = C.getAsConstantArrayType(T)) + return CAT->getSize() != 0; return T->isArrayType(); case UTT_IsBoundedArray: if (!T->isVariableArrayType()) { diff --git a/clang/test/SemaCXX/type-traits.cpp b/clang/test/SemaCXX/type-traits.cpp index 14ec17989ec7c..49df4b668513c 100644 --- a/clang/test/SemaCXX/type-traits.cpp +++ b/clang/test/SemaCXX/type-traits.cpp @@ -25,6 +25,7 @@ typedef Empty EmptyArMB[1][2]; typedef int Int; typedef Int IntAr[10]; typedef Int IntArNB[]; +typedef Int IntArZero[0]; class Statics { static int priv; static NonPOD np; }; union EmptyUnion {}; union IncompleteUnion; // expected-note {{forward declaration of 'IncompleteUnion'}} @@ -685,6 +686,7 @@ void is_array() { static_assert(__is_array(IntAr)); static_assert(__is_array(IntArNB)); + static_assert(!__is_array(IntArZero)); static_assert(__is_array(UnionAr)); static_assert(!__is_array(void)); @@ -1804,7 +1806,7 @@ void is_layout_compatible(int n) static_assert(!__is_layout_compatible(EnumForward, int)); static_assert(!__is_layout_compatible(EnumClassForward, int)); // FIXME: the following should be rejected (array of unknown bound and void are the only allowed incomplete types) - static_assert(__is_layout_compatible(CStructIncomplete, CStructIncomplete)); + static_assert(__is_layout_compatible(CStructIncomplete, CStructIncomplete)); static_assert(!__is_layout_compatible(CStruct, CStructIncomplete)); static_assert(__is_layout_compatible(CStructIncomplete[2], CStructIncomplete[2])); } _______ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [Clang] Fix __is_array returning true for zero-sized arrays (PR #86652)
https://github.com/philnik777 updated https://github.com/llvm/llvm-project/pull/86652 >From 90f88bdac3dc40635c58f3f67e29354e6a32896e Mon Sep 17 00:00:00 2001 From: Nikolas Klauser Date: Tue, 26 Mar 2024 12:23:24 +0100 Subject: [PATCH] [Clang] Fix __is_array returning true for zero-sized arrays --- clang/docs/ReleaseNotes.rst| 2 ++ clang/lib/Sema/SemaExprCXX.cpp | 4 clang/test/SemaCXX/type-traits.cpp | 4 +++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst index 7fbe2fec6ca06..e668202853710 100644 --- a/clang/docs/ReleaseNotes.rst +++ b/clang/docs/ReleaseNotes.rst @@ -345,6 +345,8 @@ Bug Fixes in This Version - Fixes an assertion failure on invalid code when trying to define member functions in lambdas. +- ``__is_array`` no longer returns ``true`` for zero-sized arrays. Fixes (#GH54705). + Bug Fixes to Compiler Builtins ^^ diff --git a/clang/lib/Sema/SemaExprCXX.cpp b/clang/lib/Sema/SemaExprCXX.cpp index c34a40fa7c81a..93d2b4b259fbc 100644 --- a/clang/lib/Sema/SemaExprCXX.cpp +++ b/clang/lib/Sema/SemaExprCXX.cpp @@ -5143,6 +5143,10 @@ static bool EvaluateUnaryTypeTrait(Sema , TypeTrait UTT, case UTT_IsFloatingPoint: return T->isFloatingType(); case UTT_IsArray: +// zero-sized arrays aren't considered arrays in partial specializations, +// so __is_array shouldn't consider them arrays either. +if (const auto* CAT = C.getAsConstantArrayType(T)) + return CAT->getSize() != 0; return T->isArrayType(); case UTT_IsBoundedArray: if (!T->isVariableArrayType()) { diff --git a/clang/test/SemaCXX/type-traits.cpp b/clang/test/SemaCXX/type-traits.cpp index 14ec17989ec7c..49df4b668513c 100644 --- a/clang/test/SemaCXX/type-traits.cpp +++ b/clang/test/SemaCXX/type-traits.cpp @@ -25,6 +25,7 @@ typedef Empty EmptyArMB[1][2]; typedef int Int; typedef Int IntAr[10]; typedef Int IntArNB[]; +typedef Int IntArZero[0]; class Statics { static int priv; static NonPOD np; }; union EmptyUnion {}; union IncompleteUnion; // expected-note {{forward declaration of 'IncompleteUnion'}} @@ -685,6 +686,7 @@ void is_array() { static_assert(__is_array(IntAr)); static_assert(__is_array(IntArNB)); + static_assert(!__is_array(IntArZero)); static_assert(__is_array(UnionAr)); static_assert(!__is_array(void)); @@ -1804,7 +1806,7 @@ void is_layout_compatible(int n) static_assert(!__is_layout_compatible(EnumForward, int)); static_assert(!__is_layout_compatible(EnumClassForward, int)); // FIXME: the following should be rejected (array of unknown bound and void are the only allowed incomplete types) - static_assert(__is_layout_compatible(CStructIncomplete, CStructIncomplete)); + static_assert(__is_layout_compatible(CStructIncomplete, CStructIncomplete)); static_assert(!__is_layout_compatible(CStruct, CStructIncomplete)); static_assert(__is_layout_compatible(CStructIncomplete[2], CStructIncomplete[2])); } _______ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [clang][ThreadSafety] Skip past implicit cast in `translateAttrExpr` (PR #92277)
https://github.com/antoniofrighetto closed https://github.com/llvm/llvm-project/pull/92277 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] 2c2e050 - [clang][ThreadSafety] Skip past implicit cast in `translateAttrExpr`
Author: Antonio Frighetto Date: 2024-05-18T09:49:10+02:00 New Revision: 2c2e0507e92bdb77a01828f899ff59e44492b537 URL: https://github.com/llvm/llvm-project/commit/2c2e0507e92bdb77a01828f899ff59e44492b537 DIFF: https://github.com/llvm/llvm-project/commit/2c2e0507e92bdb77a01828f899ff59e44492b537.diff LOG: [clang][ThreadSafety] Skip past implicit cast in `translateAttrExpr` Ignore `ImplicitCastExpr` when building `AttrExp` for capability attribute diagnostics. Fixes: https://github.com/llvm/llvm-project/issues/92118. Added: Modified: clang/lib/Analysis/ThreadSafetyCommon.cpp clang/test/SemaCXX/warn-thread-safety-analysis.cpp Removed: diff --git a/clang/lib/Analysis/ThreadSafetyCommon.cpp b/clang/lib/Analysis/ThreadSafetyCommon.cpp index a3b378c42df33..3e8c959ccee4f 100644 --- a/clang/lib/Analysis/ThreadSafetyCommon.cpp +++ b/clang/lib/Analysis/ThreadSafetyCommon.cpp @@ -197,7 +197,7 @@ CapabilityExpr SExprBuilder::translateAttrExpr(const Expr *AttrExp, else if (const auto *UO = dyn_cast(AttrExp)) { if (UO->getOpcode() == UO_LNot) { Neg = true; - AttrExp = UO->getSubExpr(); + AttrExp = UO->getSubExpr()->IgnoreImplicit(); } } diff --git a/clang/test/SemaCXX/warn-thread-safety-analysis.cpp b/clang/test/SemaCXX/warn-thread-safety-analysis.cpp index dfb966d3b5902..749d9e135d941 100644 --- a/clang/test/SemaCXX/warn-thread-safety-analysis.cpp +++ b/clang/test/SemaCXX/warn-thread-safety-analysis.cpp @@ -5341,7 +5341,7 @@ void dispatch_log(const char *msg) __attribute__((requires_capability(!FlightCon void dispatch_log2(const char *msg) __attribute__((requires_capability(Logger))) {} void flight_control_entry(void) __attribute__((requires_capability(FlightControl))) { - dispatch_log("wrong"); /* expected-warning {{cannot call function 'dispatch_log' while mutex 'FlightControl' is held}} */ + dispatch_log("wrong"); /* expected-warning {{cannot call function 'dispatch_log' while role 'FlightControl' is held}} */ dispatch_log2("also wrong"); /* expected-warning {{calling function 'dispatch_log2' requires holding role 'Logger' exclusively}} */ } ___________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [clang][ThreadSafety] Skip past implicit cast in `translateAttrExpr` (PR #92277)
https://github.com/antoniofrighetto updated https://github.com/llvm/llvm-project/pull/92277 >From 2c2e0507e92bdb77a01828f899ff59e44492b537 Mon Sep 17 00:00:00 2001 From: Antonio Frighetto Date: Wed, 15 May 2024 17:03:02 +0200 Subject: [PATCH] [clang][ThreadSafety] Skip past implicit cast in `translateAttrExpr` Ignore `ImplicitCastExpr` when building `AttrExp` for capability attribute diagnostics. Fixes: https://github.com/llvm/llvm-project/issues/92118. --- clang/lib/Analysis/ThreadSafetyCommon.cpp | 2 +- clang/test/SemaCXX/warn-thread-safety-analysis.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/clang/lib/Analysis/ThreadSafetyCommon.cpp b/clang/lib/Analysis/ThreadSafetyCommon.cpp index a3b378c42df33..3e8c959ccee4f 100644 --- a/clang/lib/Analysis/ThreadSafetyCommon.cpp +++ b/clang/lib/Analysis/ThreadSafetyCommon.cpp @@ -197,7 +197,7 @@ CapabilityExpr SExprBuilder::translateAttrExpr(const Expr *AttrExp, else if (const auto *UO = dyn_cast(AttrExp)) { if (UO->getOpcode() == UO_LNot) { Neg = true; - AttrExp = UO->getSubExpr(); + AttrExp = UO->getSubExpr()->IgnoreImplicit(); } } diff --git a/clang/test/SemaCXX/warn-thread-safety-analysis.cpp b/clang/test/SemaCXX/warn-thread-safety-analysis.cpp index dfb966d3b5902..749d9e135d941 100644 --- a/clang/test/SemaCXX/warn-thread-safety-analysis.cpp +++ b/clang/test/SemaCXX/warn-thread-safety-analysis.cpp @@ -5341,7 +5341,7 @@ void dispatch_log(const char *msg) __attribute__((requires_capability(!FlightCon void dispatch_log2(const char *msg) __attribute__((requires_capability(Logger))) {} void flight_control_entry(void) __attribute__((requires_capability(FlightControl))) { - dispatch_log("wrong"); /* expected-warning {{cannot call function 'dispatch_log' while mutex 'FlightControl' is held}} */ + dispatch_log("wrong"); /* expected-warning {{cannot call function 'dispatch_log' while role 'FlightControl' is held}} */ dispatch_log2("also wrong"); /* expected-warning {{calling function 'dispatch_log2' requires holding role 'Logger' exclusively}} */ } ___________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C (PR #90786)
delcypher wrote: Ok. Now I see what's happening. These lines here are basically giving ownership of `LateParsedAttribute` to the `LateParsedAttrList` ``` // Handle attributes with arguments that require late parsing. LateParsedAttribute *LA = new LateParsedAttribute(this, *AttrName, AttrNameLoc); LateAttrs->push_back(LA); ``` However `LateParsedAttrList` is basically just a ``` class LateParsedAttrList: public SmallVector { ... } ``` so it won't free the pointers when the list is destroyed. If we look at the C++ code that handles this we can see a bunch of manual memory management. ``` /// Parse all attributes in LAs, and attach them to Decl D. void Parser::ParseLexedAttributeList(LateParsedAttrList , Decl *D, bool EnterScope, bool OnDefinition) { assert(LAs.parseSoon() && "Attribute list should be marked for immediate parsing."); for (unsigned i = 0, ni = LAs.size(); i < ni; ++i) { if (D) LAs[i]->addDecl(D); ParseLexedAttribute(*LAs[i], EnterScope, OnDefinition); delete LAs[i]; } LAs.clear(); } ``` This is a silly footgun. `LateParsedAttrList` should properly take ownership of its pointers by deleting them when the list is destroyed. For now we should just replicate what is done for C++ but once we're confident we've fixed things we should make `LateParsedAttrList` properly own its pointers. https://github.com/llvm/llvm-project/pull/90786 _______ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [OpenCL] Fix an infinite loop in builidng AddrSpaceQualType (PR #92612)
@@ -0,0 +1,25 @@ +// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 4 +//RUN: %clang_cc1 %s -emit-llvm -O1 -o - | FileCheck %s arsenm wrote: codegen tests need an explicit target https://github.com/llvm/llvm-project/pull/92612 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Inliner] Propagate more attributes to params when inlining (PR #91101)
@@ -1352,20 +1352,43 @@ static void AddParamAndFnBasicAttributes(const CallBase , auto = CalledFunction->getContext(); // Collect valid attributes for all params. - SmallVector ValidParamAttrs; + SmallVector ValidObjParamAttrs, ValidExactParamAttrs; bool HasAttrToPropagate = false; for (unsigned I = 0, E = CB.arg_size(); I < E; ++I) { -ValidParamAttrs.emplace_back(AttrBuilder{CB.getContext()}); +ValidObjParamAttrs.emplace_back(AttrBuilder{CB.getContext()}); +ValidExactParamAttrs.emplace_back(AttrBuilder{CB.getContext()}); // Access attributes can be propagated to any param with the same underlying // object as the argument. if (CB.paramHasAttr(I, Attribute::ReadNone)) - ValidParamAttrs.back().addAttribute(Attribute::ReadNone); + ValidObjParamAttrs.back().addAttribute(Attribute::ReadNone); if (CB.paramHasAttr(I, Attribute::ReadOnly)) - ValidParamAttrs.back().addAttribute(Attribute::ReadOnly); + ValidObjParamAttrs.back().addAttribute(Attribute::ReadOnly); if (CB.paramHasAttr(I, Attribute::WriteOnly)) - ValidParamAttrs.back().addAttribute(Attribute::WriteOnly); -HasAttrToPropagate |= ValidParamAttrs.back().hasAttributes(); + ValidObjParamAttrs.back().addAttribute(Attribute::WriteOnly); + +// Attributes we can only propagate if the exact parameter is forwarded. + +// We can propagate both poison generating an UB generating attributes goldsteinn wrote: Thanks, fixed. https://github.com/llvm/llvm-project/pull/91101 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Inliner] Propagate more attributes to params when inlining (PR #91101)
ArgNo].getRange()) { + auto CombinedRange = ExistingRange->exactIntersectWith(*NewRange); + if (!CombinedRange.has_value()) +CombinedRange = +ConstantRange::getEmpty(NewRange->getBitWidth()); + AL = AL.removeParamAttribute(Context, I, Attribute::Range); + AL = AL.addRangeParamAttr(Context, I, *CombinedRange); +} + } } else { // Check if the underlying value for the parameter is an argument. const Value *UnderlyingV = diff --git a/llvm/test/Transforms/Inline/access-attributes-prop.ll b/llvm/test/Transforms/Inline/access-attributes-prop.ll index f3c656be00f59..e25023da6ed5f 100644 --- a/llvm/test/Transforms/Inline/access-attributes-prop.ll +++ b/llvm/test/Transforms/Inline/access-attributes-prop.ll @@ -585,7 +585,7 @@ define dso_local void @foo4(i32 %v) { define void @prop_range_empty_intersect(i32 %v) { ; CHECK-LABEL: define {{[^@]+}}@prop_range_empty_intersect ; CHECK-SAME: (i32 [[V:%.*]]) { -; CHECK-NEXT:call void @bar4(i32 range(i32 0, 10) [[V]]) +; CHECK-NEXT:call void @bar4(i32 range(i32 0, 0) [[V]]) ; CHECK-NEXT:ret void ; call void @foo4_range_0_10(i32 range(i32 11, 50) %v) @@ -595,7 +595,7 @@ define void @prop_range_empty_intersect(i32 %v) { define void @prop_range_empty(i32 %v) { ; CHECK-LABEL: define {{[^@]+}}@prop_range_empty ; CHECK-SAME: (i32 [[V:%.*]]) { -; CHECK-NEXT:call void @bar4(i32 [[V]]) +; CHECK-NEXT:call void @bar4(i32 range(i32 1, 0) [[V]]) ; CHECK-NEXT:ret void ; call void @foo4(i32 range(i32 1, 0) %v) @@ -605,7 +605,7 @@ define void @prop_range_empty(i32 %v) { define void @prop_range_empty_with_intersect(i32 %v) { ; CHECK-LABEL: define {{[^@]+}}@prop_range_empty_with_intersect ; CHECK-SAME: (i32 [[V:%.*]]) { -; CHECK-NEXT:call void @bar4(i32 range(i32 0, 10) [[V]]) +; CHECK-NEXT:call void @bar4(i32 range(i32 1, 10) [[V]]) ; CHECK-NEXT:ret void ; call void @foo4_range_0_10(i32 range(i32 1, 0) %v) @@ -615,7 +615,7 @@ define void @prop_range_empty_with_intersect(i32 %v) { define void @prop_range_intersect1(i32 %v) { ; CHECK-LABEL: define {{[^@]+}}@prop_range_intersect1 ; CHECK-SAME: (i32 [[V:%.*]]) { -; CHECK-NEXT:call void @bar4(i32 range(i32 0, 10) [[V]]) +; CHECK-NEXT:call void @bar4(i32 range(i32 0, 9) [[V]]) ; CHECK-NEXT:ret void ; call void @foo4_range_0_10(i32 range(i32 0, 9) %v) @@ -625,7 +625,7 @@ define void @prop_range_intersect1(i32 %v) { define void @prop_range_intersect2(i32 %v) { ; CHECK-LABEL: define {{[^@]+}}@prop_range_intersect2 ; CHECK-SAME: (i32 [[V:%.*]]) { -; CHECK-NEXT:call void @bar4(i32 range(i32 0, 10) [[V]]) +; CHECK-NEXT:call void @bar4(i32 range(i32 1, 9) [[V]]) ; CHECK-NEXT:ret void ; call void @foo4_range_0_10(i32 range(i32 1, 9) %v) @@ -635,7 +635,7 @@ define void @prop_range_intersect2(i32 %v) { define void @prop_range_intersect3(i32 %v) { ; CHECK-LABEL: define {{[^@]+}}@prop_range_intersect3 ; CHECK-SAME: (i32 [[V:%.*]]) { -; CHECK-NEXT:call void @bar4(i32 [[V]]) +; CHECK-NEXT:call void @bar4(i32 range(i32 0, 11) [[V]]) ; CHECK-NEXT:ret void ; call void @foo4_2_range_0_10(i32 range(i32 0, 11) %v) @@ -645,7 +645,7 @@ define void @prop_range_intersect3(i32 %v) { define void @prop_range_direct(i32 %v) { ; CHECK-LABEL: define {{[^@]+}}@prop_range_direct ; CHECK-SAME: (i32 [[V:%.*]]) { -; CHECK-NEXT:call void @bar4(i32 [[V]]) +; CHECK-NEXT:call void @bar4(i32 range(i32 1, 11) [[V]]) ; CHECK-NEXT:ret void ; call void @foo4(i32 range(i32 1, 11) %v) ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Inliner] Propagate more attributes to params when inlining (PR #91101)
@@ -1352,20 +1352,43 @@ static void AddParamAndFnBasicAttributes(const CallBase , auto = CalledFunction->getContext(); // Collect valid attributes for all params. - SmallVector ValidParamAttrs; + SmallVector ValidObjParamAttrs, ValidExactParamAttrs; bool HasAttrToPropagate = false; for (unsigned I = 0, E = CB.arg_size(); I < E; ++I) { -ValidParamAttrs.emplace_back(AttrBuilder{CB.getContext()}); +ValidObjParamAttrs.emplace_back(AttrBuilder{CB.getContext()}); +ValidExactParamAttrs.emplace_back(AttrBuilder{CB.getContext()}); // Access attributes can be propagated to any param with the same underlying // object as the argument. if (CB.paramHasAttr(I, Attribute::ReadNone)) - ValidParamAttrs.back().addAttribute(Attribute::ReadNone); + ValidObjParamAttrs.back().addAttribute(Attribute::ReadNone); if (CB.paramHasAttr(I, Attribute::ReadOnly)) - ValidParamAttrs.back().addAttribute(Attribute::ReadOnly); + ValidObjParamAttrs.back().addAttribute(Attribute::ReadOnly); if (CB.paramHasAttr(I, Attribute::WriteOnly)) - ValidParamAttrs.back().addAttribute(Attribute::WriteOnly); -HasAttrToPropagate |= ValidParamAttrs.back().hasAttributes(); + ValidObjParamAttrs.back().addAttribute(Attribute::WriteOnly); + +// Attributes we can only propagate if the exact parameter is forwarded. + +// We can propagate both poison generating an UB generating attributes +// without any extra checks. The only attribute that is tricky to propagate +// is `noundef` (skipped for now) as that can create new UB where previous goldsteinn wrote: There definitely are cases we can propagate it, but since it need specialized logic I'm keeping separate from this patch. Next patch hopefully can get no capture, then maybe noundef. https://github.com/llvm/llvm-project/pull/91101 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[jenkinsci/next-executions-plugin] 498b05: Bump org.jenkins-ci.plugins:plugin from 4.81 to 4.82
Branch: refs/heads/dependabot/maven/org.jenkins-ci.plugins-plugin-4.82 Home: https://github.com/jenkinsci/next-executions-plugin Commit: 498b05b0d8ac7ccd781eb8c7b1161b480b3ec38e https://github.com/jenkinsci/next-executions-plugin/commit/498b05b0d8ac7ccd781eb8c7b1161b480b3ec38e Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: 2024-05-18 (Sat, 18 May 2024) Changed paths: M pom.xml Log Message: --- Bump org.jenkins-ci.plugins:plugin from 4.81 to 4.82 Bumps [org.jenkins-ci.plugins:plugin](https://github.com/jenkinsci/plugin-pom) from 4.81 to 4.82. - [Release notes](https://github.com/jenkinsci/plugin-pom/releases) - [Changelog](https://github.com/jenkinsci/plugin-pom/blob/master/CHANGELOG.md) - [Commits](https://github.com/jenkinsci/plugin-pom/compare/plugin-4.81...plugin-4.82) --- updated-dependencies: - dependency-name: org.jenkins-ci.plugins:plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] To unsubscribe from these emails, change your notification settings at https://github.com/jenkinsci/next-executions-plugin/settings/notifications -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/next-executions-plugin/push/refs/heads/dependabot/maven/org.jenkins-ci.plugins-plugin-4.82/00-498b05%40github.com.
[jenkinsci/next-executions-plugin] 0697d7: Bump io.jenkins.tools.bom:bom-2.440.x
Branch: refs/heads/dependabot/maven/io.jenkins.tools.bom-bom-2.440.x-3056.v53343b_a_b_a_850 Home: https://github.com/jenkinsci/next-executions-plugin Commit: 0697d7227d3db313840efe5dbaa7f6b8ea1e999e https://github.com/jenkinsci/next-executions-plugin/commit/0697d7227d3db313840efe5dbaa7f6b8ea1e999e Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: 2024-05-18 (Sat, 18 May 2024) Changed paths: M pom.xml Log Message: --- Bump io.jenkins.tools.bom:bom-2.440.x Bumps [io.jenkins.tools.bom:bom-2.440.x](https://github.com/jenkinsci/bom) from 3010.vec758b_8e7da_3 to 3056.v53343b_a_b_a_850. - [Release notes](https://github.com/jenkinsci/bom/releases) - [Commits](https://github.com/jenkinsci/bom/commits) --- updated-dependencies: - dependency-name: io.jenkins.tools.bom:bom-2.440.x dependency-type: direct:production ... Signed-off-by: dependabot[bot] To unsubscribe from these emails, change your notification settings at https://github.com/jenkinsci/next-executions-plugin/settings/notifications -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/next-executions-plugin/push/refs/heads/dependabot/maven/io.jenkins.tools.bom-bom-2.440.x-3056.v53343b_a_b_a_850/00-0697d7%40github.com.
[clang] [llvm] [DebugInfo][BPF] Add 'btf:type_tag' annotation in DWARF (PR #91423)
eddyz87 wrote: > Looks like some changes are duplicate from #91422, e.g., > llvm/lib/Bitcode/Reader/MetadataLoader.cpp. There are some other files are > duplicated as well. Could you do a cleanup here? This will make it easy to > compare to https://reviews.llvm.org/D143967. As far as I understand, this is how one makes "revision stacks" after migration from Phabriactor to Github: I have three branches, one for each patch I want to land, each branch is forked from a previous one. Until first branch is landed Github will show two pending commits (one from the previous branch, one from this branch). To check changes specific to this branch please refer to the top-most commit of the branch: https://github.com/llvm/llvm-project/pull/91423/commits/4f3fbf2e4d831ea92d3bd5170e5e3c14b36fff5c Please let me know if I understand the new process in a wrong way. https://github.com/llvm/llvm-project/pull/91423 _______ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [C++23] [CLANG] Adding C++23 constexpr math functions: fmin, fmax and frexp. (PR #88978)
[[FREXP2:%.*]] = alloca double, align 8 +// LNX-NEXT:[[FREXP3:%.*]] = alloca double, align 8 +// LNX-NEXT:[[FREXP4:%.*]] = alloca float, align 4 +// LNX-NEXT:[[FREXP5:%.*]] = alloca float, align 4 +// LNX-NEXT:[[FREXP6:%.*]] = alloca float, align 4 +// LNX-NEXT:[[FREXP7:%.*]] = alloca float, align 4 +// LNX-NEXT:[[FREXP8:%.*]] = alloca x86_fp80, align 16 +// LNX-NEXT:store i32 0, ptr [[I]], align 4 +// LNX-NEXT:store double 1.30e+00, ptr [[MIN1]], align 8 +// LNX-NEXT:store double -0.00e+00, ptr [[MIN2]], align 8 +// LNX-NEXT:store double -0.00e+00, ptr [[MIN3]], align 8 +// LNX-NEXT:store float 0x7FF8, ptr [[MIN4]], align 4 +// LNX-NEXT:store float -1.00e+00, ptr [[MIN5]], align 4 +// LNX-NEXT:store float 0xFFF0, ptr [[MIN6]], align 4 +// LNX-NEXT:store float 0.00e+00, ptr [[MIN7]], align 4 +// LNX-NEXT:store x86_fp80 0xK4005F6E978D4FDF3B646, ptr [[MIN8]], align 16 +// LNX-NEXT:store double 1.524000e+01, ptr [[MAX1]], align 8 +// LNX-NEXT:store double 0.00e+00, ptr [[MAX2]], align 8 +// LNX-NEXT:store double 0.00e+00, ptr [[MAX3]], align 8 +// LNX-NEXT:store float -1.00e+00, ptr [[MAX4]], align 4 +// LNX-NEXT:store float 0x7FF0, ptr [[MAX5]], align 4 +// LNX-NEXT:store float 0.00e+00, ptr [[MAX6]], align 4 +// LNX-NEXT:store float 0x7FF8, ptr [[MAX7]], align 4 +// LNX-NEXT:store x86_fp80 0xK4008C540C49BA5E353F8, ptr [[MAX8]], align 16 +// LNX-NEXT:store double 0x3FEEDCCD, ptr [[FREXP1]], align 8 +// LNX-NEXT:store double 0.00e+00, ptr [[FREXP2]], align 8 +// LNX-NEXT:store double -0.00e+00, ptr [[FREXP3]], align 8 +// LNX-NEXT:store float 0x7FF8, ptr [[FREXP4]], align 4 +// LNX-NEXT:store float 0xFFF8, ptr [[FREXP5]], align 4 +// LNX-NEXT:store float 0x7FF0, ptr [[FREXP6]], align 4 +// LNX-NEXT:store float 0x7FF0, ptr [[FREXP7]], align 4 +// LNX-NEXT:store x86_fp80 0xK3FFE81A9FBE76C8B4396, ptr [[FREXP8]], align 16 +// LNX-NEXT:ret i32 0 +// +int func() +{ + int i; + + // fmin + constexpr double min1 = __builtin_fmin(15.24, 1.3); + constexpr double min2 = __builtin_fmin(-0.0, +0.0); + constexpr double min3 = __builtin_fmin(+0.0, -0.0); + constexpr float min4 = __builtin_fminf(NAN, NAN); + constexpr float min5 = __builtin_fminf(NAN, -1); + constexpr float min6 = __builtin_fminf(-INFINITY, 0); + constexpr float min7 = __builtin_fminf(INFINITY, 0); + constexpr long double min8 = __builtin_fminl(123.456L, 789.012L); + + // fmax + constexpr double max1 = __builtin_fmax(15.24, 1.3); + constexpr double max2 = __builtin_fmax(-0.0, +0.0); + constexpr double max3 = __builtin_fmax(+0.0, -0.0); + constexpr float max4 = __builtin_fmaxf(NAN, -1); + constexpr float max5 = __builtin_fmaxf(+INFINITY, 0); + constexpr float max6 = __builtin_fmaxf(-INFINITY, 0); + constexpr float max7 = __builtin_fmaxf(NAN, NAN); + constexpr long double max8 = __builtin_fmaxl(123.456L, 789.012L); + + // frexp + constexpr double frexp1 = __builtin_frexp(123.45, ); + constexpr double frexp2 = __builtin_frexp(0.0, ); + constexpr double frexp3 = __builtin_frexp(-0.0, ); + constexpr float frexp4 = __builtin_frexpf(NAN, ); + constexpr float frexp5 = __builtin_frexpf(-NAN, ); + constexpr float frexp6 = __builtin_frexpf(INFINITY, ); + constexpr float frexp7 = __builtin_frexpf(INFINITY, ); hubert-reinterpretcast wrote: Fix "copy/paste error": ```suggestion constexpr float frexp6 = __builtin_frexpf(+INFINITY, ); constexpr float frexp7 = __builtin_frexpf(-INFINITY, ); ``` https://github.com/llvm/llvm-project/pull/88978 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [C++23] [CLANG] Adding C++23 constexpr math functions: fmin, fmax and frexp. (PR #88978)
@@ -0,0 +1,52 @@ +// RUN: %clang_cc1 -DWIN -verify -std=c++23 -fsyntax-only %s +// RUN: %clang_cc1 -verify -std=c++23 -fsyntax-only %s hubert-reinterpretcast wrote: Duplicate this run line for `-std=c++20`. Modify the test to use the `__builtin_*` functions only for the `-std=c++20` case. Use the non-`__builtin_*` functions for the `-std=c++23` case. https://github.com/llvm/llvm-project/pull/88978 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [C++23] [CLANG] Adding C++23 constexpr math functions: fmin, fmax and frexp. (PR #88978)
@@ -14683,6 +14710,23 @@ bool FloatExprEvaluator::VisitCallExpr(const CallExpr *E) { default: return false; + case Builtin::BI__builtin_frexp: hubert-reinterpretcast wrote: The non-`__builtin_`-prefixed cases need to be added in as per @philnik777's comment (https://github.com/llvm/llvm-project/pull/88978#discussion_r1582059951). Same for the other two function families. Some more thought is needed on how to handle the non-`__builtin_`-prefixed cases under non-C++23-or-higher language modes. The specific implications of those functions being non-`constexpr` under said modes (as required, for C++, by https://wg21.link/constexpr.functions) may determine the solution to apply in this PR. https://github.com/llvm/llvm-project/pull/88978 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [C++23] [CLANG] Adding C++23 constexpr math functions: fmin, fmax and frexp. (PR #88978)
[[FREXP2:%.*]] = alloca double, align 8 +// LNX-NEXT:[[FREXP3:%.*]] = alloca double, align 8 +// LNX-NEXT:[[FREXP4:%.*]] = alloca float, align 4 +// LNX-NEXT:[[FREXP5:%.*]] = alloca float, align 4 +// LNX-NEXT:[[FREXP6:%.*]] = alloca float, align 4 +// LNX-NEXT:[[FREXP7:%.*]] = alloca float, align 4 +// LNX-NEXT:[[FREXP8:%.*]] = alloca x86_fp80, align 16 +// LNX-NEXT:store i32 0, ptr [[I]], align 4 +// LNX-NEXT:store double 1.30e+00, ptr [[MIN1]], align 8 +// LNX-NEXT:store double -0.00e+00, ptr [[MIN2]], align 8 +// LNX-NEXT:store double -0.00e+00, ptr [[MIN3]], align 8 +// LNX-NEXT:store float 0x7FF8, ptr [[MIN4]], align 4 +// LNX-NEXT:store float -1.00e+00, ptr [[MIN5]], align 4 +// LNX-NEXT:store float 0xFFF0, ptr [[MIN6]], align 4 +// LNX-NEXT:store float 0.00e+00, ptr [[MIN7]], align 4 +// LNX-NEXT:store x86_fp80 0xK4005F6E978D4FDF3B646, ptr [[MIN8]], align 16 +// LNX-NEXT:store double 1.524000e+01, ptr [[MAX1]], align 8 +// LNX-NEXT:store double 0.00e+00, ptr [[MAX2]], align 8 +// LNX-NEXT:store double 0.00e+00, ptr [[MAX3]], align 8 +// LNX-NEXT:store float -1.00e+00, ptr [[MAX4]], align 4 +// LNX-NEXT:store float 0x7FF0, ptr [[MAX5]], align 4 +// LNX-NEXT:store float 0.00e+00, ptr [[MAX6]], align 4 +// LNX-NEXT:store float 0x7FF8, ptr [[MAX7]], align 4 +// LNX-NEXT:store x86_fp80 0xK4008C540C49BA5E353F8, ptr [[MAX8]], align 16 +// LNX-NEXT:store double 0x3FEEDCCD, ptr [[FREXP1]], align 8 +// LNX-NEXT:store double 0.00e+00, ptr [[FREXP2]], align 8 +// LNX-NEXT:store double -0.00e+00, ptr [[FREXP3]], align 8 +// LNX-NEXT:store float 0x7FF8, ptr [[FREXP4]], align 4 +// LNX-NEXT:store float 0xFFF8, ptr [[FREXP5]], align 4 +// LNX-NEXT:store float 0x7FF0, ptr [[FREXP6]], align 4 +// LNX-NEXT:store float 0x7FF0, ptr [[FREXP7]], align 4 +// LNX-NEXT:store x86_fp80 0xK3FFE81A9FBE76C8B4396, ptr [[FREXP8]], align 16 +// LNX-NEXT:ret i32 0 +// +int func() +{ + int i; + + // fmin + constexpr double min1 = __builtin_fmin(15.24, 1.3); + constexpr double min2 = __builtin_fmin(-0.0, +0.0); + constexpr double min3 = __builtin_fmin(+0.0, -0.0); + constexpr float min4 = __builtin_fminf(NAN, NAN); + constexpr float min5 = __builtin_fminf(NAN, -1); + constexpr float min6 = __builtin_fminf(-INFINITY, 0); + constexpr float min7 = __builtin_fminf(INFINITY, 0); + constexpr long double min8 = __builtin_fminl(123.456L, 789.012L); + + // fmax + constexpr double max1 = __builtin_fmax(15.24, 1.3); hubert-reinterpretcast wrote: Formatting nit: ```suggestion constexpr double max1 = __builtin_fmax(15.24, 1.3); ``` https://github.com/llvm/llvm-project/pull/88978 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [DebugInfo][BPF] Add 'btf:type_tag' annotation in DWARF (PR #91423)
yonghong-song wrote: Looks like some changes are duplicate from https://github.com/llvm/llvm-project/pull/91422, e.g., llvm/lib/Bitcode/Reader/MetadataLoader.cpp. There are some other files are duplicated as well. Could you do a cleanup here? This will make it easy to compare to https://reviews.llvm.org/D143967. https://github.com/llvm/llvm-project/pull/91423 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [webkit.RefCntblBaseVirtualDtor] Ignore a base class which has a specialized deref function for a given derived class. (PR #92501)
H 7/7] Fix formatting. --- .../WebKit/RefCntblBaseVirtualDtorChecker.cpp | 17 + 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp index 2a5707837726b..e565b2323063c 100644 --- a/clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp @@ -111,7 +111,8 @@ class DerefAnalysisVisitor } else if (auto *RD = dyn_cast(PointeeType)) { if (RD->getDecl() == ClassDecl) return true; - } else if (auto* ST = dyn_cast(PointeeType)) { + } else if (auto *ST = + dyn_cast(PointeeType)) { auto Type = ST->getReplacementType(); if (auto *RD = dyn_cast(Type)) { if (RD->getDecl() == ClassDecl) @@ -180,7 +181,7 @@ class RefCntblBaseVirtualDtorChecker if (shouldSkipDecl(RD)) return; -for (auto& Base : RD->bases()) { +for (auto : RD->bases()) { const auto AccSpec = Base.getAccessSpecifier(); if (AccSpec == AS_protected || AccSpec == AS_private || (AccSpec == AS_none && RD->isClass())) @@ -202,8 +203,7 @@ class RefCntblBaseVirtualDtorChecker bool AnyInconclusiveBase = false; const auto hasPublicRefInBase = - [](const CXXBaseSpecifier *Base, - CXXBasePath &) { + [](const CXXBaseSpecifier *Base, CXXBasePath &) { auto hasRefInBase = clang::hasPublicMethodInBase(Base, "ref"); if (!hasRefInBase) { AnyInconclusiveBase = true; @@ -235,8 +235,8 @@ class RefCntblBaseVirtualDtorChecker const auto *Dtor = C->getDestructor(); if (!Dtor || !Dtor->isVirtual()) { -auto* ProblematicBaseSpecifier = -auto* ProblematicBaseClass = C; +auto *ProblematicBaseSpecifier = + auto *ProblematicBaseClass = C; reportBug(RD, ProblematicBaseSpecifier, ProblematicBaseClass); } } @@ -284,8 +284,9 @@ class RefCntblBaseVirtualDtorChecker ClsName == "ThreadSafeRefCountedAndCanMakeThreadSafeWeakPtr"); } - static std::optional isClassWithSpecializedDelete( - const CXXRecordDecl *C, const CXXRecordDecl *DerivedClass) { + static std::optional + isClassWithSpecializedDelete(const CXXRecordDecl *C, + const CXXRecordDecl *DerivedClass) { if (auto *ClsTmplSpDecl = dyn_cast(C)) { for (auto *MethodDecl : C->methods()) { if (safeGetName(MethodDecl) == "deref") { ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [webkit.RefCntblBaseVirtualDtor] Ignore a base class which has a specialized deref function for a given derived class. (PR #92501)
reportBug(RD, ProblematicBaseSpecifier, ProblematicBaseClass); } } @@ -274,15 +284,16 @@ class RefCntblBaseVirtualDtorChecker ClsName == "ThreadSafeRefCountedAndCanMakeThreadSafeWeakPtr"); } - static bool isClassWithSpecializedDelete(const CXXRecordDecl *C, - const CXXRecordDecl *DerivedClass) { + static std::optional isClassWithSpecializedDelete( + const CXXRecordDecl *C, const CXXRecordDecl *DerivedClass) { if (auto *ClsTmplSpDecl = dyn_cast(C)) { for (auto *MethodDecl : C->methods()) { if (safeGetName(MethodDecl) == "deref") { DerefAnalysisVisitor DerefAnalysis(ClsTmplSpDecl->getTemplateArgs(), DerivedClass); - if (DerefAnalysis.HasSpecializedDelete(MethodDecl)) -return true; + auto Result = DerefAnalysis.HasSpecializedDelete(MethodDecl); + if (!Result || *Result) +return Result; } } return false; @@ -290,8 +301,9 @@ class RefCntblBaseVirtualDtorChecker for (auto *MethodDecl : C->methods()) { if (safeGetName(MethodDecl) == "deref") { DerefAnalysisVisitor DerefAnalysis(DerivedClass); -if (DerefAnalysis.HasSpecializedDelete(MethodDecl)) - return true; +auto Result = DerefAnalysis.HasSpecializedDelete(MethodDecl); +if (!Result || *Result) + return Result; } } return false; diff --git a/clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor-templates.cpp b/clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor-templates.cpp index c42d8520b5f05..f04c68cb641f1 100644 --- a/clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor-templates.cpp +++ b/clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor-templates.cpp @@ -132,16 +132,36 @@ class ThreadSafeRefCounted { mutable unsigned refCount { 0 }; }; -template -class ThreadSafeRefCountedAndCanMakeThreadSafeWeakPtr { +class ThreadSafeRefCountedControlBlock { public: - void ref() const { ++refCount; } - void deref() const { -if (!--refCount) - delete const_cast(static_cast(this)); + ThreadSafeRefCountedControlBlock(void* object) : object(object) { } + void strongRef() const { ++refCount; } + template + void strongDeref() const { +--refCount; +if (refCount) + return; + +auto deleteObject = [&] { + delete static_cast(object); + delete this; +}; + +deleteObject(); } private: mutable unsigned refCount { 0 }; + mutable void* object { nullptr }; +}; + +template +class ThreadSafeRefCountedAndCanMakeThreadSafeWeakPtr { +public: + ThreadSafeRefCountedAndCanMakeThreadSafeWeakPtr() { } + void ref() const { controlBlock.strongRef(); } + void deref() const { controlBlock.template strongDeref(); } +private: + ThreadSafeRefCountedControlBlock& controlBlock { *new ThreadSafeRefCountedControlBlock(static_cast(this)) }; }; } // namespace WTF @@ -150,8 +170,12 @@ class DerivedClass4 : public WTF::RefCounted { }; class DerivedClass4b : public WTF::ExoticRefCounted { }; -class DerivedClass4c : public WTF::BadBase { }; -// expected-warning@-1{{Class 'WTF::BadBase' is used as a base of class 'DerivedClass4c' but doesn't have virtual destructor}} +class OtherType; +class DerivedClass4c : public WTF::BadBase { }; +// expected-warning@-1{{Class 'WTF::BadBase' is used as a base of class 'DerivedClass4c' but doesn't have virtual destructor}} +class OtherType : public DerivedClass4c { }; +// expected-warning@-1{{Class 'DerivedClass4c' is used as a base of class 'OtherType' but doesn't have virtual destructor}} +void UseDerived4c(DerivedClass4c ) { obj.deref(); } class DerivedClass5 : public DerivedClass4 { }; // expected-warning@-1{{Class 'DerivedClass4' is used as a base of class 'DerivedClass5' but doesn't have virtual destructor}} @@ -163,6 +187,9 @@ class DerivedClass7 : public DerivedClass6 { }; class DerivedClass8 : public WTF::ThreadSafeRefCountedAndCanMakeThreadSafeWeakPtr { }; +class DerivedClass8b : public WTF::ThreadSafeRefCountedAndCanMakeThreadSafeWeakPtr { }; +void UseDerived8b(DerivedClass8b ) { obj.deref(); } + class DerivedClass9 : public DerivedClass8 { }; // expected-warning@-1{{Class 'DerivedClass8' is used as a base of class 'DerivedClass9' but doesn't have virtual destructor}} @@ -170,6 +197,7 @@ class DerivedClass10 : public WTF::FancyDeref { }; class DerivedClass10b : public WTF::BadFancyDeref { }; // expected-warning@-1{{Class 'WTF::BadFancyDeref' is used as a base of class 'DerivedClass10b' but doesn't have virtual destructor}} +void UseDerived10b(DerivedClass10b ) { obj.deref(); } class BaseClass1 { public: ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [C++23] [CLANG] Adding C++23 constexpr math functions: fmin, fmax and frexp. (PR #88978)
@@ -0,0 +1,57 @@ +// RUN: %clang_cc1 -DWIN -verify -std=c++23 -fsyntax-only %s +// RUN: %clang_cc1 -verify -std=c++23 -fsyntax-only %s + +// expected-no-diagnostics + + +#ifdef WIN +#define INFINITY ((float)(1e+300 * 1e+300)) +#define NAN (-(float)(INFINITY * 0.0F)) +#else +#define NAN (__builtin_nanf("")) +#define INFINITY (__builtin_inff()) +#endif + +extern "C" void abort() noexcept; +extern "C" int write(int, const void*, unsigned long); + +#define assert(condition) \ + do { \ +if (!(condition)) {\ + write(2, "Assertion failed: ", 18); \ + write(2, #condition, sizeof(#condition) - 1);\ + write(2, "\n", 1); \ + abort(); \ +} \ + } while (false) + +int main() { +int i; + +// fmin +static_assert(__builtin_fmin(15.24, 1.3) == 1.3, ""); +static_assert(__builtin_fmin(-0.0, +0.0) == -0.0, ""); +static_assert(__builtin_fmin(+0.0, -0.0) == -0.0, ""); +assert(__builtin_isnan(__builtin_fminf(NAN,NAN))); +assert(__builtin_isnan(__builtin_fminf(NAN, -1))); +assert(__builtin_isnan(__builtin_fminf(-INFINITY, 0))); +assert(__builtin_iszero(__builtin_fminf(+INFINITY, 0))); + +// frexp +static_assert(__builtin_frexp(123.45, ) == 0.9644531250002); hubert-reinterpretcast wrote: Here is an example of checking both the fraction and exponent values by "identity" instead of by comparisons. ```cpp template constexpr bool is_same_val = false; template constexpr bool is_same_val = true; template struct FrexpResult { T fraction; int exponent; }; template constexpr auto simulateFrexp(T value) { FrexpResult result; result.fraction = __builtin_frexp(value, ); return result; } static_assert(is_same_val); ``` https://godbolt.org/z/Whx6o5Y7E https://github.com/llvm/llvm-project/pull/88978 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [C++23] [CLANG] Adding C++23 constexpr math functions: fmin, fmax and frexp. (PR #88978)
hubert-reinterpretcast wrote: Re: https://github.com/llvm/llvm-project/pull/88978#discussion_r1578762448 > It means that INT_MAX and INT_MIN is fine (based on the wording). The committee reflector discussion reached a conclusion that this behaviour is okay. Implementations need not agree on the values. Indeed, an implementation is not required to consistently produce the same value. https://github.com/llvm/llvm-project/pull/88978 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [C++23] [CLANG] Adding C++23 constexpr math functions: fmin, fmax and frexp. (PR #88978)
@@ -14638,6 +14649,8 @@ bool FloatExprEvaluator::VisitCallExpr(const CallExpr *E) { return true; } + case Builtin::BIfmin: + case Builtin::BIfminf: hubert-reinterpretcast wrote: At the Clang C/C++ Language Workgroup call on 2024-05-15, it was agreed that `-fno-builtin[-*]` should remain capable of disabling built-in treatment even when that treatment would be required for conformance w.r.t. `constexpr` behaviour of functions shared with C. For me, the first expectation for this PR (on that subject) is an update to the documentation of `-fno-builtin[-*]`. @AaronBallman @ldionne, I am no sure how we want to handle this w.r.t. documenting the C++23 implementation status. Does it go in both the Clang documentation (for the functions shared with C) and the libc++ documentation (for the overloads added by C++)? https://github.com/llvm/llvm-project/pull/88978 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[Lldb-commits] [lldb] [lldb] Refactor string manipulation in Debugger.cpp (#91209) (PR #92565)
https://github.com/aabhinavg updated https://github.com/llvm/llvm-project/pull/92565 >From 13fefb6846b6641900843c37746b03140063a955 Mon Sep 17 00:00:00 2001 From: aabhinavg Date: Fri, 17 May 2024 21:17:51 +0530 Subject: [PATCH 1/2] removed unwanted file --- lldb/source/Core/Debugger.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lldb/source/Core/Debugger.cpp b/lldb/source/Core/Debugger.cpp index 9951fbcd3e7c3..70303173925e3 100644 --- a/lldb/source/Core/Debugger.cpp +++ b/lldb/source/Core/Debugger.cpp @@ -2067,7 +2067,7 @@ void Debugger::HandleProgressEvent(const lldb::EventSP _sp) { const uint32_t term_width = GetTerminalWidth(); const uint32_t ellipsis = 3; if (message.size() + ellipsis >= term_width) -message = message.substr(0, term_width - ellipsis); +message.resize(message.size() - ellipsis); const bool use_color = GetUseColor(); llvm::StringRef ansi_prefix = GetShowProgressAnsiPrefix(); >From 3ed69bf19942a6e9470fda66efd54b25cbac176e Mon Sep 17 00:00:00 2001 From: aabhinavg Date: Sat, 18 May 2024 08:39:21 +0530 Subject: [PATCH 2/2] updated the patch --- lldb/source/Core/Debugger.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lldb/source/Core/Debugger.cpp b/lldb/source/Core/Debugger.cpp index 70303173925e3..d08aa1dc476f6 100644 --- a/lldb/source/Core/Debugger.cpp +++ b/lldb/source/Core/Debugger.cpp @@ -2067,7 +2067,7 @@ void Debugger::HandleProgressEvent(const lldb::EventSP _sp) { const uint32_t term_width = GetTerminalWidth(); const uint32_t ellipsis = 3; if (message.size() + ellipsis >= term_width) -message.resize(message.size() - ellipsis); +message.resize(term_width - ellipsis); const bool use_color = GetUseColor(); llvm::StringRef ansi_prefix = GetShowProgressAnsiPrefix(); ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[llvm-branch-commits] [lld] [llvm] release/18.x: [LoongArch] Use R_LARCH_ALIGN with section symbol (#84741) (PR #88891)
SixWeining wrote: This will be reverted in main branch (https://github.com/llvm/llvm-project/pull/92584). So close it. https://github.com/llvm/llvm-project/pull/88891 ___ 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] [lld] [llvm] release/18.x: [LoongArch] Use R_LARCH_ALIGN with section symbol (#84741) (PR #88891)
https://github.com/SixWeining closed https://github.com/llvm/llvm-project/pull/88891 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[jenkins-infra/jenkins-infra] 6e829a: chore: Update Docker Image tag for jenkinsciinfra/...
Branch: refs/heads/updatecli_production_dcbbec40f9af8939db81814533c67efa7b9791d2a05c5f4ffc7523d342c32d7d Home: https://github.com/jenkins-infra/jenkins-infra Commit: 6e829afdb25995ee5338003c752e904d1664585c https://github.com/jenkins-infra/jenkins-infra/commit/6e829afdb25995ee5338003c752e904d1664585c Author: Jenkins Infra Bot (updatecli) <60776566+jenkins-infra-...@users.noreply.github.com> Date: 2024-05-18 (Sat, 18 May 2024) Changed paths: M hieradata/common.yaml Log Message: --- chore: Update Docker Image tag for jenkinsciinfra/openvpn:latest Made with ❤️️ by updatecli To unsubscribe from these emails, change your notification settings at https://github.com/jenkins-infra/jenkins-infra/settings/notifications -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-commits/jenkins-infra/jenkins-infra/push/refs/heads/updatecli_production_dcbbec40f9af8939db81814533c67efa7b9791d2a05c5f4ffc7523d342c32d7d/00-6e829a%40github.com.
[clang] [clang][Sema] Warn consecutive builtin comparisons in an expression (PR #92200)
@@ -36,7 +36,7 @@ namespace InExpr { // These are valid expressions. foo(0); +foo(0); // expected-warning {{comparisons like 'X<=Y<=Z' don't have their mathematical meaning}} foo(false); shafik wrote: It is a shame we don't catch this one but neither does gcc https://github.com/llvm/llvm-project/pull/92200 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[jenkinsci/scoring-load-balancer-plugin]
Branch: refs/heads/renovate/io.jenkins.tools.bom-bom-2.426.x-3056.x Home: https://github.com/jenkinsci/scoring-load-balancer-plugin To unsubscribe from these emails, change your notification settings at https://github.com/jenkinsci/scoring-load-balancer-plugin/settings/notifications -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/scoring-load-balancer-plugin/push/refs/heads/renovate/io.jenkins.tools.bom-bom-2.426.x-3056.x/65ac89-00%40github.com.
[jenkinsci/scoring-load-balancer-plugin] 3a9b29: Update dependency io.jenkins.tools.bom:bom-2.426.x...
Branch: refs/heads/main Home: https://github.com/jenkinsci/scoring-load-balancer-plugin Commit: 3a9b29119c83598c3e0257340448edd99a9f0adf https://github.com/jenkinsci/scoring-load-balancer-plugin/commit/3a9b29119c83598c3e0257340448edd99a9f0adf Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2024-05-18 (Sat, 18 May 2024) Changed paths: M pom.xml Log Message: --- Update dependency io.jenkins.tools.bom:bom-2.426.x to v3056 To unsubscribe from these emails, change your notification settings at https://github.com/jenkinsci/scoring-load-balancer-plugin/settings/notifications -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/scoring-load-balancer-plugin/push/refs/heads/main/e589a7-3a9b29%40github.com.
[clang] [BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C (PR #90786)
delcypher wrote: The leak via `clang::Parser::ParseLexedCAttribute` is ```c++ LA.Toks.push_back(AttrEnd); ``` and the leak via `clang::Parser::ParseGNUAttributes` is ``` LateParsedAttribute *LA = new LateParsedAttribute(this, *AttrName, AttrNameLoc); ``` which is really old code so I doubt this is directly responsible for the leak. I'm a little confused because LSan is telling us that these are indirect leaks which means "reachable from other leaked blocks" but LSan isn't showing any direct leaks (not reachable from anywhere). This might suggest the leak is some sort of cycle (multiple objects leaked that point to each other). https://github.com/llvm/llvm-project/pull/90786 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[jenkinsci/scoring-load-balancer-plugin]
Branch: refs/renovate/branches/renovate/io.jenkins.tools.bom-bom-2.426.x-3056.x Home: https://github.com/jenkinsci/scoring-load-balancer-plugin To unsubscribe from these emails, change your notification settings at https://github.com/jenkinsci/scoring-load-balancer-plugin/settings/notifications -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/scoring-load-balancer-plugin/push/refs/renovate/branches/renovate/io.jenkins.tools.bom-bom-2.426.x-3056.x/8bbc58-00%40github.com.
[jenkinsci/scoring-load-balancer-plugin] 8bbc58: Update dependency io.jenkins.tools.bom:bom-2.426.x...
Branch: refs/renovate/branches/renovate/io.jenkins.tools.bom-bom-2.426.x-3056.x Home: https://github.com/jenkinsci/scoring-load-balancer-plugin Commit: 8bbc58fa335703d4ba2dc13a49ea2b58ba208113 https://github.com/jenkinsci/scoring-load-balancer-plugin/commit/8bbc58fa335703d4ba2dc13a49ea2b58ba208113 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2024-05-18 (Sat, 18 May 2024) Changed paths: M pom.xml Log Message: --- Update dependency io.jenkins.tools.bom:bom-2.426.x to v3056 To unsubscribe from these emails, change your notification settings at https://github.com/jenkinsci/scoring-load-balancer-plugin/settings/notifications -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/scoring-load-balancer-plugin/push/refs/renovate/branches/renovate/io.jenkins.tools.bom-bom-2.426.x-3056.x/00-8bbc58%40github.com.
[jenkinsci/scoring-load-balancer-plugin] 65ac89: Update dependency io.jenkins.tools.bom:bom-2.426.x...
Branch: refs/heads/renovate/io.jenkins.tools.bom-bom-2.426.x-3056.x Home: https://github.com/jenkinsci/scoring-load-balancer-plugin Commit: 65ac89babeb47ec98302d9e46cabdf4e481ca53b https://github.com/jenkinsci/scoring-load-balancer-plugin/commit/65ac89babeb47ec98302d9e46cabdf4e481ca53b Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2024-05-18 (Sat, 18 May 2024) Changed paths: M pom.xml Log Message: --- Update dependency io.jenkins.tools.bom:bom-2.426.x to v3056 To unsubscribe from these emails, change your notification settings at https://github.com/jenkinsci/scoring-load-balancer-plugin/settings/notifications -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/scoring-load-balancer-plugin/push/refs/heads/renovate/io.jenkins.tools.bom-bom-2.426.x-3056.x/00-65ac89%40github.com.
[clang] [BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C (PR #90786)
mp;, clang::ParsingDeclSpec*, clang::AccessSpecifier) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/lib/Parse/Parser.cpp:1271:12 #16 0xf2f663e4 in clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/lib/Parse/Parser.cpp:1074:14 #17 0xf2f617e0 in clang::Parser::ParseTopLevelDecl(clang::OpaquePtr&, clang::Sema::ModuleImportState&) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/lib/Parse/Parser.cpp:763:12 #18 0xf2f55874 in clang::ParseAST(clang::Sema&, bool, bool) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/lib/Parse/ParseAST.cpp:163:20 #19 0xefc9a774 in clang::FrontendAction::Execute() /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/lib/Frontend/FrontendAction.cpp:1078:8 #20 0xefbc05fc in clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/lib/Frontend/CompilerInstance.cpp:1062:33 #21 0xefe8a540 in clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:280:25 #22 0xe8cc18e0 in cc1_main(llvm::ArrayRef, char const*, void*) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/tools/driver/cc1_main.cpp:232:15 #23 0xe8cbac68 in ExecuteCC1Tool(llvm::SmallVectorImpl&, llvm::ToolContext const&) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/tools/driver/driver.cpp:215:12 #24 0xe8cb94a0 in clang_main(int, char**, llvm::ToolContext const&) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/tools/driver/driver.cpp:256:12 #25 0xe8cd574c in main /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/tools/clang/tools/driver/clang-driver.cpp:17:10 #26 0xffff92d27580 (/lib/aarch64-linux-gnu/libc.so.6+0x27580) (BuildId: 605b0f51a62b4c7b7370930d1cd7d395aac51429) #27 0x92d27654 in __libc_start_main (/lib/aarch64-linux-gnu/libc.so.6+0x27654) (BuildId: 605b0f51a62b4c7b7370930d1cd7d395aac51429) #28 0xe8bd8e2c in _start (/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/clang-19+0xbcc8e2c) SUMMARY: AddressSanitizer: 6000 byte(s) leaked in 30 allocation(s). ``` https://github.com/llvm/llvm-project/pull/90786 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [Attributes] Support Attributes being declared as supporting an experimental late parsing mode "extension" (PR #88596)
mp;, clang::ParsingDeclSpec*, clang::AccessSpecifier) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/lib/Parse/Parser.cpp:1271:12 #16 0xf2f663e4 in clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/lib/Parse/Parser.cpp:1074:14 #17 0xf2f617e0 in clang::Parser::ParseTopLevelDecl(clang::OpaquePtr&, clang::Sema::ModuleImportState&) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/lib/Parse/Parser.cpp:763:12 #18 0xf2f55874 in clang::ParseAST(clang::Sema&, bool, bool) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/lib/Parse/ParseAST.cpp:163:20 #19 0xefc9a774 in clang::FrontendAction::Execute() /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/lib/Frontend/FrontendAction.cpp:1078:8 #20 0xefbc05fc in clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/lib/Frontend/CompilerInstance.cpp:1062:33 #21 0xefe8a540 in clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:280:25 #22 0xe8cc18e0 in cc1_main(llvm::ArrayRef, char const*, void*) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/tools/driver/cc1_main.cpp:232:15 #23 0xe8cbac68 in ExecuteCC1Tool(llvm::SmallVectorImpl&, llvm::ToolContext const&) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/tools/driver/driver.cpp:215:12 #24 0xe8cb94a0 in clang_main(int, char**, llvm::ToolContext const&) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/tools/driver/driver.cpp:256:12 #25 0xe8cd574c in main /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/tools/clang/tools/driver/clang-driver.cpp:17:10 #26 0xffff92d27580 (/lib/aarch64-linux-gnu/libc.so.6+0x27580) (BuildId: 605b0f51a62b4c7b7370930d1cd7d395aac51429) #27 0x92d27654 in __libc_start_main (/lib/aarch64-linux-gnu/libc.so.6+0x27654) (BuildId: 605b0f51a62b4c7b7370930d1cd7d395aac51429) #28 0xe8bd8e2c in _start (/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/clang-19+0xbcc8e2c) SUMMARY: AddressSanitizer: 6000 byte(s) leaked in 30 allocation(s). ``` https://github.com/llvm/llvm-project/pull/88596 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[Lldb-commits] [lldb] 1e9324a - [lldb] Namespace SBSourceLanguageName (NFC)
Author: Jonas Devlieghere Date: 2024-05-17T18:43:09-07:00 New Revision: 1e9324a8c734aaa933d2672522cc22d5022c6200 URL: https://github.com/llvm/llvm-project/commit/1e9324a8c734aaa933d2672522cc22d5022c6200 DIFF: https://github.com/llvm/llvm-project/commit/1e9324a8c734aaa933d2672522cc22d5022c6200.diff LOG: [lldb] Namespace SBSourceLanguageName (NFC) Added: Modified: lldb/include/lldb/API/SBExpressionOptions.h lldb/source/API/SBExpressionOptions.cpp Removed: diff --git a/lldb/include/lldb/API/SBExpressionOptions.h b/lldb/include/lldb/API/SBExpressionOptions.h index 19c416d0f3bcb..a9e929a4c0bd9 100644 --- a/lldb/include/lldb/API/SBExpressionOptions.h +++ b/lldb/include/lldb/API/SBExpressionOptions.h @@ -71,7 +71,7 @@ class LLDB_API SBExpressionOptions { /// Set the language using a pair of language code and version as /// defined by the DWARF 6 specification. /// WARNING: These codes may change until DWARF 6 is finalized. - void SetLanguage(SBSourceLanguageName name, uint32_t version); + void SetLanguage(lldb::SBSourceLanguageName name, uint32_t version); #ifndef SWIG void SetCancelCallback(lldb::ExpressionCancelCallback callback, void *baton); diff --git a/lldb/source/API/SBExpressionOptions.cpp b/lldb/source/API/SBExpressionOptions.cpp index ce686112ff719..15ed403eaaea1 100644 --- a/lldb/source/API/SBExpressionOptions.cpp +++ b/lldb/source/API/SBExpressionOptions.cpp @@ -156,7 +156,7 @@ void SBExpressionOptions::SetLanguage(lldb::LanguageType language) { m_opaque_up->SetLanguage(language); } -void SBExpressionOptions::SetLanguage(SBSourceLanguageName name, +void SBExpressionOptions::SetLanguage(lldb::SBSourceLanguageName name, uint32_t version) { LLDB_INSTRUMENT_VA(this, name, version); ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[jenkinsci/configuration-as-code-plugin] 92c600: Update plugin-bom.version to v3056
Branch: refs/heads/updatecli_master_826cf2c93e438e11e9a7fc0479c71d12103331eed6633a5604ad389619ebb800 Home: https://github.com/jenkinsci/configuration-as-code-plugin Commit: 92c6008cd46ea88d115771f9125d219af10f51de https://github.com/jenkinsci/configuration-as-code-plugin/commit/92c6008cd46ea88d115771f9125d219af10f51de Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2024-05-18 (Sat, 18 May 2024) Changed paths: M pom.xml Log Message: --- Update plugin-bom.version to v3056 To unsubscribe from these emails, change your notification settings at https://github.com/jenkinsci/configuration-as-code-plugin/settings/notifications -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/configuration-as-code-plugin/push/refs/heads/updatecli_master_826cf2c93e438e11e9a7fc0479c71d12103331eed6633a5604ad389619ebb800/df55ce-92c600%40github.com.
[jenkinsci/configuration-as-code-plugin]
Branch: refs/heads/renovate/major-plugin-bom.version Home: https://github.com/jenkinsci/configuration-as-code-plugin To unsubscribe from these emails, change your notification settings at https://github.com/jenkinsci/configuration-as-code-plugin/settings/notifications -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/configuration-as-code-plugin/push/refs/heads/renovate/major-plugin-bom.version/45cc24-00%40github.com.
[jenkinsci/configuration-as-code-plugin] 92c600: Update plugin-bom.version to v3056
Branch: refs/heads/master Home: https://github.com/jenkinsci/configuration-as-code-plugin Commit: 92c6008cd46ea88d115771f9125d219af10f51de https://github.com/jenkinsci/configuration-as-code-plugin/commit/92c6008cd46ea88d115771f9125d219af10f51de Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2024-05-18 (Sat, 18 May 2024) Changed paths: M pom.xml Log Message: --- Update plugin-bom.version to v3056 To unsubscribe from these emails, change your notification settings at https://github.com/jenkinsci/configuration-as-code-plugin/settings/notifications -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/configuration-as-code-plugin/push/refs/heads/master/df55ce-92c600%40github.com.
[clang] [OpenCL] Fix an infinite loop in builidng AddrSpaceQualType (PR #92612)
@@ -537,8 +537,9 @@ void AggExprEmitter::EmitArrayInit(Address DestPtr, llvm::ArrayType *AType, elementType.isTriviallyCopyableType(CGF.getContext())) { CodeGen::CodeGenModule = CGF.CGM; ConstantEmitter Emitter(CGF); +Qualifiers Quals; QualType GVArrayQTy = CGM.getContext().getAddrSpaceQualType( -CGM.getContext().removeAddrSpaceQualType(ArrayQTy), +CGM.getContext().getUnqualifiedArrayType(ArrayQTy, Quals), changpeng wrote: > Something like that, yes. Thanks. Updated. Should be closer! https://github.com/llvm/llvm-project/pull/92612 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [OpenCL] Fix an infinite loop in builidng AddrSpaceQualType (PR #92612)
3 @@ QualType ASTContext::removeAddrSpaceQualType(QualType T) const { if (!T.hasAddressSpace()) return T; + // For arrays, strip the qualifier off the element type, then reconstruct the + // array type + if (T.getTypePtr()->isArrayType()) { +Qualifiers Qualfs; +return getUnqualifiedArrayType(T, Qualfs); + } + // If we are composing extended qualifiers together, merge together // into one ExtQuals node. QualifierCollector Quals; @@ -6093,7 +6100,7 @@ CanQualType ASTContext::getCanonicalParamType(QualType T) const { } QualType ASTContext::getUnqualifiedArrayType(QualType type, - Qualifiers ) { + Qualifiers ) const { SplitQualType splitType = type.getSplitUnqualifiedType(); // FIXME: getSplitUnqualifiedType() actually walks all the way to diff --git a/clang/lib/CodeGen/CGExprAgg.cpp b/clang/lib/CodeGen/CGExprAgg.cpp index 53ce133e8cbc6..6172eb9cdc1bb 100644 --- a/clang/lib/CodeGen/CGExprAgg.cpp +++ b/clang/lib/CodeGen/CGExprAgg.cpp @@ -537,9 +537,8 @@ void AggExprEmitter::EmitArrayInit(Address DestPtr, llvm::ArrayType *AType, elementType.isTriviallyCopyableType(CGF.getContext())) { CodeGen::CodeGenModule = CGF.CGM; ConstantEmitter Emitter(CGF); -Qualifiers Quals; QualType GVArrayQTy = CGM.getContext().getAddrSpaceQualType( -CGM.getContext().getUnqualifiedArrayType(ArrayQTy, Quals), +CGM.getContext().removeAddrSpaceQualType(ArrayQTy), CGM.GetGlobalConstantAddressSpace()); LangAS AS = GVArrayQTy.getAddressSpace(); if (llvm::Constant *C = ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[jenkinsci/configuration-as-code-plugin]
Branch: refs/renovate/branches/renovate/major-plugin-bom.version Home: https://github.com/jenkinsci/configuration-as-code-plugin To unsubscribe from these emails, change your notification settings at https://github.com/jenkinsci/configuration-as-code-plugin/settings/notifications -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/configuration-as-code-plugin/push/refs/renovate/branches/renovate/major-plugin-bom.version/1e4426-00%40github.com.
[jenkinsci/configuration-as-code-plugin] 45cc24: Update plugin-bom.version to v3056
Branch: refs/heads/renovate/major-plugin-bom.version Home: https://github.com/jenkinsci/configuration-as-code-plugin Commit: 45cc244b15890e240ee1f987b2f8f55e1781b52c https://github.com/jenkinsci/configuration-as-code-plugin/commit/45cc244b15890e240ee1f987b2f8f55e1781b52c Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2024-05-18 (Sat, 18 May 2024) Changed paths: M pom.xml Log Message: --- Update plugin-bom.version to v3056 To unsubscribe from these emails, change your notification settings at https://github.com/jenkinsci/configuration-as-code-plugin/settings/notifications -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/configuration-as-code-plugin/push/refs/heads/renovate/major-plugin-bom.version/4c3628-45cc24%40github.com.
[jenkinsci/configuration-as-code-plugin] 1e4426: Update plugin-bom.version to v3056
Branch: refs/renovate/branches/renovate/major-plugin-bom.version Home: https://github.com/jenkinsci/configuration-as-code-plugin Commit: 1e4426954d46db8ca2713cc9cc5b4f7312a23f80 https://github.com/jenkinsci/configuration-as-code-plugin/commit/1e4426954d46db8ca2713cc9cc5b4f7312a23f80 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2024-05-18 (Sat, 18 May 2024) Changed paths: M pom.xml Log Message: --- Update plugin-bom.version to v3056 To unsubscribe from these emails, change your notification settings at https://github.com/jenkinsci/configuration-as-code-plugin/settings/notifications -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/configuration-as-code-plugin/push/refs/renovate/branches/renovate/major-plugin-bom.version/00-1e4426%40github.com.
[Lldb-commits] [lldb] [lldb] Add the word "backtrace" to bt help string (PR #92618)
jimingham wrote: I'm fine with adding the to be searched for term to the alias help. https://github.com/llvm/llvm-project/pull/92618 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] [lldb] Add the word "backtrace" to bt help string (PR #92618)
jimingham wrote: In simple aliases, apropos could get this right itself by resolving the command the alias points to and if THAT help string had the searched term, list the alias. But bt is an alias to a regex command. Again, you could look through all the branches of the regex command finding their commands and do the same. But you'd really want to report `bt` not `_regexp-bt`. That's getting a bit involved. https://github.com/llvm/llvm-project/pull/92618 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[clang] [BoundsSafety] Add `-fexperimental-bounds-safety` CC1 and language option and use it to tweak `counted_by`'s semantics (PR #92623)
https://github.com/delcypher edited https://github.com/llvm/llvm-project/pull/92623 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [BoundsSafety] Add `-fexperimental-bounds-safety` CC1 and language option and use it to tweak `counted_by`'s semantics (PR #92623)
; + // expected-error@+1{{'counted_by' cannot be applied to an array with element of unknown size because 'struct has_annotated_VLA' is a struct type with a flexible array member}} + struct has_annotated_VLA Arr[] __counted_by(count); +}; + +struct buffer_of_const_structs_with_annotated_vla { + int count; + // Make sure the `const` qualifier is printed when printing the element type. + // expected-error@+1{{'counted_by' cannot be applied to an array with element of unknown size because 'const struct has_annotated_VLA' is a struct type with a flexible array member}} + const struct has_annotated_VLA Arr[] __counted_by(count); +}; ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [BoundsSafety] Add `-fexperimental-bounds-safety` CC1 and language option and use it to tweak `counted_by`'s semantics (PR #92623)
int count; + // Make sure the `const` qualifier is printed when printing the element type. + // expected-error@+1{{'counted_by' cannot be applied to an array with element of unknown size because 'const struct has_annotated_VLA' is a struct type with a flexible array member}} + const struct has_annotated_VLA Arr[] __counted_by(count); +}; `` https://github.com/llvm/llvm-project/pull/92623 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [BoundsSafety] Add `-fexperimental-bounds-safety` CC1 and language option and use it to tweak `counted_by`'s semantics (PR #92623)
delcypher wrote: This is based on #70480 but removes the driver part of the change and makes the flag a CC1 flag only. https://github.com/llvm/llvm-project/pull/92623 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [BoundsSafety] Add `-fexperimental-bounds-safety` CC1 and language option and use it to tweak `counted_by`'s semantics (PR #92623)
ang/test/Sema/attr-counted-by-bounds-safety-vlas.c @@ -0,0 +1,37 @@ +// RUN: %clang_cc1 -fsyntax-only -fexperimental-bounds-safety -verify %s +// +// This is a portion of the `attr-counted-by-vla.c` test but is checked +// under the semantics of `-fexperimental-bounds-safety` which has different +// behavior. + +#define __counted_by(f) __attribute__((counted_by(f))) + +struct has_unannotated_VLA { + int count; + char buffer[]; +}; + +struct has_annotated_VLA { + int count; + char buffer[] __counted_by(count); +}; + +struct buffer_of_structs_with_unnannotated_vla { + int count; + // expected-error@+1{{'counted_by' cannot be applied to an array with element of unknown size because 'struct has_unannotated_VLA' is a struct type with a flexible array member}} + struct has_unannotated_VLA Arr[] __counted_by(count); +}; + + +struct buffer_of_structs_with_annotated_vla { + int count; + // expected-error@+1{{'counted_by' cannot be applied to an array with element of unknown size because 'struct has_annotated_VLA' is a struct type with a flexible array member}} + struct has_annotated_VLA Arr[] __counted_by(count); +}; + +struct buffer_of_const_structs_with_annotated_vla { + int count; + // Make sure the `const` qualifier is printed when printing the element type. + // expected-error@+1{{'counted_by' cannot be applied to an array with element of unknown size because 'const struct has_annotated_VLA' is a struct type with a flexible array member}} + const struct has_annotated_VLA Arr[] __counted_by(count); +}; ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [Clang][CWG1815] Support lifetime extension of temporary created by aggregate initialization using a default member initializer (PR #87933)
yronglin wrote: Thanks for the new test case, it's fixed with https://github.com/llvm/llvm-project/pull/92527 https://github.com/llvm/llvm-project/pull/87933 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C (PR #90786)
bwendling wrote: Thank you. I wrote to the author. I hope he'll be able to come up with a change on his end. Or at least an explanation that makes sense :-) https://github.com/llvm/llvm-project/pull/90786 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [OpenCL] Fix an infinite loop in builidng AddrSpaceQualType (PR #92612)
@@ -537,8 +537,9 @@ void AggExprEmitter::EmitArrayInit(Address DestPtr, llvm::ArrayType *AType, elementType.isTriviallyCopyableType(CGF.getContext())) { CodeGen::CodeGenModule = CGF.CGM; ConstantEmitter Emitter(CGF); +Qualifiers Quals; QualType GVArrayQTy = CGM.getContext().getAddrSpaceQualType( -CGM.getContext().removeAddrSpaceQualType(ArrayQTy), +CGM.getContext().getUnqualifiedArrayType(ArrayQTy, Quals), efriedma-quic wrote: Something like that, yes. https://github.com/llvm/llvm-project/pull/92612 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[Lldb-commits] [lldb] [WIP] [lldb][Progress] Report progress when completing types from DWARF (PR #91452)
JDevlieghere wrote: > @JDevlieghere I know we discussed this in the past and it made sense to me, > but I'm right now failing to connect the dots. Why couldn't the same > single-line interface be used to print nested events something like this? > > ``` > Evaluating expression > Type Checking > Importing "vector" > Finding > "begin" in Foo.o > ``` Shadowing happens with _unrelated_ events. The problem is that you don't want to show something like this: ``` Evaluating expression > Type Checking > Some unrelated background operation > Importing "vector" ``` Or let's say you're doing some work in parallel: ``` Doing some work on thread 1 > Doing some work on thread 2 > Some nested work on thread 2 > Some nested work on thread 1 ``` For a single event, you can update it, as we do for importing the Swift modules. For your example, today you can show something like this: ``` Evaluating expression: Type Checking Evaluating expression: Importing "vector" Evaluating expression: Finding "begin" in Foo.o ``` Compared to your approach, you lose out on the additional context that's not part of the title/category before the colon. On the other hand, that's how we aggregate events in the progress manager. If we want to support nested _related_ events, I think that wouldn't be too hard. An event could have a parent event ID and LLDB could append events that belong to the currently displayed event. But we'd still shadow _unrelated_ events. https://github.com/llvm/llvm-project/pull/91452 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] [lldb] Add the word "backtrace" to bt help string (PR #92618)
https://github.com/adrian-prantl approved this pull request. https://github.com/llvm/llvm-project/pull/92618 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] [lldb] Refactor string manipulation in Debugger.cpp (#91209) (PR #92565)
@@ -2067,7 +2067,7 @@ void Debugger::HandleProgressEvent(const lldb::EventSP _sp) { const uint32_t term_width = GetTerminalWidth(); const uint32_t ellipsis = 3; if (message.size() + ellipsis >= term_width) -message = message.substr(0, term_width - ellipsis); +message.resize(message.size() - ellipsis); adrian-prantl wrote: Can you explain why `term_width` does not appear in the new patch? https://github.com/llvm/llvm-project/pull/92565 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] [WIP] [lldb][Progress] Report progress when completing types from DWARF (PR #91452)
adrian-prantl wrote: > No, on the terminal it works that way by design. Unless you switch to > something that takes full control of your screen (like curses) there's no > good way to display multiple progress events at the same time and not doing > the shadowing (i.e. letting more recent progress events through) defeats the > purpose of highlighting long running operations. @JDevlieghere I know we discussed this in the past and it made sense to me, but I'm right now failing to connect the dots. Why couldn't the same single-line interface be used to print nested events something like this? ``` Evaluating expression > Type Checking > Importing "vector" > Finding "begin" in Foo.o ``` https://github.com/llvm/llvm-project/pull/91452 ___________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] [lldb] Add the word "backtrace" to bt help string (PR #92618)
kastiglione wrote: Open to alternative rewordings that include "backtrace". https://github.com/llvm/llvm-project/pull/92618 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] [lldb] Add the word "backtrace" to bt help string (PR #92618)
https://github.com/kastiglione edited https://github.com/llvm/llvm-project/pull/92618 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[clang] [llvm] [CMake][Release] Use the TXZ cpack generator for binaries (PR #90138)
https://github.com/tstellar edited https://github.com/llvm/llvm-project/pull/90138 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [clang-format]: Annotate colons found in inline assembly (PR #92617)
gedare wrote: With the patch: ``` $ echo " asm ( a : );" | clang-format -debug ... M=0 C=1 T=InlineASMColon S=1 F=0 B=0 BK=0 P=43 Name=colon L=7 PPK=2 FakeLParens= FakeRParens=1 II=0x0 Text=':' ... $ echo " asm { a : };" | clang-format -debug ... M=0 C=1 T=InlineASMColon S=0 F=1 B=0 BK=0 P=43 Name=colon L=7 PPK=2 FakeLParens= FakeRParens=1 II=0x0 Text=':' ``` https://github.com/llvm/llvm-project/pull/92617 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[Lldb-commits] [lldb] [lldb] Add the word "backtrace" to bt help string (PR #92618)
llvmbot wrote: @llvm/pr-subscribers-lldb Author: Dave Lee (kastiglione) Changes --- Full diff: https://github.com/llvm/llvm-project/pull/92618.diff 2 Files Affected: - (modified) lldb/source/Commands/CommandObjectThread.cpp (+2-2) - (modified) lldb/source/Interpreter/CommandInterpreter.cpp (+5-5) ``diff diff --git a/lldb/source/Commands/CommandObjectThread.cpp b/lldb/source/Commands/CommandObjectThread.cpp index 4397ee14ea074..db96ee2cec383 100644 --- a/lldb/source/Commands/CommandObjectThread.cpp +++ b/lldb/source/Commands/CommandObjectThread.cpp @@ -114,8 +114,8 @@ class CommandObjectThreadBacktrace : public CommandObjectIterateOverThreads { CommandObjectThreadBacktrace(CommandInterpreter ) : CommandObjectIterateOverThreads( interpreter, "thread backtrace", -"Show thread call stacks. Defaults to the current thread, thread " -"indexes can be specified as arguments.\n" +"Show backtraces of thread call stacks. Defaults to the current " +"thread, thread indexes can be specified as arguments.\n" "Use the thread-index \"all\" to see all threads.\n" "Use the thread-index \"unique\" to see threads grouped by unique " "call stacks.\n" diff --git a/lldb/source/Interpreter/CommandInterpreter.cpp b/lldb/source/Interpreter/CommandInterpreter.cpp index 4c58ecc3c1848..3e470a6989bbf 100644 --- a/lldb/source/Interpreter/CommandInterpreter.cpp +++ b/lldb/source/Interpreter/CommandInterpreter.cpp @@ -816,11 +816,11 @@ void CommandInterpreter::LoadCommandDictionary() { std::unique_ptr bt_regex_cmd_up( new CommandObjectRegexCommand( *this, "_regexp-bt", - "Show the current thread's call stack. Any numeric argument " - "displays at most that many " - "frames. The argument 'all' displays all threads. Use 'settings" - " set frame-format' to customize the printing of individual frames " - "and 'settings set thread-format' to customize the thread header.", + "Show backtrace of the current thread's call stack. Any numeric " + "argument displays at most that many frames. The argument 'all' " + "displays all threads. Use 'settings set frame-format' to customize " + "the printing of individual frames and 'settings set thread-format' " + "to customize the thread header.", "bt [ | all]", 0, false)); if (bt_regex_cmd_up) { // accept but don't document "bt -c " -- before bt was a regex `` https://github.com/llvm/llvm-project/pull/92618 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[clang] [OpenCL] Fix an infinite loop in builidng AddrSpaceQualType (PR #92612)
@@ -537,8 +537,9 @@ void AggExprEmitter::EmitArrayInit(Address DestPtr, llvm::ArrayType *AType, elementType.isTriviallyCopyableType(CGF.getContext())) { CodeGen::CodeGenModule = CGF.CGM; ConstantEmitter Emitter(CGF); +Qualifiers Quals; QualType GVArrayQTy = CGM.getContext().getAddrSpaceQualType( -CGM.getContext().removeAddrSpaceQualType(ArrayQTy), +CGM.getContext().getUnqualifiedArrayType(ArrayQTy, Quals), changpeng wrote: Do you mean we should actually fix removeAddrSpaceQualType? Somewhere inside removeAddrSpaceQualType, we should use getUnqualifiedArrayType if it is an arrayType, and getSingleStepDesugaredType othereise? I have to admit that I have no experience in this field, so I am relying on you and @svenvh to move on for a reasonable fix. Thanks. https://github.com/llvm/llvm-project/pull/92612 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[Lldb-commits] [lldb] [lldb] Add the word "backtrace" to bt help string (PR #92618)
https://github.com/kastiglione created https://github.com/llvm/llvm-project/pull/92618 None >From 1564ae4ce3a56fc1f11e03e82e0da1e01f25f3ed Mon Sep 17 00:00:00 2001 From: Dave Lee Date: Thu, 16 May 2024 14:01:22 -0700 Subject: [PATCH] [lldb] Add the word "backtrace" to bt help string --- lldb/source/Commands/CommandObjectThread.cpp | 4 ++-- lldb/source/Interpreter/CommandInterpreter.cpp | 10 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lldb/source/Commands/CommandObjectThread.cpp b/lldb/source/Commands/CommandObjectThread.cpp index 4397ee14ea074..db96ee2cec383 100644 --- a/lldb/source/Commands/CommandObjectThread.cpp +++ b/lldb/source/Commands/CommandObjectThread.cpp @@ -114,8 +114,8 @@ class CommandObjectThreadBacktrace : public CommandObjectIterateOverThreads { CommandObjectThreadBacktrace(CommandInterpreter ) : CommandObjectIterateOverThreads( interpreter, "thread backtrace", -"Show thread call stacks. Defaults to the current thread, thread " -"indexes can be specified as arguments.\n" +"Show backtraces of thread call stacks. Defaults to the current " +"thread, thread indexes can be specified as arguments.\n" "Use the thread-index \"all\" to see all threads.\n" "Use the thread-index \"unique\" to see threads grouped by unique " "call stacks.\n" diff --git a/lldb/source/Interpreter/CommandInterpreter.cpp b/lldb/source/Interpreter/CommandInterpreter.cpp index 4c58ecc3c1848..3e470a6989bbf 100644 --- a/lldb/source/Interpreter/CommandInterpreter.cpp +++ b/lldb/source/Interpreter/CommandInterpreter.cpp @@ -816,11 +816,11 @@ void CommandInterpreter::LoadCommandDictionary() { std::unique_ptr bt_regex_cmd_up( new CommandObjectRegexCommand( *this, "_regexp-bt", - "Show the current thread's call stack. Any numeric argument " - "displays at most that many " - "frames. The argument 'all' displays all threads. Use 'settings" - " set frame-format' to customize the printing of individual frames " - "and 'settings set thread-format' to customize the thread header.", + "Show backtrace of the current thread's call stack. Any numeric " + "argument displays at most that many frames. The argument 'all' " + "displays all threads. Use 'settings set frame-format' to customize " + "the printing of individual frames and 'settings set thread-format' " + "to customize the thread header.", "bt [ | all]", 0, false)); if (bt_regex_cmd_up) { // accept but don't document "bt -c " -- before bt was a regex ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[llvm-branch-commits] [clang] release/18.x: [clang] Don't assume location of compiler-rt for OpenBSD (#92183) (PR #92293)
https://github.com/tstellar closed https://github.com/llvm/llvm-project/pull/92293 ___ 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] [clang] 48c1364 - [clang] Don't assume location of compiler-rt for OpenBSD (#92183)
Author: John Ericson Date: 2024-05-17T16:26:37-07:00 New Revision: 48c1364200b5649dda2f9ccbe382b0bd908b99de URL: https://github.com/llvm/llvm-project/commit/48c1364200b5649dda2f9ccbe382b0bd908b99de DIFF: https://github.com/llvm/llvm-project/commit/48c1364200b5649dda2f9ccbe382b0bd908b99de.diff LOG: [clang] Don't assume location of compiler-rt for OpenBSD (#92183) If the `/usr/lib/...` path where compiler-rt is conventionally installed on OpenBSD does not exist, fall back to the regular logic to find it. This is a minimal change to allow OpenBSD cross compilation from a toolchain that doesn't adopt all of OpenBSD's monorepo's conventions. (cherry picked from commit be10746f3a4381456eb5082a968766201c17ab5d) Added: Modified: clang/lib/Driver/ToolChains/OpenBSD.cpp Removed: diff --git a/clang/lib/Driver/ToolChains/OpenBSD.cpp b/clang/lib/Driver/ToolChains/OpenBSD.cpp index fd6aa4d7e6844..00b6c520fcdd7 100644 --- a/clang/lib/Driver/ToolChains/OpenBSD.cpp +++ b/clang/lib/Driver/ToolChains/OpenBSD.cpp @@ -371,7 +371,8 @@ std::string OpenBSD::getCompilerRT(const ArgList , StringRef Component, if (Component == "builtins") { SmallString<128> Path(getDriver().SysRoot); llvm::sys::path::append(Path, "/usr/lib/libcompiler_rt.a"); -return std::string(Path); +if (getVFS().exists(Path)) + return std::string(Path); } SmallString<128> P(getDriver().ResourceDir); std::string CRTBasename = ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits