https://github.com/Sirraide updated https://github.com/llvm/llvm-project/pull/143516
>From 4680bcde0d6abda40dac303275e4ac42f1573109 Mon Sep 17 00:00:00 2001 From: Sirraide <aeternalm...@gmail.com> Date: Sun, 8 Jun 2025 17:21:13 +0200 Subject: [PATCH 1/2] Add a 'value_or' helper to 'UnsignedOrNone' --- clang/include/clang/Basic/UnsignedOrNone.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/clang/include/clang/Basic/UnsignedOrNone.h b/clang/include/clang/Basic/UnsignedOrNone.h index 659fd8c6487d2..5081e3c2a9e32 100644 --- a/clang/include/clang/Basic/UnsignedOrNone.h +++ b/clang/include/clang/Basic/UnsignedOrNone.h @@ -29,6 +29,14 @@ struct UnsignedOrNone { } constexpr unsigned toInternalRepresentation() const { return Rep; } + constexpr unsigned value_or(unsigned val) const { + return operator bool() ? **this : val; + } + + constexpr UnsignedOrNone value_or(UnsignedOrNone val) const { + return operator bool() ? *this : val; + } + explicit constexpr operator bool() const { return Rep != 0; } unsigned operator*() const { assert(operator bool()); >From 005ffaecce3e576dd05ca0c2cbb9e7e02fd31cdd Mon Sep 17 00:00:00 2001 From: Sirraide <aeternalm...@gmail.com> Date: Tue, 10 Jun 2025 14:49:34 +0200 Subject: [PATCH 2/2] Update clang/include/clang/Basic/UnsignedOrNone.h Co-authored-by: Aaron Ballman <aa...@aaronballman.com> --- clang/include/clang/Basic/UnsignedOrNone.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/clang/include/clang/Basic/UnsignedOrNone.h b/clang/include/clang/Basic/UnsignedOrNone.h index 5081e3c2a9e32..9d597e4ad443f 100644 --- a/clang/include/clang/Basic/UnsignedOrNone.h +++ b/clang/include/clang/Basic/UnsignedOrNone.h @@ -29,12 +29,12 @@ struct UnsignedOrNone { } constexpr unsigned toInternalRepresentation() const { return Rep; } - constexpr unsigned value_or(unsigned val) const { - return operator bool() ? **this : val; + constexpr unsigned value_or(unsigned Val) const { + return operator bool() ? **this : Val; } - constexpr UnsignedOrNone value_or(UnsignedOrNone val) const { - return operator bool() ? *this : val; + constexpr UnsignedOrNone value_or(UnsignedOrNone Val) const { + return operator bool() ? *this : Val; } explicit constexpr operator bool() const { return Rep != 0; } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits