https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118486
--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> --- For the first case, omp_declare_variant_finalize_one's 8550 variant = finish_call_expr (variant, &args, /*disallow_virtual=*/false, has (gdb) p debug(variant) TARGET_EXPR <D.3010, expl ()> But after 8555 variant = cp_get_callee_fndecl_nofold (STRIP_REFERENCE_REF (variant)); variant == NULL. The TARGET_EXPR is added via finish_call_expr → build_new_function_call → build_over_call in build_cxx_call: 11291 fn = build_cplus_new (TREE_TYPE (fn), fn, complain); via tree.cc's 746 rval = build_target_expr (slot, rval, complain);