]> git.ipfire.org Git - thirdparty/gcc.git/commit
aarch64: Fix FEAT_PCDPHINT for C++
authorRichard Ball <Richard.Ball@arm.com>
Fri, 6 Feb 2026 22:59:23 +0000 (22:59 +0000)
committerRichard Ball <Richard.Ball@arm.com>
Fri, 6 Feb 2026 23:06:12 +0000 (23:06 +0000)
commit727bca8fefc0fb28463b678ceb36fcff28bcea46
tree1545b601db8f7cd9a857a239e9eafc34b177bc3f
parentf7e335aa007f32a003dde88a7500e326b1dcef65
aarch64: Fix FEAT_PCDPHINT for C++

This patch rewrites the _Generic in arm_acle.h into a resolve_overloaded_builtin.
The reason for this was the lack of support in C++ for _Generic.

gcc/ChangeLog:

* config/aarch64/aarch64-builtins.cc
(enum aarch64_builtins): Add ptr and generic variants.
(aarch64_init_pcdphint_builtins): Likewise.
(aarch64_general_expand_builtin): Add ptr variant.
(aarch64_resolve_overloaded_builtin_stshh): Function to handle
overloaded atomic_store_with_stshh.
(aarch64_resolve_overloaded_builtin_general): Add call to stshh function.
* config/aarch64/aarch64-c.cc
(aarch64_resolve_overloaded_builtin): Allow fndecl to return.
* config/aarch64/arm_acle.h
(__atomic_store_with_stshh): Remove __Generic.

gcc/testsuite/ChangeLog:

* gcc.target/aarch64/atomic_store_with_stshh.c: Testcase change.
* g++.target/aarch64/atomic_store_with_stshh.C: New test.
gcc/config/aarch64/aarch64-builtins.cc
gcc/config/aarch64/aarch64-c.cc
gcc/config/aarch64/arm_acle.h
gcc/testsuite/g++.target/aarch64/atomic_store_with_stshh.C [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/atomic_store_with_stshh.c