https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58407
--- Comment #15 from Jason Merrill <jason at gcc dot gnu.org> --- Author: jason Date: Fri May 18 20:02:48 2018 New Revision: 260381 URL: https://gcc.gnu.org/viewcvs?rev=260381&root=gcc&view=rev Log: PR c++/58407 - deprecated implicit copy ops. gcc/c-family/ * c.opt (Wdeprecated-copy): New flag. gcc/cp/ * call.c (build_over_call): Warn about deprecated trivial fns. * class.c (classtype_has_user_copy_or_dtor): New. (type_build_ctor_call): Check TREE_DEPRECATED. (type_build_dtor_call): Likewise. * decl2.c (cp_warn_deprecated_use): Move from tree.c. Add checks. Return bool. Handle -Wdeprecated-copy. (mark_used): Use it. * decl.c (grokdeclarator): Remove redundant checks. * typeck2.c (build_functional_cast): Likewise. * method.c (lazily_declare_fn): Mark deprecated copy ops. * init.c (build_aggr_init): Only set TREE_USED if there are side-effects. libitm/ * beginend.cc (save): Disable -Werror=deprecated-copy. Added: trunk/gcc/testsuite/g++.dg/cpp0x/depr-copy1.C Modified: trunk/gcc/c-family/ChangeLog trunk/gcc/c-family/c.opt trunk/gcc/cp/ChangeLog trunk/gcc/cp/call.c trunk/gcc/cp/class.c trunk/gcc/cp/cp-tree.h trunk/gcc/cp/decl.c trunk/gcc/cp/decl2.c trunk/gcc/cp/init.c trunk/gcc/cp/method.c trunk/gcc/cp/tree.c trunk/gcc/cp/typeck2.c trunk/gcc/doc/invoke.texi trunk/gcc/testsuite/g++.old-deja/g++.other/warn6.C trunk/libitm/ChangeLog trunk/libitm/beginend.cc