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++/81359] [7/8 Regression] bogus error: constructor required before non-static data member for ‘Foo::Bar::test’ has been parsed


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

--- Comment #3 from Jason Merrill <jason at gcc dot gnu.org> ---
Author: jason
Date: Wed Aug  9 18:32:02 2017
New Revision: 250994

URL: https://gcc.gnu.org/viewcvs?rev=250994&root=gcc&view=rev
Log:
        PR c++/81359 - Unparsed NSDMI error from SFINAE context.

        * init.c (get_nsdmi): Add complain parm.
        * typeck2.c (digest_nsdmi_init): Add complain parm.
        (process_init_constructor_record): Pass complain to get_nsdmi.
        * pt.c (maybe_instantiate_noexcept): Add complain parm, return bool.
        * method.c (get_defaulted_eh_spec): Add complain parm.  Pass it into
        synthesized_method_walk.
        (synthesized_method_walk): Adjust.
        (walk_field_subobs): Pass complain to get_nsdmi.
        (defaulted_late_check): Skip other checks if deleted.
        * decl2.c (mark_used): Pass complain to maybe_instantiate_noexcept.
        * call.c (build_aggr_conv): Pass complain to get_nsdmi.
        * parser.c (defarg_location): New.
        * error.c (location_of): Use it.

Added:
    trunk/gcc/testsuite/g++.dg/cpp0x/sfinae59.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/call.c
    trunk/gcc/cp/class.c
    trunk/gcc/cp/cp-tree.h
    trunk/gcc/cp/decl2.c
    trunk/gcc/cp/error.c
    trunk/gcc/cp/init.c
    trunk/gcc/cp/method.c
    trunk/gcc/cp/parser.c
    trunk/gcc/cp/pt.c
    trunk/gcc/cp/typeck2.c
    trunk/gcc/testsuite/g++.dg/cpp0x/nsdmi-defer6.C
    trunk/gcc/testsuite/g++.dg/cpp0x/nsdmi-template14.C
    trunk/gcc/testsuite/g++.dg/cpp0x/nsdmi10.C

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