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

--- Comment #3 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
This hunk broke it:

@@ -3251,6 +3251,12 @@ add_template_candidate_real (struct z_candidate
**candidates, tree tmpl,
       goto fail;
     }

+  /* Now the explicit specifier might have been deduced; check if this
+     declaration is explicit.  If it is and we're ignoring non-converting
+     constructors, don't add this function to the set of candidates.  */
+  if ((flags & LOOKUP_ONLYCONVERTING) && DECL_NONCONVERTING_P (fn))
+    return NULL;


It doesn't check for BRACE_ENCLOSED_INITIALIZER_P (or some similar flag meaning
we're initializing from an initializer_list) and that's the bug.

Reply via email to