diff options
author | Akim Demaille <akim.demaille@gmail.com> | 2021-08-07 09:30:24 +0200 |
---|---|---|
committer | Akim Demaille <akim.demaille@gmail.com> | 2021-08-07 12:53:19 +0200 |
commit | 80db1029e67e5d42fa6329489558b114fdfea880 (patch) | |
tree | 72f350019318187faa1d941c04eb79145cf996c0 /TODO | |
parent | 6118406c3eac88a06a414edf4a50b175fa339916 (diff) | |
download | bison-80db1029e67e5d42fa6329489558b114fdfea880.tar.gz |
m4: catch suspicions of unevaluated macros
Check in m4's output if there are sequences such as m4_foo or b4_foo,
which are probably resulting from incorrect m4 processing.
It actually already is useful:
- it caught a leaking b4_lac_if leaking from glr.c, where LAC is not
supported, hence b4_lac_if is not defined.
- it also caught references to location.hh in position.hh when
location.hh does not exist.
- while making "Code injection" robust to these new warnings (it is
its very purpose to let b4_canary pass unevaluated), I saw that it
did not check lalr1.d, and when adding lalr1.d, it revealed it did
underquote ocurrences of token value types.
* src/scan-skel.l (macro): New abbreviation.
Use it.
* data/skeletons/glr.c: Don't use b4_lac_if, we don't have it.
* data/skeletons/location.cc: Don't generate position.hh when we don't
generate location.hh.
* data/skeletons/d.m4 (b4_basic_symbol_constructor_define): Fix
underquotation.
* data/skeletons/bison.m4 (b4_canary): New.
* tests/input.at (Code injection): Use it, and check lalr1.d too.
Diffstat (limited to 'TODO')
-rw-r--r-- | TODO | 4 |
1 files changed, 0 insertions, 4 deletions
@@ -108,10 +108,6 @@ enough. *** calc.at Stop hard-coding "Calc". Adjust local.at (look for FIXME). -** A dev warning for b4_ -Maybe we should check for m4_ and b4_ leaking out of the m4 processing, as -Autoconf does. It would have caught over-quotation issues. - ** doc I feel it's ugly to use the GNU style to declare functions in the doc. It generates tons of white space in the page, and may contribute to bad page |