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

--- Comment #5 from David Malcolm <dmalcolm at gcc dot gnu.org> ---
Author: dmalcolm
Date: Fri Feb 12 17:39:27 2016
New Revision: 233382

URL: https://gcc.gnu.org/viewcvs?rev=233382&root=gcc&view=rev
Log:
PR driver/69265 and 69453: improved suggestions for various misspelled options

gcc/ChangeLog:
        PR driver/69265
        PR driver/69453
        * gcc.c (driver::driver): Initialize m_option_suggestions.
        (driver::~driver): Clean up m_option_suggestions.
        (suggest_option): Convert to...
        (driver::suggest_option): ...this, and split out into
        driver::build_option_suggestions and find_closest_string.
        (driver::build_option_suggestions): New function, from
        first half of suggest_option.  Special-case
        OPT_fsanitize_ and OPT_fsanitize_recover_, making use of
        the sanitizer_opts array.  For options of enum types, add the
        various enum values to the candidate strings.
        (driver::handle_unrecognized_options): Remove "const".
        * gcc.h (driver::handle_unrecognized_options): Likewise.
        (driver::build_option_suggestions): New decl.
        (driver::suggest_option): New decl.
        (driver::m_option_suggestions): New field.
        * opts-common.c (add_misspelling_candidates): New function.
        * opts.c (sanitizer_opts): Remove decl of struct sanitizer_opts_s
        and make non-static.
        * opts.h (sanitizer_opts): New array decl.
        (add_misspelling_candidates): New function decl.
        * spellcheck.c (find_closest_string): New function.
        * spellcheck.h (find_closest_string): New function decl.

gcc/testsuite/ChangeLog:
        PR driver/69265
        PR driver/69453
        * gcc.dg/spellcheck-options-3.c: New test case.
        * gcc.dg/spellcheck-options-4.c: New test case.
        * gcc.dg/spellcheck-options-5.c: New test case.
        * gcc.dg/spellcheck-options-6.c: New test case.
        * gcc.dg/spellcheck-options-7.c: New test case.
        * gcc.dg/spellcheck-options-8.c: New test case.
        * gcc.dg/spellcheck-options-9.c: New test case.
        * gcc.dg/spellcheck-options-10.c: New test case.


Added:
    trunk/gcc/testsuite/gcc.dg/spellcheck-options-10.c
    trunk/gcc/testsuite/gcc.dg/spellcheck-options-3.c
    trunk/gcc/testsuite/gcc.dg/spellcheck-options-4.c
    trunk/gcc/testsuite/gcc.dg/spellcheck-options-5.c
    trunk/gcc/testsuite/gcc.dg/spellcheck-options-6.c
    trunk/gcc/testsuite/gcc.dg/spellcheck-options-7.c
    trunk/gcc/testsuite/gcc.dg/spellcheck-options-8.c
    trunk/gcc/testsuite/gcc.dg/spellcheck-options-9.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/gcc.c
    trunk/gcc/gcc.h
    trunk/gcc/opts-common.c
    trunk/gcc/opts.c
    trunk/gcc/opts.h
    trunk/gcc/spellcheck.c
    trunk/gcc/spellcheck.h
    trunk/gcc/testsuite/ChangeLog

Reply via email to