Branch
Hash :
eea5e6d1
Author :
Date :
2025-10-15T18:08:37
Roll third_party/llvm/src into angle to include C++23 fixes https://chromium.googlesource.com/external/github.com/llvm/llvm-project/+log/fd9a1dcc01766c71932898e9643ce28bf2801bad..67790d3fb06b184b7be9c4d3e36ab01f0ac4198e The goal is to roll these C++23 fixes [1][2][3][4]. [1] https://github.com/llvm/llvm-project/pull/163555 [2] https://github.com/llvm/llvm-project/pull/163554 [3] https://github.com/llvm/llvm-project/pull/163545 [4] https://github.com/llvm/llvm-project/pull/163553 Bug: chromium:388070065 Change-Id: I23cd9acdfffc9a532e16575a0d4d91a8da72b432 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7045718 Commit-Queue: Victor Vianna <victorvianna@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Victor Vianna <victorvianna@google.com>
The clspv official build system is CMake and as such have no GN build infra. The
files in here enable building clspv using the ANGLE GN build infra.
The top-level build file is BUILD.gn with all the auxiliary build files
located in the gn folder. The clspv build is heavily dependent on the LLVM
build. The LLVM settings and targets needed for clspv are captured in the
gn/llvm location. These utilize the LLVM experimental GN build infra 1.
The GN build in here is setup to function within the ANGLE GN build infrastructure and as such follows the same setup as of ANGLE project. Please refer top level ANGLE readme file.
Add the following to args.gn file
angle_enable_cl = true
Note: Only the linux/x86{,_64} and android/arm{64} combination of os/cpu
are setup for now.
The LLVM targets required for clspv are housed in the gn/llvm location. In the
case of source files getting added/removed in the upstream LLVM, the relavant
target sources needs to be modified in gn/llvm/sources/BUILD.gn.
The LLVM targets are named in the format clspv_<llvm/clang>_<folder path slug with _>.
For instance clspv_llvm_lib_frontend_offloading refers to the LLVM
target in third_party/llvm/src/llvm/lib/Frontend/Offloading. The sources
list in from the corresponding LLVM BUILD.gn file, here
third_party/llvm/src/llvm/utils/gn/secondary/llvm/lib/Frontend/Offloading can
be copied with prefix path “//$clspv_llvm_dir/llvm/lib/Frontend/Offloading/“
applied to it.