aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/contracts.h
diff options
context:
space:
mode:
authorAlfie Richards <alfie.richards@arm.com>2025-09-30 12:25:25 +0000
committerAlfie Richards <alfie.richards@arm.com>2025-10-02 08:29:07 +0000
commit264a575765e0985fdc8a00b16c1d5bb4a46ed4db (patch)
treeb267b8c9de23d847d4d52d1d335a30d8d4d8cfe4 /gcc/cp/contracts.h
parent8cf1bc6b5d561458bbad85505f59ab85a65932c4 (diff)
downloadgcc-master.zip
gcc-master.tar.gz
gcc-master.tar.bz2
c: fmv: Prevent FMV being combined with other cloning/renaming extensions.HEADtrunkmaster
This patch adds exclusions and diagnostics to prevent function multi-versioning being used with omp simd pragmas and renaming extensions. This behaviour is forbidden by the ACLE as the expected behaviour is not clear. gcc/c-family/ChangeLog: * c-attribs.cc (attr_target_clones_exclusions): Add simd and omp exclusions. (attr_target_version_exclusions): New definition with simd and omp exclusions. (attr_omp_declare_simd_exclusions): New definition with target_version and clones exclusions. (attr_simd_exclusions): Ditto. (c_common_gnu_attributes): Add new target_version, simd, and omp declare simd variables. gcc/c/ChangeLog: * c-decl.cc (maybe_mark_function_versioned): Add diagnostic. * c-parser.cc (c_finish_omp_declare_simd): Add diagnostic. gcc/testsuite/ChangeLog: * gcc.target/aarch64/mv-error11.c: New test. * gcc.target/aarch64/mv-error12.c: New test.
Diffstat (limited to 'gcc/cp/contracts.h')
0 files changed, 0 insertions, 0 deletions