[HLSL] Create XValue in HLSL list initialization if record is a prvalue (#186233)
In the case where the record in an Init List expression is a prvalue
create an xvalue so member accesses will be xvalues. This is in line
with the C++ specification. The Clang code which generates the member
field access however does not create an xvalue if the record is a
prvalue, so we make the record an xvalue here.
https://en.cppreference.com/w/cpp/language/value_category.html
```
is an xvalue expression: a.m, the member of object expression, where a is an rvalue and m is a non-static data member of an object type;
```
Adds Constant expression evaluation tests for Init list expressions
which contain a cast. This test file is currently XFAILed on issue
#188577
Closes #185911
---------
Co-authored-by: Deric C. <cheung.deric at gmail.com>
[libc++] Fix negate and bit_xor in C++03 frozen headers (#187573)
An unintended change in #134045 gave them a default template argument,
which is supposed to be from C++14 onwards.
I considered adding a test for this but it is really awkward to test
that we don't support passing no template argument in C++03 mode and
that provides little value, so I decided against it.
[flang][cuda] Use walk instead of getOps to process nested cuf.shared_memory ops (#188812)
The CUFComputeSharedMemoryOffsetsAndSize pass used getOps to find
cuf.shared_memory operations, which only searches direct children of
gpu.func. When cuf.shared_memory ops are nested inside scf.parallel
(e.g. from reduction lowering), they are missed and never receive
offset/isStatic attributes, causing a "cuf.shared_memory must have an
offset for code gen" assertion later. Switch to walk to find
cuf.shared_memory ops at any nesting depth.
[libc++] Remove the dead code in stdatomic.h in frozen C++03 mode (#188346)
Fixes #187384
Assisted-by: Claude Code
Signed-off-by: mlevine55 <mlevine55 at bloomberg.net>
[libc++] Use internal std::__is_sufficiently_aligned to check requirement in atomic ref constructors (#188530)
This PR introduces a `std::__is_sufficiently_aligned` helper function that
can be used for the `atomic_ref` C++20 constructors while the public
C++26 `std::is_sufficiently_aligned` delegates to the new helper
function.
Fixes #179803
Assisted-by: Claude Code
Signed-off-by: mlevine55 <mlevine55 at bloomberg.net>
[MLIR][XeGPU] Add support for lowering vector.multi_reduction to scalar in Wg to Sg (#188623)
This PR adds support of lowering multi_reduction (to scalar) from wg to
sg.
[SLP]Initial support for vector register spills/reloads estimation
Adds initial support for spill/reload estimation. Currently, it just
runs the operands and calculates number of registers, used by the
operands. If this number greater than the number of total available
registers, it consider the first (full) groups as the candidates for the spills/reloads.
Reviewers: hiraditya, RKSimon, bababuck
Pull Request: https://github.com/llvm/llvm-project/pull/187594
Revert "[ObjC][Preprocessor] Handle @import directive as a pp-directive" (#188806)
Reverts llvm/llvm-project#157726
This is causing a number of lldb test failures, specifically tests that
do `@import ...` expression evaluation. See
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/as-lldb-cmake/
[Hexagon] Driver: Always use resource include directory (#186494)
Before https://github.com/llvm/llvm-project/pull/185456, non-linux
triples used the resource include directory
implicitly, by logic in preprocessor.
https://github.com/llvm/llvm-project/pull/185456 disables that logic
for all Hexagon triples. To compensate, add the resource include
directory in the driver. This also makes the corresponding driver
logic less convoluted.
The order of inclusion is now uniform for all triples: resource
directory first and default or user-specified sysroot next.
[HWASan] [ASan] Fix memory effects attribute updating (#187794)
This was originally added in #106816, but missed some edge cases, e.g. a
function marked `memory(argmem: readwrite, inaccessiblemem: write)`.
This also only sets IRMemLocation::Other to be ModRef rather than
removing the entire memory attribute, since instrumentation shouldn't
affect other memory locations.
Fixes #56205 more.
sysutils/broot: update to 1.56.1
v1.56.1
- fix a typo in one of the new verbs of the default conf
v1.56.0
- impacted_panel verb argument, allows the effect of a verb to be on another panel (eg to scroll the preview panel without removing the focus from the tree) - Fix #1119
- focus_panel_left and focus_panel_right internals - Fix #1115
Major Feature: merge staged files to issue a single command
When a verb argument has a space-separated or comma-separated flag, a single external command is run even when the selection is multiple.
The default verbs.json file has an example of a zip verb building an archive from all staged files: https://dystroy.org/broot/conf_verbs/#single-command-on-stage
Fix #465
net/xfr: update to 0.9.6
[0.9.6] - 2026-03-18
Added
--dscp flag — set DSCP/TOS marking on TCP and UDP client sockets for QoS policy testing. Accepts numeric values (0-255) or standard DSCP names (EF, AF11-AF43, CS0-CS7). QUIC warns and ignores the flag; non-Unix platforms warn instead of applying socket marking.
omit_secs config support (issue #43) — [client] omit_secs = N in config file sets default --omit value.
[0.9.5] - 2026-03-17
Added
TCP --cport support (issue #44) — --cport now pins client-side TCP data-stream source ports. Multi-stream TCP uses sequential ports (cport, cport+1, ...), matching UDP behavior.
Changed
TCP --cport semantics — TCP control remains on an ephemeral source port while data streams use the requested source port or range. TCP data binds now match the remote address family the same way UDP/QUIC already do, so dual-stack clients can use --cport against IPv6 targets.
[clang][modules] Remove `ModuleFile::File` (#185995)
This PR removes the assumption that a deserialized module file is backed
by a `FileEntry`. The uniquing and lookup role of `ModuleFile`'s
`FileEntryRef` member is entirely replaced with the `ModuleFileKey`
member. For checking whether an existing `ModuleFile` conforms to the
expectations of importers, the file size and mod time are now stored
directly on `ModuleFile` (previously provided by its `FileEntry`).
Together, these changes enable removal of the
`ModuleManager::lookupByFileName(StringRef)` and
`ModuleManager::lookup(const FileEntry *)` APIs.