audio/gmpc: blindly add a #pragma to fix build errors with llvm 22
#pragma clang diagnostic ignored "-Wincompatible-function-pointer-types"
is already found in many source files for gmpc, which is on life support
anyway :)
[clang] NFC: readd test cases reverted in 79f4d8f014 (#199676)
This adds back the test cases reverted in 79f4d8f014
We need some sort of process to stop losing regression tests due to
reverts...
[clang] preserve exact redeclaration for getTemplateInstantiationPattern (#199473)
This makes these functions not always return the definition if any. The
few users which depend on this are updated to fetch the definition
themselves.
Also fixes the VarDecl variant returning the queried declaration itself.
[mlir][IR] Require token producer and consumer traits
Add marker traits for operations that intentionally produce or consume the
builtin token type. The verifier now rejects token results without
TokenProducerTrait, token operands without TokenConsumerTrait, token entry
block arguments whose parent op does not produce tokens, and token block
arguments outside entry blocks.
Extend the Test dialect token ops to cover valid opt-in cases and each
verifier rejection path.
Assisted-by: Codex
[mlir][async] Lazily create the coroutine destroy-cleanup block (#199583)
`setupCoroMachinery` previously emitted a `cleanupForDestroy` block
unconditionally, alongside the normal `cleanup` block. That block is
only ever used as the "destroy" successor of an `async.coro.suspend`, so
for coroutines that never suspend (e.g. an `async.func` whose body
contains no `async.await`) it ended up unreachable in the lowered CFG.
Make `cleanupForDestroy` mirror the existing `setError` (and
`setupSetErrorBlock`) pattern and materialize it lazily via a new
`setupCleanupForDestroyBlock` helper, called only from the two places
(`outlineExecuteOp` and the `async.await` lowering) that actually wire
it up. Store the coroutine id on `CoroMachinery` so the helper can
rebuild the block contents without keeping the original `async.coro.id`
op around.
This change is in preparation of adding a new builtin token type. Dead
`async.coro.free` ops are inefficient and cause problems in the lowering
to LLVM.
Assisted-by: Opus 4.7
[clang] Add missing type source info of `decltype` specifier in destructor call to AST (#197680)
The type source info will be stored in `MemberExpr::MemberDNLoc`.
This patch fixes the underlying issue of #195788.
[clang][test] Move offload tools tests to clang/test/OffloadTools (#198434)
Tests for clang-offload-bundler, clang-linker-wrapper,
clang-nvlink-wrapper, and clang-sycl-linker were scattered across
clang/test/Driver/ and clang/test/Tooling/. Neither location was
appropriate: Driver/ is for testing the compiler driver, and Tooling/ is
for testing the LibTooling infrastructure.
Move them to clang/test/OffloadTools/ with one subdirectory per tool,
following the convention used by llvm/test/tools/. The tool-name prefix
is dropped from filenames since the containing directory already
identifies the tool.
The spirv-tools feature/substitution setup is carried over from
Tooling's lit.local.cfg into a new lit.local.cfg in
clang-linker-wrapper/, since the parent clang/test/lit.cfg.py does not
set up that feature. The dead spirv-tools block is removed from
Tooling/lit.local.cfg now that no tests there depend on it.
[3 lines not shown]
[clang] NFC: readd test cases reverted in 79f4d8f0145d72dff8c33745f35d45c74ecb3fdf
We need some sort of process to stop losing regression tests due to reverts...