PR c++/80178 - parameter passing for uncopyable classes
authorJason Merrill <jason@redhat.com>
Mon, 8 May 2017 19:08:07 +0000 (15:08 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Mon, 8 May 2017 19:08:07 +0000 (15:08 -0400)
commitf3ec182d6ca9829004b3b78fca373b8659bf7c01
treed0f58768cb3ec5c1371ac6b542dc445f97d43863
parent49f0c04c37b2f73dd88ccf5d8fc93c1dcb6ef2c2
PR c++/80178 - parameter passing for uncopyable classes

* tree.c (type_has_nontrivial_copy_init): True for classes with only
deleted copy/move ctors.
(remember_deleted_copy, maybe_warn_parm_abi): New.
* decl.c (require_complete_types_for_parms, check_function_type):
Call maybe_warn_parm_abi.
* call.c (convert_for_arg_passing, build_cxx_call): Likewise.

From-SVN: r247757
gcc/common.opt
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/tree.c
gcc/testsuite/g++.dg/abi/invisiref1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/abi/invisiref1a.C [new file with mode: 0644]