[scudo] Add unit tests for common functions
This patch adds unit tests for isPowerOfTwo, computePercentage, and
isAlignedSlow in common_test.cpp. These additions increase the test
coverage for common.h to 100%.
[Clang][CodeGen][NFC] Refactor EmitAsmStmt method (#196885)
Split up massive function into smaller, easier-to-digest chunks.
This places the data into a single structure to limit the amount of
parameters needed per function.
workflows/release-doxygen: Add some security checks and input validation (#196769)
We now ensure the job was started by a release manager before granting
the contents: write permissions and we also validate the input to ensure
it is a proper release string and not something malicious.
WIR [CIR][CodeGen] Remove dead srcAS code in emitCastLValue address spacecast (#197016)
The srcAS variable was computed but never used since upstream's
performAddrSpaceCast only takes (value, destType). Remove the dead code
and its errorNYI for non-target address spaces.
Fixes part of #192314
[CIR] Implement implicit value init for aggregates (#197029)
This implements the AggExprEmitter::VisitImplicitValueInitExpr function
for CIR. The code to emit a zero-initializer was already present. We
just needed to hook it up to the visitor.
[CIR] Implement copy construction of EH catch values (#196419)
This change implements handling of exception variables that require copy
construction (on Itanium targets) before they can be used in a catch
handler, using the cir.contruct_catch_param operation.
Some targets, such as MSABI, do not need to perform an explicit copy.
The construct_catch_param operation is effectively a noop for those
cases and will be lowered as such when the EHABI lowering is implemented
for those targets.
Assisted-by: Cursor / claude-opus-4.7-thinking-xhigh
NAS-140810 / 27.0.0-BETA.1 / Fall back to UTC when configured timezone is unavailable (#18913)
This commit fixes an issue where users upgrading from older TrueNAS
versions could end up with a timezone selected that is no longer
available on the system, silently leaving the clock on UTC with no
indication to the operator.
Debian moved a large set of legacy timezone aliases (Japan, GB,
Hongkong, Iran, Israel, Cuba, Egypt, all capitalised Australia/*,
Brazil/*, Canada/*, etc.) out of the core `tzdata` package into a new
`tzdata-legacy` package which is not installed by default on trixie:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1040997
The names are still listed in `/usr/share/zoneinfo/tzdata.zi` as
historical Link entries, but the corresponding files under
`/usr/share/zoneinfo/` are gone. The middleware was parsing `tzdata.zi`
directly and offering all 598 entries in the dropdown, including 113
that no longer resolve to a real file. Selecting one of those (e.g.
[42 lines not shown]
[Instrumentor] Add Alloca and Function support; stack usage example
This adds support for alloca instrumentation and function pre/post
instrumentation. Alloca support follows load/store support directly.
Functions require special care to determine the insertion points.
Together, we can showcase how the stack high watermark can be profiled,
see InstrumentorStackUsage.cpp.
[Instrumentor] Use the pass builder's FileSystem for reading files
In the IO sandbox, the old read calls caused the CI to fail. This
changes uses the PassBuilder's FileSystem the same way other passes
read files from disk (during CI).
[flang][cuda][openacc] Don't apply CUDA Fortran COMMON/EQUIVALENCE rule to internal UseDevice marker (#197036)
`CUDADataAttr::UseDevice` is not user-spellable; the symbol that
actually lives in COMMON/EQUIVALENCE carries no CUDA attribute. The CUDA
Fortran restriction (CUDA Fortran Programming Guide §3.2) does not apply
to it.
Exclude `UseDevice` from the COMMON/EQUIVALENCE check alongside the
existing `Pinned` exclusion, and add a Semantics regression test.
[Instrumentor] Add Alloca and Function support; stack usage example
This adds support for alloca instrumentation and function pre/post
instrumentation. Alloca support follows load/store support directly.
Functions require special care to determine the insertion points.
Together, we can showcase how the stack high watermark can be profiled,
see InstrumentorStackUsage.cpp.
[Instrumentor] Use the pass builder's FileSystem for reading files
In the IO sandbox, the old read calls caused the CI to fail. This
changes uses the PassBuilder's FileSystem the same way other passes
read files from disk (during CI).