diff options
author | David Malcolm <dmalcolm@redhat.com> | 2015-11-20 01:26:00 +0000 |
---|---|---|
committer | David Malcolm <dmalcolm@gcc.gnu.org> | 2015-11-20 01:26:00 +0000 |
commit | 8ece8dfbd9cf38e10e0266ed22ead5bb389d8125 (patch) | |
tree | 3572616c35cc69549b3ff9761e6d1af8fb70780b /gcc/cp/cp-tree.h | |
parent | 32c912aad1f29233f15da6baf33c765e3b6213fd (diff) | |
download | gcc-8ece8dfbd9cf38e10e0266ed22ead5bb389d8125.zip gcc-8ece8dfbd9cf38e10e0266ed22ead5bb389d8125.tar.gz gcc-8ece8dfbd9cf38e10e0266ed22ead5bb389d8125.tar.bz2 |
C++ FE: offer suggestions for misspelled field names
gcc/c/ChangeLog:
* c-typeck.c (lookup_field_fuzzy): Move determination of closest
candidate into a new function, find_closest_identifier.
gcc/cp/ChangeLog:
* cp-tree.h (lookup_member_fuzzy): New decl.
* search.c: Include spellcheck.h.
(class lookup_field_fuzzy_info): New class.
(lookup_field_fuzzy_info::fuzzy_lookup_fnfields): New.
(lookup_field_fuzzy_info::fuzzy_lookup_field): New.
(lookup_field_fuzzy_r): New.
(lookup_member_fuzzy): New.
* typeck.c (finish_class_member_access_expr): When issuing
a "has no member named" error, call lookup_member_fuzzy, and
offer any result as a suggestion.
gcc/ChangeLog:
* spellcheck-tree.c (find_closest_identifier): New function, taken
from c/c-typeck.c:lookup_field_fuzzy, with NULL corrected to
NULL_TREE in two places.
* spellcheck.h (find_closest_identifier): New decl.
gcc/testsuite/ChangeLog:
* g++.dg/spellcheck-fields.C: New file.
From-SVN: r230638
Diffstat (limited to 'gcc/cp/cp-tree.h')
-rw-r--r-- | gcc/cp/cp-tree.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index 14ea119..38bd7dd 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -6152,6 +6152,7 @@ extern int class_method_index_for_fn (tree, tree); extern tree lookup_fnfields (tree, tree, int); extern tree lookup_member (tree, tree, int, bool, tsubst_flags_t); +extern tree lookup_member_fuzzy (tree, tree, bool); extern int look_for_overrides (tree, tree); extern void get_pure_virtuals (tree); extern void maybe_suppress_debug_info (tree); |