diff options
author | David Malcolm <dmalcolm@redhat.com> | 2017-05-16 19:52:26 +0000 |
---|---|---|
committer | David Malcolm <dmalcolm@gcc.gnu.org> | 2017-05-16 19:52:26 +0000 |
commit | 10791753c191d1f9d886e8977ff331b28d48398d (patch) | |
tree | 7300ba80786b3a4015ecd026d0743b85a9c3b7cd /gcc/fortran/decl.c | |
parent | 727577c2300f8a1c4cf757e784267e11034f6b4a (diff) | |
download | gcc-10791753c191d1f9d886e8977ff331b28d48398d.zip gcc-10791753c191d1f9d886e8977ff331b28d48398d.tar.gz gcc-10791753c191d1f9d886e8977ff331b28d48398d.tar.bz2 |
C++: fix-it hints suggesting accessors for private fields
gcc/cp/ChangeLog:
* call.c (enforce_access): Add access_failure_info * param and use
it to record access failures.
* cp-tree.h (class access_failure_info): New class.
(enforce_access): Add access_failure_info * param, defaulting to
NULL.
(lookup_member): Likewise.
(locate_field_accessor): New function decl.
(perform_or_defer_access_check): Add access_failure_info * param,
defaulting to NULL.
* search.c (lookup_member): Add access_failure_info * param and
pass it on to call to perform_or_defer_access_check.
(matches_code_and_type_p): New function.
(field_access_p): New function.
(direct_accessor_p): New function.
(reference_accessor_p): New function.
(field_accessor_p): New function.
(struct locate_field_data): New struct.
(dfs_locate_field_accessor_pre): New function.
(locate_field_accessor): New function.
* semantics.c (perform_or_defer_access_check): Add
access_failure_info * param, and pass it on to call to
enforce_access.
* typeck.c (access_failure_info::record_access_failure): New method.
(access_failure_info::maybe_suggest_accessor): New method.
(finish_class_member_access_expr): Pass an access_failure_info
instance to the lookup_member call, and call its
maybe_suggest_accessor method afterwards.
gcc/testsuite/ChangeLog:
* g++.dg/other/accessor-fixits-1.C: New test case.
* g++.dg/other/accessor-fixits-2.C: New test case.
* g++.dg/other/accessor-fixits-3.C: New test case.
* g++.dg/other/accessor-fixits-4.C: New test case.
From-SVN: r248128
Diffstat (limited to 'gcc/fortran/decl.c')
0 files changed, 0 insertions, 0 deletions