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/70339] Poor message for "singed" vs "signed" typo


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

--- Comment #5 from David Malcolm <dmalcolm at gcc dot gnu.org> ---
Author: dmalcolm
Date: Wed Jul 20 18:42:11 2016
New Revision: 238538

URL: https://gcc.gnu.org/viewcvs?rev=238538&root=gcc&view=rev
Log:
C++ FE: handle misspelled identifiers and typenames

gcc/cp/ChangeLog:
        PR c/70339
        PR c/71858
        * name-lookup.c: Include gcc-rich-location.h, spellcheck-tree.h,
        and parser.h.
        (suggest_alternatives_for): If no candidates are found, try
        lookup_name_fuzzy and report if if finds a suggestion.
        (consider_binding_level): New function.
        (lookup_name_fuzzy) New function.
        * parser.c: Include gcc-rich-location.h.
        (cp_lexer_next_token_is_decl_specifier_keyword): Move most of
        logic into...
        (cp_keyword_starts_decl_specifier_p): ...this new function.
        (cp_parser_diagnose_invalid_type_name): When issuing
        "does not name a type" errors, attempt to make a suggestion using
        lookup_name_fuzzy.
        * parser.h (cp_keyword_starts_decl_specifier_p): New prototype.
        * search.c (lookup_field_fuzzy_info::fuzzy_lookup_field): Reject
        types that are not CLASS_TYPE_P, rather than rejecting individual
        tree codes.

gcc/testsuite/ChangeLog:
        PR c/70339
        PR c/71858
        * g++.dg/spellcheck-identifiers.C: New test case, based on
        gcc.dg/spellcheck-identifiers.c.
        * g++.dg/spellcheck-identifiers-2.C: New test case, based on
        gcc.dg/spellcheck-identifiers-2.c.
        * g++.dg/spellcheck-typenames.C: New test case, based on
        gcc.dg/spellcheck-typenames.c


Added:
    trunk/gcc/testsuite/g++.dg/spellcheck-identifiers-2.C
    trunk/gcc/testsuite/g++.dg/spellcheck-identifiers.C
    trunk/gcc/testsuite/g++.dg/spellcheck-typenames.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/name-lookup.c
    trunk/gcc/cp/parser.c
    trunk/gcc/cp/parser.h
    trunk/gcc/cp/search.c
    trunk/gcc/testsuite/ChangeLog

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