Bug 244149 - yacc(1): Consider building with the equivalent of --enable-btyacc
Summary: yacc(1): Consider building with the equivalent of --enable-btyacc
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: bin (show other bugs)
Version: CURRENT
Hardware: Any Any
: --- Affects Only Me
Assignee: Dag-Erling Smørgrav
URL: https://reviews.freebsd.org/D24948
Keywords: patch
Depends on:
Blocks:
 
Reported: 2020-02-15 23:32 UTC by Conrad Meyer
Modified: 2023-03-07 17:21 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Conrad Meyer freebsd_committer freebsd_triage 2020-02-15 23:32:22 UTC
yacc "%locations" is a btyacc feature which can be enabled, when btyacc is compiled in, with the '-L' option.

However, support is not compiled in:

  $ /usr/bin/yacc -L
  /usr/bin/yacc: w - -L flag unsupported, reconfigure with --enable-btyacc
Comment 1 Conrad Meyer freebsd_committer freebsd_triage 2020-05-21 23:29:18 UTC
https://reviews.freebsd.org/D24948
Comment 2 commit-hook freebsd_committer freebsd_triage 2023-02-20 22:38:33 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=8e022d3cdea10ee1039a632f670c27fd93f65625

commit 8e022d3cdea10ee1039a632f670c27fd93f65625
Merge: b16a37eda8b1 cba5e8978cf6
Author:     Dag-Erling Smørgrav <des@FreeBSD.org>
AuthorDate: 2023-02-20 22:35:32 +0000
Commit:     Dag-Erling Smørgrav <des@FreeBSD.org>
CommitDate: 2023-02-20 22:35:32 +0000

    byacc: Update to 20230201.

    Note that this enables the backtracking extension, which we had previously left disabled.

    PR:             244149, 269425
    Sponsored by:   Klara, Inc.
    Differential Revision:  https://reviews.freebsd.org/D38421

 contrib/byacc/CHANGES                              | 2950 +++++++++++++++-
 contrib/byacc/MANIFEST                             |  102 +-
 contrib/byacc/VERSION                              |    2 +-
 contrib/byacc/aclocal.m4                           |  493 ++-
 contrib/byacc/btyaccpar.c                          |    4 +-
 contrib/byacc/btyaccpar.skel                       |    4 +-
 contrib/byacc/closure.c                            |   36 +-
 contrib/byacc/config.guess                         | 1203 ++++---
 contrib/byacc/config.sub                           |  655 ++--
 contrib/byacc/config_h.in                          |    6 +
 contrib/byacc/configure                            | 3730 ++++++++++++--------
 contrib/byacc/configure.in                         |   24 +-
 contrib/byacc/defs.h                               |  136 +-
 contrib/byacc/graph.c                              |   12 +-
 contrib/byacc/install-sh                           |  671 ++--
 contrib/byacc/lalr.c                               |   41 +-
 contrib/byacc/lr0.c                                |   36 +-
 contrib/byacc/main.c                               |  153 +-
 contrib/byacc/makefile.in                          |   12 +-
 contrib/byacc/mkpar.c                              |   30 +-
 contrib/byacc/output.c                             |  101 +-
 contrib/byacc/package/byacc.spec                   |   74 +-
 contrib/byacc/package/debian/changelog             |  103 +
 contrib/byacc/package/debian/compat (gone)         |    1 -
 contrib/byacc/package/debian/control               |   29 +-
 contrib/byacc/package/debian/copyright             |  115 +-
 contrib/byacc/package/debian/docs (gone)           |    4 -
 contrib/byacc/package/debian/postinst (gone)       |   15 -
 contrib/byacc/package/debian/prerm (gone)          |   12 -
 contrib/byacc/package/debian/rules                 |  148 +-
 contrib/byacc/package/debian/watch                 |   22 +-
 contrib/byacc/package/mingw-byacc.spec             |   45 +-
 contrib/byacc/package/pkgsrc/Makefile              |   14 +-
 contrib/byacc/reader.c                             |  211 +-
 contrib/byacc/test/btyacc/big_b.error              |   11 +
 contrib/byacc/test/btyacc/big_l.error              |   11 +
 contrib/byacc/test/btyacc/btyacc_calc1.tab.c       |   36 +-
 contrib/byacc/test/btyacc/btyacc_calc1.tab.h       |    2 +-
 contrib/byacc/test/btyacc/btyacc_demo.tab.c        |  176 +-
 contrib/byacc/test/btyacc/btyacc_demo.tab.h        |    2 +-
 contrib/byacc/test/btyacc/btyacc_destroy1.tab.c    |   21 +-
 contrib/byacc/test/btyacc/btyacc_destroy1.tab.h    |    2 +-
 contrib/byacc/test/btyacc/btyacc_destroy2.tab.c    |   21 +-
 contrib/byacc/test/btyacc/btyacc_destroy2.tab.h    |    2 +-
 contrib/byacc/test/btyacc/btyacc_destroy3.tab.c    |   21 +-
 contrib/byacc/test/btyacc/btyacc_destroy3.tab.h    |    2 +-
 contrib/byacc/test/btyacc/calc.tab.c               |   23 +-
 contrib/byacc/test/btyacc/calc1.tab.c              |   35 +-
 contrib/byacc/test/btyacc/calc1.tab.h              |    2 +-
 contrib/byacc/test/btyacc/calc2.tab.c              |   23 +-
 contrib/byacc/test/btyacc/calc3.tab.c              |   23 +-
 contrib/byacc/test/btyacc/calc_code_all.tab.c      |   23 +-
 contrib/byacc/test/btyacc/calc_code_default.tab.c  |   23 +-
 contrib/byacc/test/btyacc/calc_code_imports.tab.c  |   23 +-
 contrib/byacc/test/btyacc/calc_code_provides.tab.c |   23 +-
 contrib/byacc/test/btyacc/calc_code_requires.tab.c |   23 +-
 contrib/byacc/test/btyacc/calc_code_top.tab.c      |   23 +-
 contrib/byacc/test/btyacc/code_calc.code.c         |   23 +-
 contrib/byacc/test/btyacc/code_error.code.c        |    6 +-
 contrib/byacc/test/btyacc/defines1.calc.c          |   23 +-
 contrib/byacc/test/btyacc/defines2.calc.c          |   23 +-
 contrib/byacc/test/btyacc/defines3.calc.c          |   23 +-
 contrib/byacc/test/btyacc/empty.tab.c              |    6 +-
 contrib/byacc/test/btyacc/err_inherit1.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_inherit2.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_inherit3.tab.c       |   29 +-
 contrib/byacc/test/btyacc/err_inherit3.tab.h       |    2 +-
 contrib/byacc/test/btyacc/err_inherit4.tab.c       |   27 +-
 contrib/byacc/test/btyacc/err_inherit4.tab.h       |    2 +-
 contrib/byacc/test/btyacc/err_inherit5.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax1.tab.c        |    4 +-
 contrib/byacc/test/btyacc/err_syntax10.tab.c       |    6 +-
 contrib/byacc/test/btyacc/err_syntax11.tab.c       |    6 +-
 contrib/byacc/test/btyacc/err_syntax12.tab.c       |    6 +-
 contrib/byacc/test/btyacc/err_syntax13.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax14.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax15.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax16.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax17.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax18.tab.c       |    9 +-
 contrib/byacc/test/btyacc/err_syntax19.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax2.tab.c        |    4 +-
 contrib/byacc/test/btyacc/err_syntax20.tab.c       |    9 +-
 contrib/byacc/test/btyacc/err_syntax21.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax22.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax23.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax24.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax25.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax26.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax27.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax3.tab.c        |    4 +-
 contrib/byacc/test/btyacc/err_syntax4.tab.c        |    4 +-
 contrib/byacc/test/btyacc/err_syntax5.tab.c        |    4 +-
 contrib/byacc/test/btyacc/err_syntax6.tab.c        |    4 +-
 contrib/byacc/test/btyacc/err_syntax7.tab.c        |    4 +-
 contrib/byacc/test/btyacc/err_syntax7a.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax7b.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax8.tab.c        |    4 +-
 contrib/byacc/test/btyacc/err_syntax8a.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax9.tab.c        |    4 +-
 contrib/byacc/test/btyacc/error.tab.c              |    6 +-
 contrib/byacc/test/btyacc/expr.oxout.tab.c         |  114 +-
 contrib/byacc/test/btyacc/expr.oxout.tab.h         |   10 +-
 contrib/byacc/test/btyacc/grammar.tab.c            |   90 +-
 contrib/byacc/test/btyacc/help.error               |   11 +
 contrib/byacc/test/btyacc/inherit0.tab.c           |   19 +-
 contrib/byacc/test/btyacc/inherit1.tab.c           |   21 +-
 contrib/byacc/test/btyacc/inherit1.tab.h           |    2 +-
 contrib/byacc/test/btyacc/inherit2.tab.c           |   28 +-
 contrib/byacc/test/btyacc/inherit2.tab.h           |    2 +-
 contrib/byacc/test/btyacc/no_b_opt.error           |   11 +
 contrib/byacc/test/btyacc/no_output2.error         |   11 +
 contrib/byacc/test/btyacc/no_p_opt.error           |   11 +
 contrib/byacc/test/btyacc/nostdin.error            |   11 +
 contrib/byacc/test/btyacc/ok_syntax1.tab.c         |   25 +-
 contrib/byacc/test/btyacc/ok_syntax1.tab.h         |    2 +-
 contrib/byacc/test/btyacc/pure_calc.tab.c          |   23 +-
 contrib/byacc/test/btyacc/pure_error.tab.c         |    6 +-
 contrib/byacc/test/btyacc/quote_calc-s.tab.c       |   23 +-
 contrib/byacc/test/btyacc/quote_calc.tab.c         |   23 +-
 contrib/byacc/test/btyacc/quote_calc2-s.tab.c      |   23 +-
 contrib/byacc/test/btyacc/quote_calc2.tab.c        |   23 +-
 contrib/byacc/test/btyacc/quote_calc3-s.tab.c      |   23 +-
 contrib/byacc/test/btyacc/quote_calc3.tab.c        |   23 +-
 contrib/byacc/test/btyacc/quote_calc4-s.tab.c      |   23 +-
 contrib/byacc/test/btyacc/quote_calc4.tab.c        |   23 +-
 contrib/byacc/test/btyacc/rename_debug.c           |    6 +-
 contrib/byacc/test/btyacc/stdin1.calc.c            |   23 +-
 contrib/byacc/test/btyacc/stdin2.calc.c            |   23 +-
 contrib/byacc/test/btyacc/varsyntax_calc1.tab.c    |   35 +-
 contrib/byacc/test/btyacc/varsyntax_calc1.tab.h    |    2 +-
 contrib/byacc/test/expr.oxout.y                    |   18 +-
 contrib/byacc/test/run_lint.sh                     |   11 +-
 contrib/byacc/test/run_make.sh                     |   39 +-
 contrib/byacc/test/run_test.sh                     |   69 +-
 contrib/byacc/test/yacc/big_b.error                |   11 +
 contrib/byacc/test/yacc/big_l.error                |   11 +
 contrib/byacc/test/yacc/calc.tab.c                 |   25 +-
 contrib/byacc/test/yacc/calc1.tab.c                |   37 +-
 contrib/byacc/test/yacc/calc1.tab.h                |    2 +-
 contrib/byacc/test/yacc/calc2.tab.c                |   25 +-
 contrib/byacc/test/yacc/calc3.tab.c                |   25 +-
 contrib/byacc/test/yacc/calc_code_all.tab.c        |   25 +-
 contrib/byacc/test/yacc/calc_code_default.tab.c    |   25 +-
 contrib/byacc/test/yacc/calc_code_imports.tab.c    |   25 +-
 contrib/byacc/test/yacc/calc_code_provides.tab.c   |   25 +-
 contrib/byacc/test/yacc/calc_code_requires.tab.c   |   25 +-
 contrib/byacc/test/yacc/calc_code_top.tab.c        |   25 +-
 contrib/byacc/test/yacc/code_calc.code.c           |   25 +-
 contrib/byacc/test/yacc/code_error.code.c          |    8 +-
 contrib/byacc/test/yacc/defines1.calc.c            |   25 +-
 contrib/byacc/test/yacc/defines2.calc.c            |   25 +-
 contrib/byacc/test/yacc/defines3.calc.c            |   25 +-
 contrib/byacc/test/yacc/empty.tab.c                |    8 +-
 contrib/byacc/test/yacc/err_syntax1.tab.c          |    4 +-
 contrib/byacc/test/yacc/err_syntax10.tab.c         |    8 +-
 contrib/byacc/test/yacc/err_syntax11.tab.c         |    8 +-
 contrib/byacc/test/yacc/err_syntax12.tab.c         |    8 +-
 contrib/byacc/test/yacc/err_syntax13.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax14.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax15.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax16.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax17.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax18.tab.c         |   11 +-
 contrib/byacc/test/yacc/err_syntax19.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax2.tab.c          |    4 +-
 contrib/byacc/test/yacc/err_syntax20.tab.c         |   11 +-
 contrib/byacc/test/yacc/err_syntax21.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax22.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax23.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax24.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax25.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax26.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax27.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax3.tab.c          |    4 +-
 contrib/byacc/test/yacc/err_syntax4.tab.c          |    4 +-
 contrib/byacc/test/yacc/err_syntax5.tab.c          |    4 +-
 contrib/byacc/test/yacc/err_syntax6.tab.c          |    4 +-
 contrib/byacc/test/yacc/err_syntax7.tab.c          |    4 +-
 contrib/byacc/test/yacc/err_syntax7a.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax7b.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax8.tab.c          |    4 +-
 contrib/byacc/test/yacc/err_syntax8a.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax9.tab.c          |    4 +-
 contrib/byacc/test/yacc/error.tab.c                |    8 +-
 contrib/byacc/test/yacc/expr.oxout.tab.c           |  104 +-
 contrib/byacc/test/yacc/expr.oxout.tab.h           |    4 +-
 contrib/byacc/test/yacc/grammar.tab.c              |   92 +-
 contrib/byacc/test/yacc/help.error                 |   11 +
 contrib/byacc/test/yacc/no_b_opt.error             |   11 +
 contrib/byacc/test/yacc/no_output2.error           |   11 +
 contrib/byacc/test/yacc/no_p_opt.error             |   11 +
 contrib/byacc/test/yacc/nostdin.error              |   11 +
 contrib/byacc/test/yacc/ok_syntax1.tab.c           |   27 +-
 contrib/byacc/test/yacc/ok_syntax1.tab.h           |    2 +-
 contrib/byacc/test/yacc/pure_calc.tab.c            |   25 +-
 contrib/byacc/test/yacc/pure_error.tab.c           |    8 +-
 contrib/byacc/test/yacc/quote_calc-s.tab.c         |   25 +-
 contrib/byacc/test/yacc/quote_calc.tab.c           |   25 +-
 contrib/byacc/test/yacc/quote_calc2-s.tab.c        |   25 +-
 contrib/byacc/test/yacc/quote_calc2.tab.c          |   25 +-
 contrib/byacc/test/yacc/quote_calc3-s.tab.c        |   25 +-
 contrib/byacc/test/yacc/quote_calc3.tab.c          |   25 +-
 contrib/byacc/test/yacc/quote_calc4-s.tab.c        |   25 +-
 contrib/byacc/test/yacc/quote_calc4.tab.c          |   25 +-
 contrib/byacc/test/yacc/rename_debug.c             |    8 +-
 contrib/byacc/test/yacc/stdin1.calc.c              |   25 +-
 contrib/byacc/test/yacc/stdin2.calc.c              |   25 +-
 contrib/byacc/test/yacc/varsyntax_calc1.tab.c      |   37 +-
 contrib/byacc/test/yacc/varsyntax_calc1.tab.h      |    2 +-
 contrib/byacc/verbose.c                            |   64 +-
 contrib/byacc/warshall.c                           |   10 +-
 contrib/byacc/yacc.1                               |   67 +-
 contrib/byacc/yaccpar.c                            |    6 +-
 contrib/byacc/yaccpar.skel                         |    6 +-
 usr.bin/yacc/config.h                              |   22 +-
 216 files changed, 9925 insertions(+), 4290 deletions(-)
Comment 3 commit-hook freebsd_committer freebsd_triage 2023-03-07 17:21:57 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=473a2c9a40e8413c8dec340472b0b0970536eafb

commit 473a2c9a40e8413c8dec340472b0b0970536eafb
Author:     Dag-Erling Smørgrav <des@FreeBSD.org>
AuthorDate: 2023-03-07 16:04:24 +0000
Commit:     Dag-Erling Smørgrav <des@FreeBSD.org>
CommitDate: 2023-03-07 17:20:49 +0000

    byacc: Disable backtracking extension.

    When updating byacc to 20230201, I enabled the backtracking extension as it seemed useful and harmless.  With a little more experience, it appears to have more impact than I initially thought and I'm no longer sure how useful it really is, so turn it back off.

    PR:             244149, 269425
    Sponsored by:   Klara, Inc.
    Reviewed by:    imp, jkim
    Differential Revision:  https://reviews.freebsd.org/D38931

 usr.bin/yacc/config.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)