[clang-doc] Clean up implementation with better casting
Having access to RTTI style casting lets us use slightly nicer
structures to clean up the overly complicated dispatch logic in merging
and other places.
[clang-doc] Move Generator classes into the anonymous namespace
Clang-Tidy suggest moving these classes into the anonymous namespace,
to enforce internal linkage.
graphics/blender: remove obsolete patch for math_half.cc
The patch-source_blender_blenlib_intern_math__half.cc patch no longer
applies to Blender 5.0.1 as the targeted code was removed upstream.
Updating test clang/test/Driver/driverkit-path.c for usage with CLANG_RESOURCE_DIR (#197154)
When the CMake option CLANG_RESOURCE_DIR is specified, it changes
the path to various tools and thus breaks some tests that look for things
in the "standard" location. This change updates one of the tests to take
into account the CLANG_RESOURCE_DIR value if specified by querying
compiler using `-print-resource-dir` to more accurately find the expected
directory in tests.
[flang][CUDA] Allocate converted kernel descriptors in device-accessible storage (#201950)
Fix CUDA descriptor lowering when an `fir.embox` result reaches a
`gpu.launch_func` through an intermediate `fir.convert`.
CodeGen previously failed to recognize this use chain and could place
the descriptor in host stack storage. Since CUDA kernels may dereference
assumed-shape descriptors on the device, such descriptors must be
allocated through the CUDA descriptor allocation path. Teach the
GPU-launch-use check to look through `fir.convert` so these descriptors
are lowered with `_FortranACUFAllocDescriptor`.
Also adds a regression test for the `fir.embox -> fir.convert ->
gpu.launch_func` case.
CI: move libclang python byindings tests to main CI
This removes the separate python bindings CI, which run on the GitHub free
runners and take more than one hour to build libclang.
The tests are executed instead in the monolithic pipelines,
whenever clang would be tested.
This is fine in terms of resources because all the dependencies are
built anyway, and the tests themselves take less than one second to
run on the free runners.
[clang] Reland: fix getTemplateInstantiationArgs (#202088)
Relands https://github.com/llvm/llvm-project/pull/199528
Previous: #201373
This implements a new strategy for collecting the template arguments, by
relying on the qualifiers and template parameter lists to navigate the
template
context of out-of-line definitions.
This greatly simplifies the signature of that function, by removing a
bunch
of workarounds, and simpliffying a couple that weren't removed yet.
Since this now relies on qualifiers and template parameter lists,
this patch expends most of its effort making sure these are placed,
transformed and propagated to template instantiations.
Also makes the explicit specialization AST nodes stop abusing the
[2 lines not shown]