https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118791
--- Comment #14 from Jason Merrill <jason at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #7) > "The function variant is determined by base language standard name lookup > rules ([basic.lookup]) of variant-name using the argument types at the call > site after implementation defined changes have been made according to the > OpenMP context." This is interestingly different from the 5.0 spec, which said "The function variant is determined by base language standard name lookup rules ([basic.lookup]) of variant-func-id with arguments that correspond to the argument types in the base function declaration." 5.0 specifies a lookup like GCC does, based on the parameters of the base function, while 6.0 specifies a lookup based on the actual arguments in the call. That still doesn't specify trying to copy explicit template arguments from base to variant, but that could be a plausible next step. Doing that would require rejecting expl2 in in PR118488, since it isn't a template.