[Bug c++/84994] Missing accessor hint for private field at -O1 and above when -g is enabled

dmalcolm at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Mar 21 18:22:00 GMT 2018


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

--- Comment #4 from David Malcolm <dmalcolm at gcc dot gnu.org> ---
Author: dmalcolm
Date: Wed Mar 21 18:21:39 2018
New Revision: 258731

URL: https://gcc.gnu.org/viewcvs?rev=258731&root=gcc&view=rev
Log:
C++: show private field accessor hints with -g and optimization (PR c++/84994)

gcc/cp/ChangeLog:
        PR c++/84994
        * constexpr.c (constexpr_fn_retval): Make non-"static".
        * cp-tree.h (constexpr_fn_retval): New decl.
        * search.c (direct_accessor_p): Update leading comment.
        (reference_accessor_p): Likewise.
        (field_accessor_p): Replace check that function body is a
        RETURN_EXPR with a call to constexpr_fn_retval.  Fix
        indentation of "field_type" decl.

gcc/testsuite/ChangeLog:
        PR c++/84994
        * g++.dg/other/accessor-fixits-1.C: Move to...
        * g++.dg/torture/accessor-fixits-1.C: ...here.
        * g++.dg/other/accessor-fixits-2.C: Move to...
        * g++.dg/torture/accessor-fixits-2.C: ...here.
        * g++.dg/other/accessor-fixits-3.C: Move to...
        * g++.dg/torture/accessor-fixits-3.C: ...here.
        * g++.dg/other/accessor-fixits-4.C: Move to...
        * g++.dg/torture/accessor-fixits-4.C: ...here.
        * g++.dg/other/accessor-fixits-5.C: Move to...
        * g++.dg/torture/accessor-fixits-5.C: ...here.
        * g++.dg/torture/accessor-fixits-6.C: New testcase.
        * g++.dg/torture/accessor-fixits-7.C: New testcase.
        * g++.dg/torture/accessor-fixits-8.C: New testcase.


Added:
    trunk/gcc/testsuite/g++.dg/torture/accessor-fixits-1.C
    trunk/gcc/testsuite/g++.dg/torture/accessor-fixits-2.C
    trunk/gcc/testsuite/g++.dg/torture/accessor-fixits-3.C
    trunk/gcc/testsuite/g++.dg/torture/accessor-fixits-4.C
    trunk/gcc/testsuite/g++.dg/torture/accessor-fixits-5.C
    trunk/gcc/testsuite/g++.dg/torture/accessor-fixits-6.C
    trunk/gcc/testsuite/g++.dg/torture/accessor-fixits-7.C
    trunk/gcc/testsuite/g++.dg/torture/accessor-fixits-8.C
Removed:
    trunk/gcc/testsuite/g++.dg/other/accessor-fixits-1.C
    trunk/gcc/testsuite/g++.dg/other/accessor-fixits-2.C
    trunk/gcc/testsuite/g++.dg/other/accessor-fixits-3.C
    trunk/gcc/testsuite/g++.dg/other/accessor-fixits-4.C
    trunk/gcc/testsuite/g++.dg/other/accessor-fixits-5.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/constexpr.c
    trunk/gcc/cp/cp-tree.h
    trunk/gcc/cp/search.c
    trunk/gcc/testsuite/ChangeLog


More information about the Gcc-bugs mailing list