[Analysis] Fix missing destructor in CFG for C++20 range-for init-statement (#175859)
In C++20 range-based for loops, variables declared in the init-statement
were not correctly added to the CFG builder's local scope. Consequently,
implicit destructors for these variables were missing from the CFG.
This caused analyses relying on the CFG to incorrectly model the
lifetime of these variables. Specifically, Thread Safety Analysis
reported false positives for RAII locks declared in the init-statement.
Fix it by calling addLocalScopeForStmt for the init-statement in
CFGBuilder::VisitCXXForRangeStmt. This ensures destructors are correctly
inserted into the CFG.
Fixes: https://github.com/abseil/abseil-cpp/issues/1901
[DAG] computeKnownBits - add CTLS handling (#174824)
Add handling for CTLS using the same method as in
https://github.com/llvm/llvm-project/pull/174636.
Added tests to AArch64 and RISCV, but it seems that ARM is actually
resolving `llvm.arm.cls` to `clz`, so not tests added there.
protobuf py-protobuf: updated to [6.]33.4
33.4
Other
Refactor(bazel): publish a separate .tar.gz
Bazel: Remove hardcoded dependency on //:protoc from language runtimes
Uses/go.mk: Encourage version ranges
Refactor the version comments to make it clear that a version range
is always better than pinning to a specific version.
[LV] Vectorize conditional scalar assignments (#158088)
Based on Michael Maitland's previous work:
https://github.com/llvm/llvm-project/pull/121222
This PR uses the existing recurrences code instead of introducing a
new pass just for CSA autovec. I've also made recipes that are more
generic.
[ValueTracking] Allow dereferenceable(0) to be applied to a null pointer (#175913)
`dereferenceable(<n>)` with n being potentially zero can come up when
using an operand bundle with a variable size. Currently this implies
that the pointer is non-null, even though `[nullptr, nullptr)` is a
valid range in any programming language I'm aware of. This patch removes
this implication and updates the language reference to reflect that
`dereferenceable` with a zero argument is valid.
editors/tp-note: update to 1.25.17
Reduce false positives in natural language detection.
This release filters URLs in texts with markup before passing it to the Lingua
crate. Before, URLs were often recognized as one of the configure natural
languages. There are no changes in the configuration or the templates. Just
the `get_lang()` filter got a little smarter. Now, it can even launch multiple
threads from a thread pool with the help of the Rayon crate. This reduces
Tp-Note's startup time when creating new, very large notes.
audio/spotify-player: update to 0.21.3
NOTE: this is a patched release acting as a temporary release until #890 is resolved or when Spotify fixes their broken APIs 😔😔😔
Refer to #890 (comment) for context on the workaround changes to handle the broken Spotify APIs.
What's Changed
Fix package URL format in Cargo.toml by @stkiegerl in #886
cleanup client API call codes by @aome510 in #891
fix: include local streaming device in device list popup by @glima in #860
Allow showing actions on the current context page by @crisco-13 in #857
Filter out keymaps with None command in shortcut help popup by @seanlinshiang in #849
feat: add SeekStart command by @mrghosti3 in #888
Feature: add command "features" by @mgumz in #844
feat: optional transient notifications by @kirpy0x in #852
Improve the track page layout by @mgumz in #843
Feature: add {track_number} to playback_format by @mgumz in #842
feat(nix): add nix flake by @DOD-101 in #875
fix(nix): add missing nativeBuildInputs by @DOD-101 in #905
pre-release v0.21.3 by @aome510 in #909
firmware: on the development side run the isc-dhcp plugin hook too
Since we removed the code make sure the update goes ok since the
imminent reboot can have a bad effect on recovery.
lang/go12{2,3}: Remove remaining unsupported versions of Go
Go's support lifecycle is current minor and current-1. New minors are
released every 6 months, so any minor is supported for one year. There
are no LTS versions.
With des's phenomenal work on go.mk, it was finally possible to
resolve the remaining hard deps on these old versions.
[clang][c23] Avoid assertion on an invalid static constexpr variable (#175927)
In C static variables should have constant expressions in initializers
so we were checking this twice for constexpr variables and failing with
an assertion that was makes sure we don't do it.
This patch postpones the check just like it is done for file
scope constexpr variables in C already.
Fixes https://github.com/llvm/llvm-project/issues/173605