diff options
author | Tobias Burnus <tburnus@baylibre.com> | 2025-03-27 14:09:20 +0100 |
---|---|---|
committer | Tobias Burnus <tburnus@baylibre.com> | 2025-03-27 14:09:20 +0100 |
commit | 7e286b56545e1bd28098cc197e674d02f3849ec3 (patch) | |
tree | 85bb8fa040090b51d7fb832ff93d5323ee1684d4 /libcpp | |
parent | 6acfb68dc0a4798ca0a6ddae894c70f815f5295d (diff) | |
download | gcc-7e286b56545e1bd28098cc197e674d02f3849ec3.zip gcc-7e286b56545e1bd28098cc197e674d02f3849ec3.tar.gz gcc-7e286b56545e1bd28098cc197e674d02f3849ec3.tar.bz2 |
OpenMP: Fix C++ template handling with append_args' prefer_type modifier
It is possible but not very sensible to use C++ templates with in the
prefer_type modifier to the 'append_args' clause of 'declare variant'.
The commit r15-6336-g12dd892b1a3ad7 added substitution support in pt.cc,
but missed to update afterward the actual data in decl.cc.
As gimplification support was only added in r15-8898-gf016ee89955ab4,
this could not be tested back then. The latter commit added a sorry
for it gimplify.cc and the existing testcase, which this commit now removes.
gcc/cp/ChangeLog:
* cp-tree.h (cp_finish_omp_init_prefer_type): Add.
* decl.cc (omp_declare_variant_finalize_one): Call it.
* pt.cc (tsubst_attribute): Minor rebustification for OpenMP
append_args handling.
* semantics.cc (cp_omp_init_prefer_type_update): Rename to ...
(cp_finish_omp_init_prefer_type): ... this; remove static attribute
and return modified tree. Move clause handling to ...
(finish_omp_clauses): ... the caller.
gcc/ChangeLog:
* gimplify.cc (modify_call_for_omp_dispatch): Remove sorry.
gcc/testsuite/ChangeLog:
* g++.dg/gomp/append-args-1.C: Remove expected dg-sorry.
* g++.dg/gomp/append-args-8.C: New test.
Diffstat (limited to 'libcpp')
0 files changed, 0 insertions, 0 deletions