This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/80178] Class with deleted copy and move constructors uses wrong argument passing ABI


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

--- Comment #4 from Jason Merrill <jason at gcc dot gnu.org> ---
Author: jason
Date: Mon May  8 19:08:07 2017
New Revision: 247757

URL: https://gcc.gnu.org/viewcvs?rev=247757&root=gcc&view=rev
Log:
        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.

Added:
    trunk/gcc/testsuite/g++.dg/abi/invisiref1.C
    trunk/gcc/testsuite/g++.dg/abi/invisiref1a.C
Modified:
    trunk/gcc/common.opt
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/call.c
    trunk/gcc/cp/cp-tree.h
    trunk/gcc/cp/decl.c
    trunk/gcc/cp/tree.c

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]