decl.c (omp_declare_variant_finalize_one): Call declare_simd_adjust_this not just...
authorJakub Jelinek <jakub@gcc.gnu.org>
Tue, 5 Nov 2019 07:46:03 +0000 (08:46 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Tue, 5 Nov 2019 07:46:03 +0000 (08:46 +0100)
commit80d7f5d32237ffb207f232a6f4d5a25bff681ef1
tree20b5ccf88623daa64bbcd8ed163202c8695e8733
parent2b13f5a622305877357be223d2a4a11c5ad1d499
decl.c (omp_declare_variant_finalize_one): Call declare_simd_adjust_this not just on the context...

* decl.c (omp_declare_variant_finalize_one): Call
declare_simd_adjust_this not just on the context, but also on the
variant-id expression for methods.  Don't call
cp_get_callee_fndecl_nofold, call cp_get_callee and only if it is
safe cp_get_fndecl_from_callee.  Don't try to print as %qD
NULL in diagnostics.
* pt.c (tsubst_attribute): Handle "omp declare variant base"
attribute.
(tsubst_function_decl): Call omp_declare_variant_finalize
if there are any "omp declare variant base" attributes left.

* g++.dg/gomp/declare-variant-7.C: New test.
* g++.dg/gomp/declare-variant-8.C: New test.

From-SVN: r277814
gcc/cp/ChangeLog
gcc/cp/decl.c
gcc/cp/pt.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/gomp/declare-variant-7.C [new file with mode: 0644]
gcc/testsuite/g++.dg/gomp/declare-variant-8.C [new file with mode: 0644]