https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118791

--- Comment #13 from Jason Merrill <jason at gcc dot gnu.org> ---
(In reply to Tobias Burnus from comment #11)
> clang++ (since 11.0 and up to main) accepts the attached testcase

clang++ also accepts the testcase with static_assert(false) added to the
variants, it doesn't seem to be instantiating them.

(In reply to Jakub Jelinek from comment #12)
> My understanding is that the intent is for the variant function to have
> (except for the simd special case which according to the ABI can tweak
> stuff) always the same argument types as the base function

Yes, both functions have type void(int&&), and omp_declare_variant_finalize_one
checks that.  The difference is in the template argument (explicitly specified
or deduced), not the function type.

Reply via email to