[LoopInterchange] Add tests for loop control values in the outer preheader (NFC) (#235520)
Add test cases where it matters whether the loop control values (the
initial and final values of the IVs) are available in the outer loop
preheader. These are corner cases where the work in #235496 changes
what loop-interchange can handle.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
miller: Update to version 6.22.0
What's Changed
Features
Add datediff DSL function by @johnkerl in #2221
Support XDG Base Directory spec for location of .mlrrc by @johnkerl in #2215
Batch-stream mlr seqgen output for head-friendliness by @johnkerl in #2230
reshape: add -S/-n to sort new wide-field keys in long-to-wide (#1646) by @ChrisJr404 in #2235
Support Unicode-boxed I/O format: tabular with UTF-8 markers by @johnkerl in #2253
Fixes
Fix I/O flag clash by @johnkerl in #2254
Build, CI & tooling
Add scoped make gosec target for security scanning by @johnkerl in #2223
Go 1.25 -> 1.26 in .github/workflows/golangci-lint.yml by @johnkerl in #2245
Fix CI Go versions by @johnkerl in #2246
Docs
[12 lines not shown]
[clang] Fix typo in __cplusplus macro (#235489)
Found a possible typo where `__cplusplus` was written as `__cpluscplus`,
since I made the same typo while doing a search.
Corrected to `__cplusplus`, feel free to close if this wasn't a mistake
:)
[analyzer][NFC] BugReporterVisitors.h should include MemRegion.h (#235283)
BugReporterVisitors.h includes RangedConstraintManager.h but uses
nothing it declares: RangeSet, Range, ConstraintMap and
SimpleConstraintManager appear nowhere in the file. What the header
actually needs is MemRegion.h, which supplies SubRegion,
MemRegionManager and MemRegion completeness for an inline constructor;
today those arrive only by accident, transitively through
RangedConstraintManager.h -> ProgramState.h. Swapping the include for
the one that carries the used declarations makes the dependency honest
and adds a forward declaration of CallEvent in namespace clang::ento
for the one name that only needs to be incomplete.
One header needs a compensating include: Z3CrosscheckVisitor.h uses
ConstraintMap and was getting RangedConstraintManager.h through
BugReporterVisitors.h, so it now includes it directly. No translation
unit in clangStaticAnalyzerCore, clangStaticAnalyzerCheckers or
clangStaticAnalyzerFrontend required any other change.
[2 lines not shown]
misc/py-mmcv: Fix build on Python 3.13 and the runtime dependencies
PR: 299961
setup.py exec()s mmcv/version.py and then reads __version__ back
from locals(), which no longer works on 3.13 (PEP 667): exec into an
explicit namespace instead.
The package also could not be installed or imported on its own: the
extension links against libc10.so from py-pytorch (only a build
dependency so far), and mmcv.image imports cv2 at the top level. Add
both py-pytorch and py-opencv-python-headless to RUN_DEPENDS.
While here, follow the Python Ports Policy, add concurrent to
USE_PYTHON, fix portlint warnings and document the patches.
www/chawan: use better method to detect the compiler
Using PKGSRC_COMPILER instead of just CC is a better alternative to detect the
c compiler that is set for pkgsrc. Thanks to jperkin.
libzutil: keep the latest label when two vdevs claim one id
When it builds a pool's config from the labels found by a scan,
get_configs() puts each top-level vdev at the id its label gives,
replacing whatever was there, and leaking it. A device can keep the
label of a top-level vdev that the pool no longer has, such as one
added after a checkpoint that the pool was then rewound to, while a
vdev added since has the same id. Whichever comes last wins, so the
stale vdev can replace the current one in the config. The import, or
"zdb -e", then fails with an I/O error when the pool's metadata has
blocks on that vdev. When it has none there, the import falls back
on the config stored in the pool, which works only while the paths
recorded there still lead to the devices.
For each id, keep the top-level vdev whose label has the latest txg,
and free the one it replaces.
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Will Rouesnel <wrouesnel at wrouesnel.com>
Signed-off-by: Tigerblue77 <37409593+tigerblue77 at users.noreply.github.com>
Closes #19496
[llvm-lto] Initialize targets before parseCommandLineOptions (#235523)
Target library options are registered when targets are initialized, so
llvm-lto rejects them as unknown arguments.
Reorder parseCommandLineOptions similar to llvm-lto2.
[ARM] Register the Thumb2ITBlockPass. NFC (#235521)
This was missing from the list of initialized passes, add it so that
print-after and pass options work.
amd64/arm64 pmap: consistently clear PGA_WRITEABLE
We don't consistently clear PGA_WRITEABLE on fictitious, managed pages.
Some functions do, e.g., pmap_remove_all(), but several do not. At
worst, this is just a pessimization, but there is no good reason to be
inconsistent. Clear PGA_WRITEABLE in those that previously did not by
introducing (and using) the helper function pmap_page_is_mapped_locked()
that implements the correct test.
(cherry picked from commit 37321270b630d891e48851f81dd6d077ebd6b635)
www/chawan: update to 0.5.1
This commit updates the chawan package to version 0.5.1, which fixes the
following issues:
* remove non-functional btoa symlink
* fix broken subnet classification procedure
* fix all history entries being truncated in some cases
* fix crash on invoking functions on detached SelectBuilder
* fix chahash on big-endian platforms
* fix calls to invalidated SelectBuilder crashing the browser
* fix select being incorrectly positioned at the screen's edge
* fix crashed buffers crashing the pager too in some cases
* report invalid match/nc-match regexes in mailcap
For further information, please consult the projects news page:
https://chawan.net/news/chawan-0-5-1.html
abi: update for libspl kthread changes
Sponsored-by: TrueNAS
Reviewed-by: Kamil Monicz <kamil at monicz.dev>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Rob Norris <rob.norris at truenas.com>
Closes 19508
libspl: updated "owned" primitives to track curthread
kmutex_t and krwlock_t both have an owner field, tracking the owner.
These can now use a kthread_t* and the curthread pointer like everything
else.
Sponsored-by: TrueNAS
Reviewed-by: Kamil Monicz <kamil at monicz.dev>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Rob Norris <rob.norris at truenas.com>
Closes 19508
libspl/thread: rewrite for kthread semantics and to hide pthread
The libspl kthread implementation was previously a simple wrapper around
POSIX threads. This was subtly wrong in a handful of ways, mostly in
that a pthread does not have exactly the same lifetime as a kthread, and
pthread_t neither represents exactly the same thing as kthread_t*, nor
is it guaranteed to be the same size and shape.
This commit properly implements the kthread semantics and API on top of
pthreads, while largely hiding the pthread use inside as an
implementation detail.
Sponsored-by: TrueNAS
Reviewed-by: Kamil Monicz <kamil at monicz.dev>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Rob Norris <rob.norris at truenas.com>
Closes 19508
spa: extend HAVE_SPA_THREAD gate to all uses of spa_did
thread_join(spa->spa_did) was always compiled in, which was ok while
thread_join() is either a no-op or takes a type trivially convertible to
a uintptr_t. Next commit will change the latter for userspace, breaking
the build.
Since this is all part of the currently-unused "SPA thread" mechanism,
it should go behind the same compilation gate.
Sponsored-by: TrueNAS
Reviewed-by: Kamil Monicz <kamil at monicz.dev>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Rob Norris <rob.norris at truenas.com>
Closes 19508