spellcheck.h: add best_match template; implement early-reject
commitf0d779916ef59623c945eea2cc5772f65e6c203b
authordmalcolm <dmalcolm@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 15 Jun 2016 03:29:39 +0000 (15 03:29 +0000)
committerdmalcolm <dmalcolm@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 15 Jun 2016 03:29:39 +0000 (15 03:29 +0000)
treee99b8b2be80b721ed128799b811f4eccae4a9f64
parentd91397630b15bed9eb83689b737a3f946c4d1719
spellcheck.h: add best_match template; implement early-reject

gcc/c/ChangeLog:
* c-typeck.c: Include spellcheck-tree.h rather than spellcheck.h.

gcc/cp/ChangeLog:
* search.c: Include spellcheck-tree.h rather than spellcheck.h.

gcc/ChangeLog:
* spellcheck-tree.c: Include spellcheck-tree.h rather than
spellcheck.h.
(find_closest_identifier): Reimplement in terms of
best_match<tree,tree>.
* spellcheck-tree.h: New file.
* spellcheck.c (struct edit_distance_traits<const char *>): New
struct.
(find_closest_string): Reimplement in terms of
best_match<const char *, const char *>.
* spellcheck.h (levenshtein_distance): Move prototype of tree-based
overload to spellcheck-tree.h.
(find_closest_identifier): Likewise.
(struct edit_distance_traits<T>): New template.
(class best_match): New class.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237471 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/c/ChangeLog
gcc/c/c-typeck.c
gcc/cp/ChangeLog
gcc/cp/search.c
gcc/spellcheck-tree.c
gcc/spellcheck-tree.h [copied from gcc/spellcheck.h with 61% similarity]
gcc/spellcheck.c
gcc/spellcheck.h