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
lib/.gitignore vendored
View File

@@ -53,6 +53,7 @@
/config.h
/config.in.h
/configmake.h
/diffseq.h
/dirname-lgpl.c
/dirname.c
/dirname.h
@@ -91,6 +92,8 @@
/fseterr.c
/fseterr.h
/fstat.c
/fstrcmp.c
/fstrcmp.h
/fsync.c
/getdtablesize.c
/gethrxtime.c
@@ -324,6 +327,8 @@
/windows-recmutex.h
/windows-rwlock.c
/windows-rwlock.h
/windows-tls.c
/windows-tls.h
/xalloc-die.c
/xalloc-oversized.h
/xalloc.h

View File

@@ -1,3 +1,5 @@
/lock.c
/lock.h
/threadlib.c
/tls.c
/tls.h