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

--- Comment #7 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
For 13, we need this:

--- a/gcc/cp/parser.cc
+++ b/gcc/cp/parser.cc
@@ -13851,11 +13851,12 @@ warn_for_range_copy (tree decl, tree expr)
   else if (!CP_TYPE_CONST_P (type))
     return;

-  /* Since small trivially copyable types are cheap to copy, we suppress the
-     warning for them.  64B is a common size of a cache line.  */
+  /* Since small trivially constructible types are cheap to construct, we
+     suppress the warning for them.  64B is a common size of a cache line.  */
+  tree list = build_tree_list (NULL_TREE, TREE_TYPE (expr));
   if (TREE_CODE (TYPE_SIZE_UNIT (type)) != INTEGER_CST
       || (tree_to_uhwi (TYPE_SIZE_UNIT (type)) <= 64
-     && trivially_copyable_p (type)))
+     && is_trivially_xible (INIT_EXPR, type, list)))
     return;

   /* If we can initialize a reference directly, suggest that to avoid the

Reply via email to