[Clang] Fix mergeInheritableAttributes() to propagate all AvailabilityAttrs (#181482)
`getAttr<AvailabilityAttr>()` only returns the first matching attribute,
but a declaration can carry multiple AvailabilityAttrs (one per
platform, e.g. macOS + iOS). Use `specific_attrs<AvailabilityAttr>()`
to iterate over all of them so every platform's availability is
propagated during cross-module redeclaration merging.
This aligns the PCM merge path with how `mergeDeclAttributes` already
iterates via `specific_attrs<InheritableAttr>()` on the Sema side.
Extend clang/test/Modules/decl-attr-merge.mm with a multi-platform
case and an iOS triple RUN line that triggers the bug without the fix.
Fixes https://github.com/llvm/llvm-project/issues/181298
Remove PROC_CHECK_PRIV macro from sys_process.c
Just put the priv_check calls in the code.
Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D56864
[llubi] Fix CTAD warnings for std::vector initialization (#196221)
Explicitly specify template argument <AnyValue> for std::vector
initializations to fix -Wctad-maybe-unsupported warnings when
building with -Werror. The implicit deduction was causing build
failures in visitOverflowIntBinOpWithResult method.
[CIR][NFC] Upstream IR roundtrip tests for constants (#194518)
Upstream `clang/test/CIR/IR` roundtrip tests for CIR constant
attributes: integer boundary constants, floating-point special values
that require exact hex spelling, and pointer constants with integer and
null payloads.
Partially addresses #156747.
emulators/libmt32emu: Adjust pkgconfig dependency
Optional for libsoxr (libsamplerate relies on cmake) but it's a better
approach than having cmake "manually" looking for headers
Approved by: blanket
[lldb][CMake] Force OBJECT libraries to also be STATIC (#196222)
When add_lldb_library is called with OBJECT, llvm_add_library would also
produce a SHARED variant under BUILD_SHARED_LIBS=ON. That variant fails
to link because a5a13ca29186 intentionally moved lldbDAP's LINK_LIBS to
its consumers.
Pass STATIC alongside OBJECT so the secondary variant is always an
archive, matching the LLVMTableGenCommon pattern. Fixes
BUILD_SHARED_LIBS=ON breakage reported on #196108.
[CIR][CUDA] builtin vars (#195539)
Implement emitPseudoObjectRValue and fix VisitPseudoObjectExpr in the
scalar emitter to call it instead of errorNYI.
Part of https://github.com/llvm/llvm-project/issues/179278
[Runtimes] Pass through per-runtime CMake options for target runtimes (#194105)
Fix warning:
Manually-specified variables were not used by the project:
LIBCLC_USE_SPIRV_BACKEND.
LIBCLC was already passed through in `-DLLVM_ENABLE_RUNTIMES=libclc` case.
This PR adds to runtime_register_target for `-DRUNTIMES_triple-_LLVM_ENABLE_RUNTIMES=` case.
[AMDGPU][MLIR] Add FoldMemRefOpsIntoGlobalLoadAsyncToLDSOp (#195982)
Add folders for memref aliases for gfx1250 global async to lds.
Assisted by: cursor
Signed-off-by: Eric Feng <Eric.Feng at amd.com>
[MLIR][IntRange] Materialize known constant values only when the value type is integer-like (#196133)
This patch came out of
https://discourse.llvm.org/t/request-for-advice-in-updating-intrange-optimziations/90685
In short, my out-of-tree dialect has region-bearing operations whose
return-like terminators semantically wrap an integer type in a
non-integer type when returning to the parent for control flow (also
this dialect that has no constant materializer). In this case,
`MaterializeKnownConstantValues` will attempt to construct integer
attributes using those non-integer types, which causes a stack trace and
prevents us from using int range optimizations on IR that contains these
ops.
This patch adds guards to the materialization step, so that if the value
that is inferred to be constant is not an integer (or shaped container
with an integer element type), no materialization is attempted.
[Driver] Forward -v to clang-sycl-linker in SPIRV toolchain (#196213)
The SPIRV linker job construction was not forwarding the -v (verbose)
flag to clang-sycl-linker when --sycl-link is used. This is limited to
the --sycl-link path because the default linker spir-link doesn't
support -v flag.