[lldb] Add MSVC STL formatter for std::expected (#217243)
Pretty-print MSVC STL `std::expected<T, E>` and `expected<void, E>`.
Engaged values show `Value`; unexpected alternatives show `Unexpected`.
The anonymous union is walked the same way as `optional` so PDB debug
info still finds `_Value` / `_Unexpected`.
Tests: generic C++23 MSVC STL coverage for engaged, unexpected, void,
and reference cases using PDB debug info.
Part of #24834
Assisted-by: Grok 4.6
Assisted-by: codex-5.6-high
---------
Co-authored-by: Bjorn Schobben <bjorn.schobben at aimsport.com>
libusb: Avoid signed integer overflow UB
Instead, just reset next_callback_id to 1 at INT_MAX. The potential for
duplicate callback IDs remains.
Sponsored by: The FreeBSD Foundation
multimedia/butt: update 1.45.0 -> 1.47.0, pet repology
- Fix possible corruption when recording .wav files
- When using Vorbis in VBR mode the min bitrate was
set for the upper limit instead of the max bitrate
Changes: https://danielnoethen.de/butt/Changelog.html
[VPlan] Expand negated add operands as a subtract in VPSCEVExpander. (#215253)
Update VPSCEVExpander to try to expand adds of negative values as
subtract, instead of adding the negated operand. This matches IR
SCEVExpander behavior and improves expansions slightly.
It also avoids regressions when expanding more expressions.
Alive2 Proof: https://alive2.llvm.org/ce/z/Emgeqv
Depends on https://github.com/llvm/llvm-project/pull/215252
[clang][win] Fix __global_delete breaking __attribute__((used)) (#217753)
The `__empty_global_delete` fallback introduced in #209585 was marked
used via `llvm::appendToUsed()`, which creates a global named
"llvm.used" during codegen. `CodeGenModule::emitLLVMUsed()` later
unconditionally creates its own global of that same name at end-of-TU,
so the name collision renamed the latter to "llvm.used.1" -- a name LLVM
ignores. The result was that every `__attribute__((used))` global in the
TU silently lost its used semantics whenever a `__global_delete` wrapper
was emitted, letting those symbols be dropped.
Mark the fallback used via `CodeGenModule::addUsedGlobal()` instead, so
it joins the single llvm.used that `emitLLVMUsed()` emits.
`emitLLVMUsed()` runs well after `emitGlobalDeleteForwardingBodies()` in
`Release()`, so the fallback is still recorded in time.
Fixes a regression reported on #209585.
makefs: Fix atime tests on MS-DOS (FAT) file systems
On FAT file systems, access time has a resolution of 1 day, so it is
really the access date.
Strip the time component from the epoch timestamp in order to check the
access time.
Reference: https://learn.microsoft.com/en-us/windows/win32/sysinfo/file-times
Reviewed by: ngie
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D54584
Merge tag 'for-v7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply
Pull power supply and reset updates from Sebastian Reichel:
"Power-supply core:
- Add PbAc, NiZn, RAM, and ZnAr battery chemistry types
- Create LED triggers based on properties instead of device type
- Provide power_supply_get_system_batteries() for usage with USB-C
- Add registration init callback for race-free device setup
Power-supply drivers:
- new TI BQ25630 charger driver
- new SG Micro sgm41542 charger driver
- bq257xx: Add support for BQ25792
- max8903: add DC and USB input current-limit controls
- max17042_battery: Initialize MAX17055 from battery info
- sbs-battery: map newly introduced battery chemistries
- drop extra error messages for IRQ request failures
- lot's of driver removal race condition fixes
- misc small cleanups and fixes
[27 lines not shown]
makefs: zfs: Allow the path vdev property to be set
This allows specifying custom vdev paths (such as GPT labels like
/dev/gpt/...) when creating ZFS filesystem images via makefs(8), rather
than defaulting to /dev/null.
Reviewed by: markj
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D59031
Merge tag 'mmc-v7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc
Pull MMC updates from Ulf Hansson:
"MMC core:
- Reject invalid perdev_minors for the block device before division
- Document DT fixed-layout NVMEM provider support for eMMC cards
MMC host:
- Convert a couple of plain text DT bindings to the yaml format
- bcm2835: DMA mapping improvements
- cqhci: Fix sparse warnings for endian conversions
- dw_mmc: Stop and complete DMA also in busy state
- dw_mmc-rockchip: Add support for the RV1106 variant
- litex_mmc: Add dynamic bus width support
- moxart: Propagate error for DMA completion timeout
- pxamci: Remove PXA remnants for the PXA93x support
- rtsx_usb_sdmmc: Avoid USB I/O in runtime autosuspend
- rtsx_usb_sdmmc: Suppress false CD after init timeout
- sdhci_am654: Add Judith Mendez as maintainer
[28 lines not shown]
[SSAF][EntityPointerLevel] Add an intermediate data structure DeclPointerLevel
A DeclPointerLevel differs from an EntityPointerLevel only in that it
retains the AST Decl node instead of abstracting it to an Entity. The
AST node carries more information, such as types, that can be used by
extractors before converting DeclPointerLevels to EntityPointerLevels.
E.g., PointerFlowExtractor can use it to compute the upper bound on
pointer levels for an entity. It is needed for fixing the bug reported
in rdar://183529483.
First step for:
rdar://183529483