devel/libsigc++30: update to 3.8.1
Update to 3.8.1
3.8.1 (stable) 2026-05-17
Documentation:
- MSVC_NMake/MSVC-Builds.md: Mention Visual Studio 2026
(Chun-wei Fan) Pull request #116
- Visual Studio builds: Update build information
(Chun-wei Fan) Pull request #118
Meson build:
- NMake Makefiles: Update for Visual Studio 2026
(Chun-wei Fan) Pull request #116
- NMake Makefiles: Clean up and make things more flexible
- NMake Makefiles: Make build process more robust
(Chun-wei Fan) Pull request #118
[2 lines not shown]
devel/libsigc++20: update to 2.12.2
Update to 2.12.2
2.12.2 (stable) 2026-05-17
This release and future releases will not store tarballs at
download.gnome.org/sources/. Only modules with source code at
gitlab.gnome.org/GNOME/ can store tarballs there now.
Tarballs of libsigcplusplus are now stored only at
github.com/libsigcplusplus/libsigcplusplus/releases/.
Documentation:
- README.md: Add info about building the documentation
(Kjell Ahlstedt) Issue #101 (raphael10-collab)
- Don't link to removed parts of gnome.org
(Kjell Ahlstedt)
- Remove obsolete FSF (Free Software Foundation) address
[37 lines not shown]
[clang][bytecode] Get the right definition before compiling functions (#201105)
This broke libc++'s
std/ranges/range.adaptors/range.concat/iterator/arithmetic.pass.cpp.
The (reduced via cvise but not enough) function looks like this:
```c++
friend constexpr unsigned
operator-(const __iterator &__x, const __iterator &__y)
{
(void)-(__y - __x);
return 0;
}
```
When evaluating the binary operator for overflow, we will compile the
operator- (_this_ function) to bytecode. At that point,
::isThisDeclarationADefiniton() will return true and ::getDefiniton()
[7 lines not shown]
pppoe(4): wait for incoming connection in STATE_STARTING on server
When the interface goes up, LCP is now explicitly opened to
start the lower (PPPoE) layer. This behavior is the same for
both active and passive connections.
To unify the implementation, remove the difference in LCP
handling between these connections.
[RISCV][P-ext] Add zero/sign extend support between 32-bit and 64-bit vectors. (#201694)
Still need to improve sext on RV64.
Assisted-by: Claude Sonnet 4.6
Remove unused if_up() code since loopback detected interface remains down
Previously, the lower layer could still trigger an if_up() even after
if_down(). However, now that if_down() completely stops the interface,
this subsequent if_up() is no longer called.
Reset LCP by triggering Close and Open events sequentially
Previously, LCP waited for a Down event after Close, and
triggered the Open event upon receiving it. However, simply triggering
the Close and Open events sequentially is sufficient to reset all
layer states.
NOTE:
To restart the connection after a keepalive timeout or
a loopback is detected, disable the PP_LOOPBACK_IFDOWN
and/or PP_KEEPALIVE_IFDOWN options.
[X86] Remove shouldCastAtomicLoadInIR; use DAG combine instead
Remove X86's shouldCastAtomicLoadInIR override that cast FP atomic
loads to integer at the IR level. Instead, handle this in a pre-legalize
DAG combine (combineAtomicLoad) that rewrites FP/FP-vector atomic loads
to integer atomic loads plus a bitcast.
This depends on #199310 which adds the necessary cmpxchg support for
non-integer atomic loads in AtomicExpand.
[ExprConstant] Treat `&*p` as not a dereference in C constant initializers (#201483)
In C, [C11 6.5.3.2p3] specifies that when the operand of unary `&` is
the result of a unary `*` operator, neither operator is evaluated and
the result is as if both were omitted. So `&*p` yields the pointer value
`p` without performing a dereference, and forming it is well-defined
even when `p` is null (e.g. `&*(int *)0`).
The constant evaluator did not honor this: it evaluated the `*` as a
real lvalue access and diagnosed a null dereference as undefined
behavior. This went unnoticed for ordinary scalar initializers, which
use the relaxed `Expr::isConstantInitializer()` check, but a bit-field
initializer is evaluated via `EvaluateAsInt()` with `SE_NoSideEffects`,
so the same expression was rejected there with "initializer element is
not a compile-time constant":
```
struct S { long v : 8; };
const struct S s = { .v = (long)&*(int *)0 }; // error
[9 lines not shown]
[RISCV][P-ext] Select scalar asub/asubu and mulhr/mulhru/mulhrsu on RV32 (#201540)
The truncate combine only formed these nodes for packed vectors; extend
it to scalar i32 on RV32 and add the matching isel patterns.
[DenseMap] Store occupancy in a packed used-bit array (#201281)
Track bucket occupancy in a packed 1-bit-per-bucket "used" array (uint32
words)
instead of an `Empty` sentinel key. The buckets and the used array share
one
allocation. The probing scheme is unchanged.
(uint64_t words lead to slightly larger clang binary.)
Because occupancy is a packed bit instead of an in-band sentinel,
probing and
iteration test a dense bit rather than loading each bucket key. This
helps
find-miss and iteration (the empty terminus and the empty buckets become
a bit
test, not a bucket load; for large keys it also skips the structural
compare
against the empty key) and large-bucket insert. It costs find-hit (the
matched
[19 lines not shown]
CI: Add alternative URLs for CentOS stream
Fallback to trying the "CentOS Strean Composes" repo for the qcow2
images if the regular URLs fail. The Composes repo contains the daily
autobuilt Stream images.
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Tony Hutter <hutter2 at llnl.gov>
Closes #18628
CI: Increase default RCU stall timeout on Linux
When CONFIG_RCU_CPU_STALL_TIMEOUT is configured an RCU stall which
exceeds the default timeout will trigger an NMI and panic the VM.
Given the heavily virtualized nature of the CI environment we want
to make sure to only trigger this due to a real deadlock and not
due to over-subscription of the systems resources. This timeout
normally defaults to 20-30 seconds and this change increases it
to 120 seconds.
Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Closes #18624
CI: Update CodeQL actions to v4
CodeQL Action v3 has been deprecated and will be retired
December 2026. Update codeql.yml to use CodeQL Action v4
and update the runner to ubuntu-24.04.
Signed-off-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Closes #18629
[lld][WebAssembly] Simplify many-functions.ll test (#201711)
Remove superfluous checks (function bodies, data section, symbol table,
and segment info) from the test.
The primary purpose of this test is to verify that relocations within
the CODE section are handled correctly when linking objects with many
functions (requiring multi-byte LEB128 for function count).
Checking the entire symbol table, segment info, data section, and all
129 function bodies is superfluous and adds unnecessary noise (over 1000
lines of expectations) to the test. These features are covered by other,
more targeted tests. Reducing these checks makes the test much easier to
read and maintain.
Reland HIP offload PGO runtime support as a separate opt-in library (#201606)
This mostly relands the compiler-rt part of #177665 (approved and
merged, then reverted in #201416). The first commit restores it as
merged.
It was reverted because of a Windows problem: the ROCm runtime needs the
sanitizer interception library, which is built /MD on Windows, so
putting it in clang_rt.profile forced that library to /MD and broke
users linking it with the static CRT (/MT).
The second commit fixes this by building the ROCm support as a separate,
opt-in library clang_rt.profile_rocm, a /MD superset of
clang_rt.profile. The base library is left unchanged (/MT, no ROCm). The
driver links clang_rt.profile_rocm first, so it resolves all profile
symbols and the base library stays inert.
clang_rt.profile_rocm is off by default. The compiler-side change and
driver wiring are in a separate PR.