Bug 30760 - [gdb, byacc] FAIL: gdb.base/settings.exp: test-integer zinteger: maint set test-settings zinteger unlimited 1
Summary: [gdb, byacc] FAIL: gdb.base/settings.exp: test-integer zinteger: maint set te...
Status: NEW
Alias: None
Product: gdb
Classification: Unclassified
Component: gdb (show other bugs)
Version: HEAD
: P2 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-08-14 20:42 UTC by Tom de Vries
Modified: 2023-08-21 11:31 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tom de Vries 2023-08-14 20:42:31 UTC
[ At commit 9381cdb1fb8 ("Remove fall-back prune_warnings"). ]

I build gdb with byacc instead of bison and ran into:
...
FAIL: gdb.base/settings.exp: test-integer zinteger: maint set test-settings zinteger unlimited 1
FAIL: gdb.base/settings.exp: test-integer zuinteger: maint set test-settings zuinteger unlimited 1
...

In more detail:
...
(gdb) maint set test-settings zinteger unlimited 1^M
A syntax error in expression, near `1'.^M
(gdb) FAIL: gdb.base/settings.exp: test-integer zinteger: maint set test-settings zinteger unlimited 1
  ...
(gdb) maint set test-settings zuinteger unlimited 1^M
A syntax error in expression, near `1'.^M
(gdb) FAIL: gdb.base/settings.exp: test-integer zuinteger: maint set test-settings zuinteger unlimited 1
...
Comment 1 Tom de Vries 2023-08-14 20:48:58 UTC
To reproduce:
...
$ gdb -q -batch -ex "maint set test-settings zinteger unlimited 1"
...

Backtrace at error:
...
(gdb) bt
#0  error (fmt=0x1554590 "A %s in expression, near `%s'.") at /data/vries/gdb/src/gdbsupport/errors.cc:45
#1  0x00000000005bbe22 in c_yyerror (msg=0x1554611 "syntax error") at /data/vries/gdb/src/gdb/c-exp.y:3488
#2  0x00000000005bc318 in c_yyparse () at c-exp.c.tmp:4576
#3  0x00000000005bbc99 in c_parse (par_state=0x7fffffffcfd0) at /data/vries/gdb/src/gdb/c-exp.y:3417
#4  0x00000000008ac688 in language_defn::parser (this=0x287b400 <c_language_defn>, ps=0x7fffffffcfd0)
    at /data/vries/gdb/src/gdb/language.c:598
#5  0x00000000009d2ee3 in parse_exp_in_context (stringptr=0x7fffffffd0e0, pc=0, block=0x0, flags=..., 
    tracker=0x7fffffffd050, completer=0x0) at /data/vries/gdb/src/gdb/parse.c:414
#6  0x00000000009d310e in parse_expression (string=0x7fffffffe182 "unlimited 1", tracker=0x0, flags=...)
    at /data/vries/gdb/src/gdb/parse.c:462
#7  0x00000000007857e0 in parse_and_eval_long (exp=0x7fffffffe182 "unlimited 1") at /data/vries/gdb/src/gdb/eval.c:64
#8  0x000000000060e5db in parse_cli_var_integer (var_type=var_integer, extra_literals=0x0, arg=0x7fffffffd298, 
    expression=true) at /data/vries/gdb/src/gdb/cli/cli-setshow.c:233
#9  0x000000000060f043 in do_set_command (arg=0x7fffffffe182 "unlimited 1", from_tty=0, c=0x2ac5e30)
    at /data/vries/gdb/src/gdb/cli/cli-setshow.c:430
#10 0x0000000000c5e80c in execute_command (p=0x7fffffffe182 "unlimited 1", from_tty=0)
    at /data/vries/gdb/src/gdb/top.c:567
#11 0x0000000000919bf5 in catch_command_errors (command=0xc5e294 <execute_command(char const*, int)>, 
    arg=0x7fffffffe161 "maint set test-settings zinteger unlimited 1", from_tty=0, do_bp_actions=true)
    at /data/vries/gdb/src/gdb/main.c:518
#12 0x0000000000919e01 in execute_cmdargs (cmdarg_vec=0x7fffffffd7f0, file_type=CMDARG_FILE, 
    cmd_type=CMDARG_COMMAND, ret=0x7fffffffd7cc) at /data/vries/gdb/src/gdb/main.c:617
#13 0x000000000091b12b in captured_main_1 (context=0x7fffffffda50) at /data/vries/gdb/src/gdb/main.c:1289
#14 0x000000000091b32e in captured_main (data=0x7fffffffda50) at /data/vries/gdb/src/gdb/main.c:1310
#15 0x000000000091b3cd in gdb_main (args=0x7fffffffda50) at /data/vries/gdb/src/gdb/main.c:1339
#16 0x0000000000419603 in main (argc=12, argv=0x7fffffffdb68) at /data/vries/gdb/src/gdb/gdb.c:39
...
Comment 2 Tom de Vries 2023-08-14 21:27:30 UTC
Expected result:
...
(gdb) maint set test-settings zinteger unlimited 1^M
No symbol table is loaded.  Use the "file" command.^M
(gdb) PASS: gdb.base/settings.exp: test-integer zinteger: maint set test-settings zinteger unlimited 1
...
Comment 3 Tom de Vries 2023-08-21 11:31:27 UTC
FWIW, possibly related to:
...
/data/vries/gdb/src/gdb/c-exp.y: warning: 60 shift/reduce conflicts [-Wconflicts-sr]
/data/vries/gdb/src/gdb/c-exp.y: warning: 69 reduce/reduce conflicts [-Wconflicts-rr]
...