diagnostics: suggest fixes for undeclared symbols

From

    input.y:1.17-19: warning: symbol baz is used, but is not defined as a token and has no rules [-Wother]
         1 | %printer {} foo baz
           |                 ^~~

to

    input.y:1.17-19: warning: symbol 'baz' is used, but is not defined as a token and has no rules; did you mean 'bar'? [-Wother]
        1 | %printer {} foo baz
          |                 ^~~
          |                 bar

* bootstrap.conf: We need fstrcmp.
* src/symtab.c (symbol_from_uniqstr_fuzzy): New.
(complain_symbol_undeclared): Use it.
* tests/diagnostics.at (Suggestions): New.
* data/bison-default.css (insertion): Rename as...
(fixit-insert): this, as this is what GCC uses.
This commit is contained in:
Akim Demaille
2019-09-27 18:28:19 +02:00
parent 126c4622de
commit be3cf406af
8 changed files with 95 additions and 17 deletions

5
m4/.gitignore vendored
View File

@@ -71,6 +71,8 @@
/iswblank.m4
/javacomp.m4
/javaexec.m4
/jm-winsz1.m4
/jm-winsz2.m4
/largefile.m4
/lcmessage.m4
/ldexp.m4
@@ -179,6 +181,7 @@
/threadlib.m4
/time_h.m4
/timespec.m4
/tls.m4
/uintmax_t.m4
/unistd-safer.m4
/unistd_h.m4
@@ -202,5 +205,3 @@
/xalloc.m4
/xsize.m4
/xstrndup.m4
/jm-winsz1.m4
/jm-winsz2.m4