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++/78656] Fix-it suggestion for std::alocator doesn't include std::allocator


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

--- Comment #3 from David Malcolm <dmalcolm at gcc dot gnu.org> ---
Author: dmalcolm
Date: Fri Jan 20 14:36:46 2017
New Revision: 244715

URL: https://gcc.gnu.org/viewcvs?rev=244715&root=gcc&view=rev
Log:
C++: fix fix-it hints for misspellings within explicit namespaces

gcc/cp/ChangeLog:
        PR c++/77829
        PR c++/78656
        * cp-tree.h (suggest_alternatives_for): Add bool param.
        (suggest_alternative_in_explicit_scope): New decl.
        * error.c (qualified_name_lookup_error): When SCOPE is a namespace
        that isn't the global one, call new function
        suggest_alternative_in_explicit_scope, only calling
        suggest_alternatives_for if it fails, and disabling near match
        searches fort that case.  When SCOPE is the global namespace,
        pass true for new param to suggest_alternatives_for to allow for
        fuzzy name lookups.
        * lex.c (unqualified_name_lookup_error): Pass true for new param
        to suggest_alternatives_for.
        * name-lookup.c (consider_binding_level): Add forward decl.
        (suggest_alternatives_for): Add "suggest_misspellings" param,
        using it to conditionalize the fuzzy name-lookup code.
        (suggest_alternative_in_explicit_scope): New function.
        * parser.c (cp_parser_primary_expression): When calling
        finish_id_expression, pass location of id_expression rather
        than that of id_expr_token.
        (cp_parser_id_expression): Convert local "unqualified_id" from
        tree to cp_expr to avoid implicitly dropping location information.

gcc/testsuite/ChangeLog:
        PR c++/77829
        PR c++/78656
        * g++.dg/spellcheck-pr77829.C: New test case.
        * g++.dg/spellcheck-pr78656.C: New test case.


Added:
    trunk/gcc/testsuite/g++.dg/spellcheck-pr77829.C
    trunk/gcc/testsuite/g++.dg/spellcheck-pr78656.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/cp-tree.h
    trunk/gcc/cp/error.c
    trunk/gcc/cp/lex.c
    trunk/gcc/cp/name-lookup.c
    trunk/gcc/cp/parser.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]