gcc's C parser bitten by error recovery changes in bison 1.50

Zack Weinberg zack@codesourcery.com
Tue Oct 15 19:01:00 GMT 2002


When bison 1.50 is used to build GCC mainline, we get a number of
testsuite failures:

FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 69)
FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 72)
FAIL: gcc.dg/noncompile/920923-1.c  (test for errors, line 74)

(repeated for every combination of -O switches).  Error messages are
not being issued when expected.  920923-1.c is fairly complicated, but
I've managed to cut it down to

int *mem_hash;
void *a_translate(int v_addr)
{
     register int *bucket;
     bucket = mem_hash;
     do {
	  if (1 {
	  }
     } while (0);

     return p_addr;
}

The installed gcc-3.2 on this system (with a 1.35-based parser)
produces these diagnostics:

920923-1.c:8: parse error before `{'
920923-1.c:12: `p_addr' undeclared (first use in this function)

whereas the just-built cc1 (with its 1.50-based parser) only emits

920923-1.c:8: error: parse error before '{' token

Examining -dy dumps reveals that this is because of the corrected
error recovery behavior in 1.50 - the dumps are attached to this
message, but the key difference is

(1.35)
Reading a token: Next token is 125 ('}' [}])
Error: state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770
Error: state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708
Error: state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618
Error: state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541
Error: state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458
Error: state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451
Reducing via rule 444 (line 1934), lineno_stmt_decl_or_labels_ending_stmt  -> lineno_stmt_decl_or_labels
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379
Entering state 455
Next token is 125 ('}' [}])
Discarding token 125 ('}').

(1.50)
Reading a token: Next token is token '}' ( [}])
Error: popping nterm c99_block_lineno_labeled_stmt ()
Error: state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767
Error: popping nterm @30 ()
Error: state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705
Error: popping token DO ( [}])
Error: state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615
Error: popping nterm c99_block_start ()
Error: state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538
Error: popping nterm save_lineno ()
Error: state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456
Error: popping nterm save_filename ()
Error: state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449
Error: popping nterm lineno_stmt_decl_or_labels_ending_stmt ()
Error: state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381
Shifting error token, Entering state 446
Next token is token '}' ( [}])
Reducing via rule 461 (line 2048), error  -> compstmt_contents_nonempty

Two questions:

(for gcc-bugs:) Do we care?  This test case is just checking that the
compiler doesn't crash on wildly erroneous input.  The errors are all
enumerated so that dg.exp will be happy, but we could just shove a
{ dg-excess-errors } in there and be done with it.  The exact set of
errors isn't, IMO, all that interesting, and the new C++ parser should
do a _lot_ better.

(for help-bison:) Assuming that we do care, how should the .y file be
modified so that 1.35 and 1.50 behave the same way?

Thanks,
zw
-------------- next part --------------
Starting parse
Entering state 0
Reading a token: Next token is 260 (TYPESPEC [CPP_NAME] `int')
Reducing via rule 3 (line 306),  -> @1
state stack now 0
Entering state 2
Next token is 260 (TYPESPEC [CPP_NAME] `int')
Shifting token 260 (TYPESPEC), Entering state 7
Reducing via rule 264 (line 1275), TYPESPEC  -> typespec_reserved_nonattr
state stack now 0 2
Entering state 43
Reducing via rule 261 (line 1266), typespec_reserved_nonattr  -> typespec_nonattr
state stack now 0 2
Entering state 41
Reducing via rule 134 (line 865), typespec_nonattr  -> declspecs_nosc_ts_nosa_noea
state stack now 0 2
Entering state 26
Reading a token: Next token is 42 ('*' [*])
Reducing via rule 203 (line 1157), declspecs_nosc_ts_nosa_noea  -> declspecs_ts
state stack now 0 2
Entering state 38
Reducing via rule 118 (line 747),  -> setspecs
state stack now 0 2 38
Entering state 141
Next token is 42 ('*' [*])
Shifting token 42 ('*'), Entering state 217
Reading a token: Next token is 257 (IDENTIFIER [CPP_NAME] `mem_hash')
Reducing via rule 259 (line 1238),  -> maybe_type_quals_attrs
state stack now 0 2 38 141 217
Entering state 309
Next token is 257 (IDENTIFIER [CPP_NAME] `mem_hash')
Shifting token 257 (IDENTIFIER), Entering state 63
Reducing via rule 347 (line 1605), IDENTIFIER  -> notype_declarator
state stack now 0 2 38 141 217 309
Entering state 290
Reading a token: Next token is 59 (';' [;])
Reducing via rule 345 (line 1601), '*' maybe_type_quals_attrs notype_declarator  -> notype_declarator
state stack now 0 2 38 141
Entering state 223
Next token is 59 (';' [;])
Reducing via rule 327 (line 1534), notype_declarator  -> declarator
state stack now 0 2 38 141
Entering state 221
Next token is 59 (';' [;])
Reducing via rule 274 (line 1308),  -> maybeasm
state stack now 0 2 38 141 221
Entering state 315
Next token is 59 (';' [;])
Reducing via rule 282 (line 1349),  -> maybe_attribute
state stack now 0 2 38 141 221 315
Entering state 418
Next token is 59 (';' [;])
Reducing via rule 278 (line 1326), declarator maybeasm maybe_attribute  -> initdcl
state stack now 0 2 38 141
Entering state 220
Reducing via rule 270 (line 1298), initdcl  -> initdecls
state stack now 0 2 38 141
Entering state 219
Next token is 59 (';' [;])
Shifting token 59 (';'), Entering state 311
Reducing via rule 13 (line 336), declspecs_ts setspecs initdecls ';'  -> datadef
state stack now 0 2
Entering state 18
Reducing via rule 8 (line 313), datadef  -> extdef
state stack now 0 2
Entering state 17
Reducing via rule 4 (line 306), @1 extdef  -> extdefs
state stack now 0
Entering state 1
Reading a token: Next token is 260 (TYPESPEC [CPP_NAME] `void')
Reducing via rule 5 (line 308),  -> @2
state stack now 0 1
Entering state 3
Next token is 260 (TYPESPEC [CPP_NAME] `void')
Shifting token 260 (TYPESPEC), Entering state 7
Reducing via rule 264 (line 1275), TYPESPEC  -> typespec_reserved_nonattr
state stack now 0 1 3
Entering state 43
Reducing via rule 261 (line 1266), typespec_reserved_nonattr  -> typespec_nonattr
state stack now 0 1 3
Entering state 41
Reducing via rule 134 (line 865), typespec_nonattr  -> declspecs_nosc_ts_nosa_noea
state stack now 0 1 3
Entering state 26
Reading a token: Next token is 42 ('*' [*])
Reducing via rule 203 (line 1157), declspecs_nosc_ts_nosa_noea  -> declspecs_ts
state stack now 0 1 3
Entering state 38
Reducing via rule 118 (line 747),  -> setspecs
state stack now 0 1 3 38
Entering state 141
Next token is 42 ('*' [*])
Shifting token 42 ('*'), Entering state 217
Reading a token: Next token is 257 (IDENTIFIER [CPP_NAME] `a_translate')
Reducing via rule 259 (line 1238),  -> maybe_type_quals_attrs
state stack now 0 1 3 38 141 217
Entering state 309
Next token is 257 (IDENTIFIER [CPP_NAME] `a_translate')
Shifting token 257 (IDENTIFIER), Entering state 63
Reducing via rule 347 (line 1605), IDENTIFIER  -> notype_declarator
state stack now 0 1 3 38 141 217 309
Entering state 290
Reading a token: Next token is 40 ('(' [(])
Shifting token 40 ('('), Entering state 211
Reading a token: Next token is 260 (TYPESPEC [CPP_NAME] `int')
Reducing via rule 282 (line 1349),  -> maybe_attribute
state stack now 0 1 3 38 141 217 309 290 211
Entering state 295
Reducing via rule 552 (line 2490),  -> @42
state stack now 0 1 3 38 141 217 309 290 211 295
Entering state 398
Next token is 260 (TYPESPEC [CPP_NAME] `int')
Shifting token 260 (TYPESPEC), Entering state 7
Reducing via rule 264 (line 1275), TYPESPEC  -> typespec_reserved_nonattr
state stack now 0 1 3 38 141 217 309 290 211 295 398
Entering state 43
Reducing via rule 261 (line 1266), typespec_reserved_nonattr  -> typespec_nonattr
state stack now 0 1 3 38 141 217 309 290 211 295 398
Entering state 41
Reducing via rule 134 (line 865), typespec_nonattr  -> declspecs_nosc_ts_nosa_noea
state stack now 0 1 3 38 141 217 309 290 211 295 398
Entering state 477
Reading a token: Next token is 257 (IDENTIFIER [CPP_NAME] `v_addr')
Reducing via rule 219 (line 1179), declspecs_nosc_ts_nosa_noea  -> declspecs_ts_nosa
state stack now 0 1 3 38 141 217 309 290 211 295 398
Entering state 483
Reducing via rule 118 (line 747),  -> setspecs
state stack now 0 1 3 38 141 217 309 290 211 295 398 483
Entering state 552
Reducing via rule 551 (line 2481), setspecs  -> setspecs_fp
state stack now 0 1 3 38 141 217 309 290 211 295 398 483
Entering state 553
Next token is 257 (IDENTIFIER [CPP_NAME] `v_addr')
Shifting token 257 (IDENTIFIER), Entering state 63
Reducing via rule 347 (line 1605), IDENTIFIER  -> notype_declarator
state stack now 0 1 3 38 141 217 309 290 211 295 398 483 553
Entering state 633
Reading a token: Next token is 41 (')' [)])
Reducing via rule 282 (line 1349),  -> maybe_attribute
state stack now 0 1 3 38 141 217 309 290 211 295 398 483 553 633
Entering state 725
Reducing via rule 547 (line 2462), declspecs_ts_nosa setspecs_fp notype_declarator maybe_attribute  -> firstparm
state stack now 0 1 3 38 141 217 309 290 211 295 398
Entering state 488
Reducing via rule 539 (line 2420), firstparm  -> parms
state stack now 0 1 3 38 141 217 309 290 211 295 398
Entering state 487
Next token is 41 (')' [)])
Reducing via rule 537 (line 2414), parms  -> parmlist_2
state stack now 0 1 3 38 141 217 309 290 211 295 398
Entering state 486
Next token is 41 (')' [)])
Shifting token 41 (')'), Entering state 555
Reducing via rule 530 (line 2381), parmlist_2 ')'  -> parmlist_1
state stack now 0 1 3 38 141 217 309 290 211 295 398
Entering state 485
Reducing via rule 554 (line 2501), parmlist_1  -> parmlist_or_identifiers_1
state stack now 0 1 3 38 141 217 309 290 211 295 398
Entering state 489
Reducing via rule 553 (line 2490), maybe_attribute @42 parmlist_or_identifiers_1  -> parmlist_or_identifiers
state stack now 0 1 3 38 141 217 309 290 211
Entering state 296
Reducing via rule 343 (line 1593), notype_declarator '(' parmlist_or_identifiers  -> notype_declarator
state stack now 0 1 3 38 141 217 309
Entering state 290
Reading a token: Next token is 123 ('{' [{])
Reducing via rule 345 (line 1601), '*' maybe_type_quals_attrs notype_declarator  -> notype_declarator
state stack now 0 1 3 38 141
Entering state 223
Next token is 123 ('{' [{])
Reducing via rule 327 (line 1534), notype_declarator  -> declarator
state stack now 0 1 3 38 141
Entering state 221
Next token is 123 ('{' [{])
Reducing via rule 18 (line 347),  -> @3
state stack now 0 1 3 38 141 221
Entering state 314
Next token is 123 ('{' [{])
Reducing via rule 105 (line 693),  -> old_style_parm_decls
state stack now 0 1 3 38 141 221 314
Entering state 417
Reducing via rule 19 (line 347),  -> @4
state stack now 0 1 3 38 141 221 314 417
Entering state 504
Reducing via rule 473 (line 2113),  -> save_filename
state stack now 0 1 3 38 141 221 314 417 504
Entering state 571
Reducing via rule 474 (line 2119),  -> save_lineno
state stack now 0 1 3 38 141 221 314 417 504 571
Entering state 669
Next token is 123 ('{' [{])
Shifting token 123 ('{'), Entering state 611
Reducing via rule 460 (line 2019), '{'  -> compstmt_start
state stack now 0 1 3 38 141 221 314 417 504 571 669
Entering state 619
Reading a token: Next token is 259 (SCSPEC [CPP_NAME] `register')
Reducing via rule 449 (line 1944),  -> pushlevel
state stack now 0 1 3 38 141 221 314 417 504 571 669 619
Entering state 277
Next token is 259 (SCSPEC [CPP_NAME] `register')
Reducing via rule 453 (line 1987),  -> maybe_label_decls
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277
Entering state 379
Next token is 259 (SCSPEC [CPP_NAME] `register')
Reducing via rule 473 (line 2113),  -> save_filename
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379
Entering state 458
Reducing via rule 474 (line 2119),  -> save_lineno
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 458
Entering state 541
Next token is 259 (SCSPEC [CPP_NAME] `register')
Shifting token 259 (SCSPEC), Entering state 6
Reducing via rule 158 (line 949), SCSPEC  -> declspecs_sc_nots_nosa_noea
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 458 541
Entering state 30
Reading a token: Next token is 260 (TYPESPEC [CPP_NAME] `int')
Shifting token 260 (TYPESPEC), Entering state 7
Reducing via rule 264 (line 1275), TYPESPEC  -> typespec_reserved_nonattr
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 458 541 30
Entering state 43
Reducing via rule 261 (line 1266), typespec_reserved_nonattr  -> typespec_nonattr
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 458 541 30
Entering state 107
Reducing via rule 177 (line 1043), declspecs_sc_nots_nosa_noea typespec_nonattr  -> declspecs_sc_ts_nosa_noea
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 458 541
Entering state 34
Reading a token: Next token is 42 ('*' [*])
Reducing via rule 207 (line 1162), declspecs_sc_ts_nosa_noea  -> declspecs_ts
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 458 541
Entering state 615
Reducing via rule 118 (line 747),  -> setspecs
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 458 541 615
Entering state 703
Next token is 42 ('*' [*])
Shifting token 42 ('*'), Entering state 217
Reading a token: Next token is 257 (IDENTIFIER [CPP_NAME] `bucket')
Reducing via rule 259 (line 1238),  -> maybe_type_quals_attrs
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 458 541 615 703 217
Entering state 309
Next token is 257 (IDENTIFIER [CPP_NAME] `bucket')
Shifting token 257 (IDENTIFIER), Entering state 63
Reducing via rule 347 (line 1605), IDENTIFIER  -> notype_declarator
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 458 541 615 703 217 309
Entering state 290
Reading a token: Next token is 59 (';' [;])
Reducing via rule 345 (line 1601), '*' maybe_type_quals_attrs notype_declarator  -> notype_declarator
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 458 541 615 703
Entering state 223
Next token is 59 (';' [;])
Reducing via rule 327 (line 1534), notype_declarator  -> declarator
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 458 541 615 703
Entering state 764
Next token is 59 (';' [;])
Reducing via rule 274 (line 1308),  -> maybeasm
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 458 541 615 703 764
Entering state 315
Next token is 59 (';' [;])
Reducing via rule 282 (line 1349),  -> maybe_attribute
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 458 541 615 703 764 315
Entering state 418
Next token is 59 (';' [;])
Reducing via rule 278 (line 1326), declarator maybeasm maybe_attribute  -> initdcl
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 458 541 615 703
Entering state 220
Reducing via rule 270 (line 1298), initdcl  -> initdecls
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 458 541 615 703
Entering state 762
Next token is 59 (';' [;])
Shifting token 59 (';'), Entering state 804
Reducing via rule 120 (line 762), declspecs_ts setspecs initdecls ';'  -> decl
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 458 541
Entering state 614
Reducing via rule 117 (line 738), save_filename save_lineno decl  -> lineno_decl
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379
Entering state 449
Reducing via rule 433 (line 1912), lineno_decl  -> lineno_stmt_decl_or_labels_ending_decl
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379
Entering state 452
Reading a token: Next token is 257 (IDENTIFIER [CPP_NAME] `bucket')
Reducing via rule 473 (line 2113),  -> save_filename
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 452
Entering state 458
Reducing via rule 474 (line 2119),  -> save_lineno
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 452 458
Entering state 541
Next token is 257 (IDENTIFIER [CPP_NAME] `bucket')
Shifting token 257 (IDENTIFIER), Entering state 586
Reading a token: Next token is 61 ('=' [=])
Reducing via rule 84 (line 575), IDENTIFIER  -> primary
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 452 458 541
Entering state 183
Next token is 61 ('=' [=])
Reducing via rule 44 (line 433), primary  -> unary_expr
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 452 458 541
Entering state 178
Reducing via rule 58 (line 495), unary_expr  -> cast_expr
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 452 458 541
Entering state 181
Reducing via rule 60 (line 501), cast_expr  -> expr_no_commas
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 452 458 541
Entering state 182
Next token is 61 ('=' [=])
Shifting token 61 ('='), Entering state 252
Reading a token: Next token is 257 (IDENTIFIER [CPP_NAME] `mem_hash')
Shifting token 257 (IDENTIFIER), Entering state 154
Reducing via rule 84 (line 575), IDENTIFIER  -> primary
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 452 458 541 182 252
Entering state 183
Next token is 59 (';' [;])
Reducing via rule 44 (line 433), primary  -> unary_expr
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 452 458 541 182 252
Entering state 178
Reducing via rule 58 (line 495), unary_expr  -> cast_expr
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 452 458 541 182 252
Entering state 181
Reducing via rule 60 (line 501), cast_expr  -> expr_no_commas
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 452 458 541 182 252
Entering state 355
Next token is 59 (';' [;])
Reducing via rule 82 (line 558), expr_no_commas '=' expr_no_commas  -> expr_no_commas
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 452 458 541
Entering state 182
Next token is 59 (';' [;])
Reducing via rule 42 (line 426), expr_no_commas  -> nonnull_exprlist
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 452 458 541
Entering state 177
Next token is 59 (';' [;])
Reducing via rule 39 (line 416), nonnull_exprlist  -> expr
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 452 458 541
Entering state 613
Next token is 59 (';' [;])
Shifting token 59 (';'), Entering state 702
Reducing via rule 499 (line 2238), expr ';'  -> stmt
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 452 458 541
Entering state 621
Reducing via rule 478 (line 2137), save_filename save_lineno stmt  -> lineno_stmt
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 452
Entering state 531
Reducing via rule 430 (line 1907), lineno_stmt_decl_or_labels_ending_decl lineno_stmt  -> lineno_stmt_decl_or_labels_ending_stmt
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379
Entering state 451
Reading a token: Next token is 272 (DO [CPP_NAME])
Reducing via rule 473 (line 2113),  -> save_filename
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451
Entering state 458
Reducing via rule 474 (line 2119),  -> save_lineno
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458
Entering state 541
Next token is 272 (DO [CPP_NAME])
Reducing via rule 451 (line 1956),  -> c99_block_start
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541
Entering state 618
Next token is 272 (DO [CPP_NAME])
Shifting token 272 (DO), Entering state 708
Reducing via rule 471 (line 2093),  -> @30
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708
Entering state 770
Reducing via rule 451 (line 1956),  -> c99_block_start
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770
Entering state 775
Reducing via rule 473 (line 2113),  -> save_filename
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775
Entering state 533
Reducing via rule 474 (line 2119),  -> save_lineno
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775 533
Entering state 600
Next token is 123 ('{' [{])
Shifting token 123 ('{'), Entering state 611
Reducing via rule 460 (line 2019), '{'  -> compstmt_start
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775 533 600
Entering state 619
Reading a token: Next token is 269 (IF [CPP_NAME])
Reducing via rule 449 (line 1944),  -> pushlevel
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775 533 600 619
Entering state 277
Next token is 269 (IF [CPP_NAME])
Reducing via rule 453 (line 1987),  -> maybe_label_decls
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775 533 600 619 277
Entering state 379
Next token is 269 (IF [CPP_NAME])
Reducing via rule 473 (line 2113),  -> save_filename
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775 533 600 619 277 379
Entering state 458
Reducing via rule 474 (line 2119),  -> save_lineno
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775 533 600 619 277 379 458
Entering state 541
Next token is 269 (IF [CPP_NAME])
Reducing via rule 451 (line 1956),  -> c99_block_start
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775 533 600 619 277 379 458 541
Entering state 618
Next token is 269 (IF [CPP_NAME])
Shifting token 269 (IF), Entering state 706
Reducing via rule 469 (line 2071),  -> @29
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775 533 600 619 277 379 458 541 618 706
Entering state 768
Reading a token: Next token is 40 ('(' [(])
Shifting token 40 ('('), Entering state 808
Reading a token: Next token is 262 (CONSTANT [CPP_NUMBER] SI 0x000000001)
Shifting token 262 (CONSTANT), Entering state 155
Reducing via rule 85 (line 582), CONSTANT  -> primary
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775 533 600 619 277 379 458 541 618 706 768 808
Entering state 183
Reading a token: Next token is 123 ('{' [{])
Reducing via rule 44 (line 433), primary  -> unary_expr
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775 533 600 619 277 379 458 541 618 706 768 808
Entering state 178
Reducing via rule 58 (line 495), unary_expr  -> cast_expr
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775 533 600 619 277 379 458 541 618 706 768 808
Entering state 181
Reducing via rule 60 (line 501), cast_expr  -> expr_no_commas
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775 533 600 619 277 379 458 541 618 706 768 808
Entering state 182
Next token is 123 ('{' [{])
Reducing via rule 42 (line 426), expr_no_commas  -> nonnull_exprlist
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775 533 600 619 277 379 458 541 618 706 768 808
Entering state 177
Next token is 123 ('{' [{])
Reducing via rule 39 (line 416), nonnull_exprlist  -> expr
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775 533 600 619 277 379 458 541 618 706 768 808
Entering state 833
Next token is 123 ('{' [{])
920923-1.c: In function `a_translate':
920923-1.c:8: parse error before '{' token
Error: state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775 533 600 619 277 379 458 541 618 706 768 808
Error: state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775 533 600 619 277 379 458 541 618 706 768
Error: state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775 533 600 619 277 379 458 541 618 706
Error: state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775 533 600 619 277 379 458 541 618
Error: state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775 533 600 619 277 379 458 541
Error: state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775 533 600 619 277 379 458
Error: state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775 533 600 619 277 379
Shifting error token, Entering state 448
Next token is 123 ('{' [{])
Reducing via rule 464 (line 2034), error  -> compstmt_contents_nonempty
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775 533 600 619 277 379
Entering state 457
Next token is 123 ('{' [{])
Discarding token 123 ('{').
Error: state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775 533 600 619 277 379
Shifting error token, Entering state 448
Reading a token: Next token is 125 ('}' [}])
Reducing via rule 464 (line 2034), error  -> compstmt_contents_nonempty
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775 533 600 619 277 379
Entering state 457
Next token is 125 ('}' [}])
Shifting token 125 ('}'), Entering state 540
Reducing via rule 450 (line 1951),  -> poplevel
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775 533 600 619 277 379 457 540
Entering state 601
Reducing via rule 462 (line 2025), pushlevel maybe_label_decls compstmt_contents_nonempty '}' poplevel  -> compstmt_nostart
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775 533 600 619
Entering state 715
Reducing via rule 466 (line 2055), compstmt_start compstmt_nostart  -> compstmt
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775 533 600
Entering state 620
Reducing via rule 498 (line 2235), compstmt  -> stmt
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775 533 600
Entering state 621
Reducing via rule 478 (line 2137), save_filename save_lineno stmt  -> lineno_stmt
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775
Entering state 816
Reducing via rule 475 (line 2125), lineno_stmt  -> lineno_labeled_stmt
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775
Entering state 815
Reducing via rule 452 (line 1972),  -> c99_block_end
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770 775 815
Entering state 842
Reducing via rule 477 (line 2131), c99_block_start lineno_labeled_stmt c99_block_end  -> c99_block_lineno_labeled_stmt
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770
Entering state 810
Reading a token: Next token is 125 ('}' [}])
Error: state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708 770
Error: state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618 708
Error: state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541 618
Error: state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458 541
Error: state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451 458
Error: state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 451
Reducing via rule 444 (line 1934), lineno_stmt_decl_or_labels_ending_stmt  -> lineno_stmt_decl_or_labels
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379
Entering state 455
Next token is 125 ('}' [}])
Discarding token 125 ('}').
Shifting error token, Entering state 302
Reading a token: Next token is 271 (WHILE [CPP_NAME])
Discarding token 271 (WHILE).
Error: state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 455
Shifting error token, Entering state 302
Reading a token: Next token is 40 ('(' [(])
Discarding token 40 ('(').
Error: state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 455
Shifting error token, Entering state 302
Reading a token: Next token is 262 (CONSTANT [CPP_NUMBER] SI 0x000000000)
Discarding token 262 (CONSTANT).
Error: state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 455
Shifting error token, Entering state 302
Reading a token: Next token is 41 (')' [)])
Discarding token 41 (')').
Error: state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 455
Shifting error token, Entering state 302
Reading a token: Next token is 59 (';' [;])
Shifting token 59 (';'), Entering state 407
Reducing via rule 448 (line 1941), error ';'  -> errstmt
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 455
Entering state 539
Reducing via rule 443 (line 1931), lineno_stmt_decl_or_labels errstmt  -> lineno_stmt_decl_or_labels_ending_error
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379
Entering state 454
Reading a token: Next token is 279 (RETURN [CPP_NAME])
Reducing via rule 473 (line 2113),  -> save_filename
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 454
Entering state 458
Reducing via rule 474 (line 2119),  -> save_lineno
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 454 458
Entering state 541
Next token is 279 (RETURN [CPP_NAME])
Shifting token 279 (RETURN), Entering state 607
Reading a token: Next token is 257 (IDENTIFIER [CPP_NAME] `p_addr')
Shifting token 257 (IDENTIFIER), Entering state 154
Reducing via rule 84 (line 575), IDENTIFIER  -> primary
920923-1.c:12: `p_addr' undeclared (first use in this function)
920923-1.c:12: (Each undeclared identifier is reported only once
920923-1.c:12: for each function it appears in.)
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 454 458 541 607
Entering state 183
Next token is 59 (';' [;])
Reducing via rule 44 (line 433), primary  -> unary_expr
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 454 458 541 607
Entering state 178
Reducing via rule 58 (line 495), unary_expr  -> cast_expr
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 454 458 541 607
Entering state 181
Reducing via rule 60 (line 501), cast_expr  -> expr_no_commas
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 454 458 541 607
Entering state 182
Next token is 59 (';' [;])
Reducing via rule 42 (line 426), expr_no_commas  -> nonnull_exprlist
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 454 458 541 607
Entering state 177
Next token is 59 (';' [;])
Reducing via rule 39 (line 416), nonnull_exprlist  -> expr
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 454 458 541 607
Entering state 696
Next token is 59 (';' [;])
Shifting token 59 (';'), Entering state 757
Reducing via rule 504 (line 2254), RETURN expr ';'  -> stmt
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 454 458 541
Entering state 621
Reducing via rule 478 (line 2137), save_filename save_lineno stmt  -> lineno_stmt
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 454
Entering state 537
Reducing via rule 432 (line 1909), lineno_stmt_decl_or_labels_ending_error lineno_stmt  -> lineno_stmt_decl_or_labels_ending_stmt
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379
Entering state 451
Reading a token: Next token is 125 ('}' [}])
Reducing via rule 424 (line 1894), lineno_stmt_decl_or_labels_ending_stmt  -> stmts_and_decls
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379
Entering state 450
Reducing via rule 463 (line 2032), stmts_and_decls  -> compstmt_contents_nonempty
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379
Entering state 457
Next token is 125 ('}' [}])
Shifting token 125 ('}'), Entering state 540
Reducing via rule 450 (line 1951),  -> poplevel
state stack now 0 1 3 38 141 221 314 417 504 571 669 619 277 379 457 540
Entering state 601
Reducing via rule 462 (line 2025), pushlevel maybe_label_decls compstmt_contents_nonempty '}' poplevel  -> compstmt_nostart
state stack now 0 1 3 38 141 221 314 417 504 571 669 619
Entering state 715
Reducing via rule 466 (line 2055), compstmt_start compstmt_nostart  -> compstmt
state stack now 0 1 3 38 141 221 314 417 504 571 669
Entering state 665
Reducing via rule 458 (line 2013), compstmt  -> compstmt_or_error
state stack now 0 1 3 38 141 221 314 417 504 571 669
Entering state 737
Reducing via rule 20 (line 347), declspecs_ts setspecs declarator @3 old_style_parm_decls @4 save_filename save_lineno compstmt_or_error  -> fndef
state stack now 0 1 3
Entering state 19
Reducing via rule 7 (line 311), fndef  -> extdef
state stack now 0 1 3
Entering state 54
Reducing via rule 6 (line 308), extdefs @2 extdef  -> extdefs
state stack now 0
Entering state 1
Reading a token: Now at end of input.
Reducing via rule 2 (line 291), extdefs  -> program
state stack now 0
Entering state 899
Now at end of input.
Shifting token 0 ($), Entering state 900
Now at end of input.
-------------- next part --------------
Starting parse
Entering state 0
Reading a token: Next token is token TYPESPEC ( [CPP_NAME] `int')
Reducing via rule 3 (line 347),  -> @1
state stack now 0
Entering state 3
Next token is token TYPESPEC ( [CPP_NAME] `int')
Shifting token 262 (TYPESPEC), Entering state 10
Reducing via rule 263 (line 1299), TYPESPEC  -> typespec_reserved_nonattr
state stack now 0 3
Entering state 47
Reducing via rule 260 (line 1290), typespec_reserved_nonattr  -> typespec_nonattr
state stack now 0 3
Entering state 45
Reducing via rule 133 (line 889), typespec_nonattr  -> declspecs_nosc_ts_nosa_noea
state stack now 0 3
Entering state 30
Reading a token: Next token is token '*' ( [*])
Reducing via rule 202 (line 1181), declspecs_nosc_ts_nosa_noea  -> declspecs_ts
state stack now 0 3
Entering state 42
Reducing via rule 117 (line 771),  -> setspecs
state stack now 0 3 42
Entering state 146
Next token is token '*' ( [*])
Shifting token 42 ('*'), Entering state 221
Reading a token: Next token is token IDENTIFIER ( [CPP_NAME] `mem_hash')
Reducing via rule 258 (line 1262),  -> maybe_type_quals_attrs
state stack now 0 3 42 146 221
Entering state 311
Next token is token IDENTIFIER ( [CPP_NAME] `mem_hash')
Shifting token 258 (IDENTIFIER), Entering state 68
Reducing via rule 348 (line 1632), IDENTIFIER  -> notype_declarator
state stack now 0 3 42 146 221 311
Entering state 293
Reading a token: Next token is token ';' ( [;])
Reducing via rule 346 (line 1628), '*' maybe_type_quals_attrs notype_declarator  -> notype_declarator
state stack now 0 3 42 146
Entering state 227
Next token is token ';' ( [;])
Reducing via rule 328 (line 1561), notype_declarator  -> declarator
state stack now 0 3 42 146
Entering state 225
Next token is token ';' ( [;])
Reducing via rule 273 (line 1332),  -> maybeasm
state stack now 0 3 42 146 225
Entering state 317
Next token is token ';' ( [;])
Reducing via rule 281 (line 1371),  -> maybe_attribute
state stack now 0 3 42 146 225 317
Entering state 416
Next token is token ';' ( [;])
Reducing via rule 277 (line 1348), declarator maybeasm maybe_attribute  -> initdcl
state stack now 0 3 42 146
Entering state 224
Reducing via rule 269 (line 1322), initdcl  -> initdecls
state stack now 0 3 42 146
Entering state 223
Next token is token ';' ( [;])
Shifting token 59 (';'), Entering state 313
Reducing via rule 14 (line 381), declspecs_ts setspecs initdecls ';'  -> datadef
state stack now 0 3
Entering state 22
Reducing via rule 9 (line 358), datadef  -> extdef_1
state stack now 0 3
Entering state 21
Reducing via rule 7 (line 351), extdef_1  -> extdef
state stack now 0 3
Entering state 20
Reducing via rule 4 (line 346), @1 extdef  -> extdefs
state stack now 0
Entering state 2
Reading a token: Next token is token TYPESPEC ( [CPP_NAME] `void')
Reducing via rule 5 (line 348),  -> @2
state stack now 0 2
Entering state 5
Next token is token TYPESPEC ( [CPP_NAME] `void')
Shifting token 262 (TYPESPEC), Entering state 10
Reducing via rule 263 (line 1299), TYPESPEC  -> typespec_reserved_nonattr
state stack now 0 2 5
Entering state 47
Reducing via rule 260 (line 1290), typespec_reserved_nonattr  -> typespec_nonattr
state stack now 0 2 5
Entering state 45
Reducing via rule 133 (line 889), typespec_nonattr  -> declspecs_nosc_ts_nosa_noea
state stack now 0 2 5
Entering state 30
Reading a token: Next token is token '*' ( [*])
Reducing via rule 202 (line 1181), declspecs_nosc_ts_nosa_noea  -> declspecs_ts
state stack now 0 2 5
Entering state 42
Reducing via rule 117 (line 771),  -> setspecs
state stack now 0 2 5 42
Entering state 146
Next token is token '*' ( [*])
Shifting token 42 ('*'), Entering state 221
Reading a token: Next token is token IDENTIFIER ( [CPP_NAME] `a_translate')
Reducing via rule 258 (line 1262),  -> maybe_type_quals_attrs
state stack now 0 2 5 42 146 221
Entering state 311
Next token is token IDENTIFIER ( [CPP_NAME] `a_translate')
Shifting token 258 (IDENTIFIER), Entering state 68
Reducing via rule 348 (line 1632), IDENTIFIER  -> notype_declarator
state stack now 0 2 5 42 146 221 311
Entering state 293
Reading a token: Next token is token '(' ( [(])
Shifting token 40 ('('), Entering state 215
Reading a token: Next token is token TYPESPEC ( [CPP_NAME] `int')
Reducing via rule 281 (line 1371),  -> maybe_attribute
state stack now 0 2 5 42 146 221 311 293 215
Entering state 298
Reducing via rule 549 (line 2511),  -> @42
state stack now 0 2 5 42 146 221 311 293 215 298
Entering state 400
Next token is token TYPESPEC ( [CPP_NAME] `int')
Shifting token 262 (TYPESPEC), Entering state 10
Reducing via rule 263 (line 1299), TYPESPEC  -> typespec_reserved_nonattr
state stack now 0 2 5 42 146 221 311 293 215 298 400
Entering state 47
Reducing via rule 260 (line 1290), typespec_reserved_nonattr  -> typespec_nonattr
state stack now 0 2 5 42 146 221 311 293 215 298 400
Entering state 45
Reducing via rule 133 (line 889), typespec_nonattr  -> declspecs_nosc_ts_nosa_noea
state stack now 0 2 5 42 146 221 311 293 215 298 400
Entering state 475
Reading a token: Next token is token IDENTIFIER ( [CPP_NAME] `v_addr')
Reducing via rule 218 (line 1203), declspecs_nosc_ts_nosa_noea  -> declspecs_ts_nosa
state stack now 0 2 5 42 146 221 311 293 215 298 400
Entering state 481
Reducing via rule 117 (line 771),  -> setspecs
state stack now 0 2 5 42 146 221 311 293 215 298 400 481
Entering state 549
Reducing via rule 548 (line 2500), setspecs  -> setspecs_fp
state stack now 0 2 5 42 146 221 311 293 215 298 400 481
Entering state 550
Next token is token IDENTIFIER ( [CPP_NAME] `v_addr')
Shifting token 258 (IDENTIFIER), Entering state 68
Reducing via rule 348 (line 1632), IDENTIFIER  -> notype_declarator
state stack now 0 2 5 42 146 221 311 293 215 298 400 481 550
Entering state 630
Reading a token: Next token is token ')' ( [)])
Reducing via rule 281 (line 1371),  -> maybe_attribute
state stack now 0 2 5 42 146 221 311 293 215 298 400 481 550 630
Entering state 722
Reducing via rule 544 (line 2481), declspecs_ts_nosa setspecs_fp notype_declarator maybe_attribute  -> firstparm
state stack now 0 2 5 42 146 221 311 293 215 298 400
Entering state 486
Reducing via rule 536 (line 2439), firstparm  -> parms
state stack now 0 2 5 42 146 221 311 293 215 298 400
Entering state 485
Next token is token ')' ( [)])
Reducing via rule 534 (line 2431), parms  -> parmlist_2
state stack now 0 2 5 42 146 221 311 293 215 298 400
Entering state 484
Next token is token ')' ( [)])
Shifting token 41 (')'), Entering state 552
Reducing via rule 527 (line 2398), parmlist_2 ')'  -> parmlist_1
state stack now 0 2 5 42 146 221 311 293 215 298 400
Entering state 483
Reducing via rule 551 (line 2520), parmlist_1  -> parmlist_or_identifiers_1
state stack now 0 2 5 42 146 221 311 293 215 298 400
Entering state 487
Reducing via rule 550 (line 2509), maybe_attribute @42 parmlist_or_identifiers_1  -> parmlist_or_identifiers
state stack now 0 2 5 42 146 221 311 293 215
Entering state 299
Reducing via rule 344 (line 1620), notype_declarator '(' parmlist_or_identifiers  -> notype_declarator
state stack now 0 2 5 42 146 221 311
Entering state 293
Reading a token: Next token is token '{' ( [{])
Reducing via rule 346 (line 1628), '*' maybe_type_quals_attrs notype_declarator  -> notype_declarator
state stack now 0 2 5 42 146
Entering state 227
Next token is token '{' ( [{])
Reducing via rule 328 (line 1561), notype_declarator  -> declarator
state stack now 0 2 5 42 146
Entering state 225
Next token is token '{' ( [{])
Reducing via rule 19 (line 394),  -> @3
state stack now 0 2 5 42 146 225
Entering state 316
Next token is token '{' ( [{])
Reducing via rule 105 (line 716),  -> old_style_parm_decls_1
state stack now 0 2 5 42 146 225 316
Entering state 305
Reducing via rule 104 (line 709), old_style_parm_decls_1  -> old_style_parm_decls
state stack now 0 2 5 42 146 225 316
Entering state 415
Reducing via rule 20 (line 399),  -> @4
state stack now 0 2 5 42 146 225 316 415
Entering state 501
Reducing via rule 470 (line 2127),  -> save_filename
state stack now 0 2 5 42 146 225 316 415 501
Entering state 568
Reducing via rule 471 (line 2133),  -> save_lineno
state stack now 0 2 5 42 146 225 316 415 501 568
Entering state 666
Next token is token '{' ( [{])
Shifting token 123 ('{'), Entering state 608
Reducing via rule 457 (line 2033), '{'  -> compstmt_start
state stack now 0 2 5 42 146 225 316 415 501 568 666
Entering state 616
Reading a token: Next token is token SCSPEC ( [CPP_NAME] `register')
Reducing via rule 446 (line 1958),  -> pushlevel
state stack now 0 2 5 42 146 225 316 415 501 568 666 616
Entering state 280
Next token is token SCSPEC ( [CPP_NAME] `register')
Reducing via rule 450 (line 2001),  -> maybe_label_decls
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280
Entering state 381
Next token is token SCSPEC ( [CPP_NAME] `register')
Reducing via rule 470 (line 2127),  -> save_filename
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381
Entering state 456
Reducing via rule 471 (line 2133),  -> save_lineno
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 456
Entering state 538
Next token is token SCSPEC ( [CPP_NAME] `register')
Shifting token 260 (SCSPEC), Entering state 8
Reducing via rule 298 (line 1422), SCSPEC  -> scspec
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 456 538
Entering state 52
Reducing via rule 157 (line 973), scspec  -> declspecs_sc_nots_nosa_noea
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 456 538
Entering state 34
Reading a token: Next token is token TYPESPEC ( [CPP_NAME] `int')
Shifting token 262 (TYPESPEC), Entering state 10
Reducing via rule 263 (line 1299), TYPESPEC  -> typespec_reserved_nonattr
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 456 538 34
Entering state 47
Reducing via rule 260 (line 1290), typespec_reserved_nonattr  -> typespec_nonattr
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 456 538 34
Entering state 111
Reducing via rule 176 (line 1067), declspecs_sc_nots_nosa_noea typespec_nonattr  -> declspecs_sc_ts_nosa_noea
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 456 538
Entering state 38
Reading a token: Next token is token '*' ( [*])
Reducing via rule 206 (line 1186), declspecs_sc_ts_nosa_noea  -> declspecs_ts
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 456 538
Entering state 612
Reducing via rule 117 (line 771),  -> setspecs
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 456 538 612
Entering state 700
Next token is token '*' ( [*])
Shifting token 42 ('*'), Entering state 221
Reading a token: Next token is token IDENTIFIER ( [CPP_NAME] `bucket')
Reducing via rule 258 (line 1262),  -> maybe_type_quals_attrs
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 456 538 612 700 221
Entering state 311
Next token is token IDENTIFIER ( [CPP_NAME] `bucket')
Shifting token 258 (IDENTIFIER), Entering state 68
Reducing via rule 348 (line 1632), IDENTIFIER  -> notype_declarator
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 456 538 612 700 221 311
Entering state 293
Reading a token: Next token is token ';' ( [;])
Reducing via rule 346 (line 1628), '*' maybe_type_quals_attrs notype_declarator  -> notype_declarator
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 456 538 612 700
Entering state 227
Next token is token ';' ( [;])
Reducing via rule 328 (line 1561), notype_declarator  -> declarator
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 456 538 612 700
Entering state 761
Next token is token ';' ( [;])
Reducing via rule 273 (line 1332),  -> maybeasm
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 456 538 612 700 761
Entering state 317
Next token is token ';' ( [;])
Reducing via rule 281 (line 1371),  -> maybe_attribute
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 456 538 612 700 761 317
Entering state 416
Next token is token ';' ( [;])
Reducing via rule 277 (line 1348), declarator maybeasm maybe_attribute  -> initdcl
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 456 538 612 700
Entering state 224
Reducing via rule 269 (line 1322), initdcl  -> initdecls
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 456 538 612 700
Entering state 759
Next token is token ';' ( [;])
Shifting token 59 (';'), Entering state 801
Reducing via rule 119 (line 786), declspecs_ts setspecs initdecls ';'  -> decl
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 456 538
Entering state 611
Reducing via rule 116 (line 762), save_filename save_lineno decl  -> lineno_decl
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381
Entering state 447
Reducing via rule 430 (line 1926), lineno_decl  -> lineno_stmt_decl_or_labels_ending_decl
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381
Entering state 450
Reading a token: Next token is token IDENTIFIER ( [CPP_NAME] `bucket')
Reducing via rule 470 (line 2127),  -> save_filename
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 450
Entering state 456
Reducing via rule 471 (line 2133),  -> save_lineno
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 450 456
Entering state 538
Next token is token IDENTIFIER ( [CPP_NAME] `bucket')
Shifting token 258 (IDENTIFIER), Entering state 583
Reading a token: Next token is token '=' ( [=])
Reducing via rule 85 (line 610), IDENTIFIER  -> primary
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 450 456 538
Entering state 188
Next token is token '=' ( [=])
Reducing via rule 45 (line 478), primary  -> unary_expr
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 450 456 538
Entering state 183
Reducing via rule 59 (line 525), unary_expr  -> cast_expr
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 450 456 538
Entering state 186
Reducing via rule 61 (line 531), cast_expr  -> expr_no_commas
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 450 456 538
Entering state 187
Next token is token '=' ( [=])
Shifting token 61 ('='), Entering state 255
Reading a token: Next token is token IDENTIFIER ( [CPP_NAME] `mem_hash')
Shifting token 258 (IDENTIFIER), Entering state 159
Reducing via rule 85 (line 610), IDENTIFIER  -> primary
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 450 456 538 187 255
Entering state 188
Next token is token ';' ( [;])
Reducing via rule 45 (line 478), primary  -> unary_expr
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 450 456 538 187 255
Entering state 183
Reducing via rule 59 (line 525), unary_expr  -> cast_expr
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 450 456 538 187 255
Entering state 186
Reducing via rule 61 (line 531), cast_expr  -> expr_no_commas
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 450 456 538 187 255
Entering state 356
Next token is token ';' ( [;])
Reducing via rule 83 (line 592), expr_no_commas '=' expr_no_commas  -> expr_no_commas
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 450 456 538
Entering state 187
Next token is token ';' ( [;])
Reducing via rule 43 (line 471), expr_no_commas  -> nonnull_exprlist
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 450 456 538
Entering state 182
Next token is token ';' ( [;])
Reducing via rule 40 (line 461), nonnull_exprlist  -> expr
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 450 456 538
Entering state 610
Next token is token ';' ( [;])
Shifting token 59 (';'), Entering state 699
Reducing via rule 496 (line 2253), expr ';'  -> stmt
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 450 456 538
Entering state 618
Reducing via rule 475 (line 2151), save_filename save_lineno stmt  -> lineno_stmt
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 450
Entering state 528
Reducing via rule 427 (line 1921), lineno_stmt_decl_or_labels_ending_decl lineno_stmt  -> lineno_stmt_decl_or_labels_ending_stmt
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381
Entering state 449
Reading a token: Next token is token DO ( [CPP_NAME])
Reducing via rule 470 (line 2127),  -> save_filename
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449
Entering state 456
Reducing via rule 471 (line 2133),  -> save_lineno
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456
Entering state 538
Next token is token DO ( [CPP_NAME])
Reducing via rule 448 (line 1970),  -> c99_block_start
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538
Entering state 615
Next token is token DO ( [CPP_NAME])
Shifting token 274 (DO), Entering state 705
Reducing via rule 468 (line 2109),  -> @30
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705
Entering state 767
Reducing via rule 448 (line 1970),  -> c99_block_start
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767
Entering state 772
Reducing via rule 470 (line 2127),  -> save_filename
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772
Entering state 530
Reducing via rule 471 (line 2133),  -> save_lineno
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772 530
Entering state 597
Next token is token '{' ( [{])
Shifting token 123 ('{'), Entering state 608
Reducing via rule 457 (line 2033), '{'  -> compstmt_start
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772 530 597
Entering state 616
Reading a token: Next token is token IF ( [CPP_NAME])
Reducing via rule 446 (line 1958),  -> pushlevel
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772 530 597 616
Entering state 280
Next token is token IF ( [CPP_NAME])
Reducing via rule 450 (line 2001),  -> maybe_label_decls
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772 530 597 616 280
Entering state 381
Next token is token IF ( [CPP_NAME])
Reducing via rule 470 (line 2127),  -> save_filename
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772 530 597 616 280 381
Entering state 456
Reducing via rule 471 (line 2133),  -> save_lineno
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772 530 597 616 280 381 456
Entering state 538
Next token is token IF ( [CPP_NAME])
Reducing via rule 448 (line 1970),  -> c99_block_start
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772 530 597 616 280 381 456 538
Entering state 615
Next token is token IF ( [CPP_NAME])
Shifting token 271 (IF), Entering state 703
Reducing via rule 466 (line 2095),  -> @29
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772 530 597 616 280 381 456 538 615 703
Entering state 765
Reading a token: Next token is token '(' ( [(])
Shifting token 40 ('('), Entering state 805
Reading a token: Next token is token CONSTANT ( [CPP_NUMBER] SI 0x000000001)
Shifting token 264 (CONSTANT), Entering state 160
Reducing via rule 86 (line 617), CONSTANT  -> primary
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772 530 597 616 280 381 456 538 615 703 765 805
Entering state 188
Reading a token: Next token is token '{' ( [{])
Reducing via rule 45 (line 478), primary  -> unary_expr
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772 530 597 616 280 381 456 538 615 703 765 805
Entering state 183
Reducing via rule 59 (line 525), unary_expr  -> cast_expr
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772 530 597 616 280 381 456 538 615 703 765 805
Entering state 186
Reducing via rule 61 (line 531), cast_expr  -> expr_no_commas
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772 530 597 616 280 381 456 538 615 703 765 805
Entering state 187
Next token is token '{' ( [{])
Reducing via rule 43 (line 471), expr_no_commas  -> nonnull_exprlist
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772 530 597 616 280 381 456 538 615 703 765 805
Entering state 182
Next token is token '{' ( [{])
Reducing via rule 40 (line 461), nonnull_exprlist  -> expr
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772 530 597 616 280 381 456 538 615 703 765 805
Entering state 830
Next token is token '{' ( [{])
920923-1.c: In function `a_translate':
920923-1.c:8: error: parse error before '{' token
Error: popping nterm expr ()
Error: state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772 530 597 616 280 381 456 538 615 703 765 805
Error: popping token '(' ( [{])
Error: state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772 530 597 616 280 381 456 538 615 703 765
Error: popping nterm @29 ()
Error: state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772 530 597 616 280 381 456 538 615 703
Error: popping token IF ( [{])
Error: state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772 530 597 616 280 381 456 538 615
Error: popping nterm c99_block_start ()
Error: state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772 530 597 616 280 381 456 538
Error: popping nterm save_lineno ()
Error: state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772 530 597 616 280 381 456
Error: popping nterm save_filename ()
Error: state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772 530 597 616 280 381
Shifting error token, Entering state 446
Next token is token '{' ( [{])
Reducing via rule 461 (line 2048), error  -> compstmt_contents_nonempty
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772 530 597 616 280 381
Entering state 455
Next token is token '{' ( [{])
Discarding token 123 ('{').
Error: popping nterm compstmt_contents_nonempty ()
Error: state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772 530 597 616 280 381
Shifting error token, Entering state 446
Reading a token: Next token is token '}' ( [}])
Reducing via rule 461 (line 2048), error  -> compstmt_contents_nonempty
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772 530 597 616 280 381
Entering state 455
Next token is token '}' ( [}])
Shifting token 125 ('}'), Entering state 537
Reducing via rule 447 (line 1965),  -> poplevel
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772 530 597 616 280 381 455 537
Entering state 598
Reducing via rule 459 (line 2039), pushlevel maybe_label_decls compstmt_contents_nonempty '}' poplevel  -> compstmt_nostart
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772 530 597 616
Entering state 712
Reducing via rule 463 (line 2069), compstmt_start compstmt_nostart  -> compstmt
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772 530 597
Entering state 617
Reducing via rule 495 (line 2250), compstmt  -> stmt
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772 530 597
Entering state 618
Reducing via rule 475 (line 2151), save_filename save_lineno stmt  -> lineno_stmt
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772
Entering state 813
Reducing via rule 472 (line 2139), lineno_stmt  -> lineno_labeled_stmt
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772
Entering state 812
Reducing via rule 449 (line 1986),  -> c99_block_end
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767 772 812
Entering state 839
Reducing via rule 474 (line 2145), c99_block_start lineno_labeled_stmt c99_block_end  -> c99_block_lineno_labeled_stmt
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767
Entering state 807
Reading a token: Next token is token '}' ( [}])
Error: popping nterm c99_block_lineno_labeled_stmt ()
Error: state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705 767
Error: popping nterm @30 ()
Error: state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615 705
Error: popping token DO ( [}])
Error: state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538 615
Error: popping nterm c99_block_start ()
Error: state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456 538
Error: popping nterm save_lineno ()
Error: state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449 456
Error: popping nterm save_filename ()
Error: state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 449
Error: popping nterm lineno_stmt_decl_or_labels_ending_stmt ()
Error: state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381
Shifting error token, Entering state 446
Next token is token '}' ( [}])
Reducing via rule 461 (line 2048), error  -> compstmt_contents_nonempty
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381
Entering state 455
Next token is token '}' ( [}])
Shifting token 125 ('}'), Entering state 537
Reducing via rule 447 (line 1965),  -> poplevel
state stack now 0 2 5 42 146 225 316 415 501 568 666 616 280 381 455 537
Entering state 598
Reducing via rule 459 (line 2039), pushlevel maybe_label_decls compstmt_contents_nonempty '}' poplevel  -> compstmt_nostart
state stack now 0 2 5 42 146 225 316 415 501 568 666 616
Entering state 712
Reducing via rule 463 (line 2069), compstmt_start compstmt_nostart  -> compstmt
state stack now 0 2 5 42 146 225 316 415 501 568 666
Entering state 662
Reducing via rule 455 (line 2027), compstmt  -> compstmt_or_error
state stack now 0 2 5 42 146 225 316 415 501 568 666
Entering state 734
Reducing via rule 21 (line 392), declspecs_ts setspecs declarator @3 old_style_parm_decls @4 save_filename save_lineno compstmt_or_error  -> fndef
state stack now 0 2 5
Entering state 23
Reducing via rule 8 (line 356), fndef  -> extdef_1
state stack now 0 2 5
Entering state 21
Reducing via rule 7 (line 351), extdef_1  -> extdef
state stack now 0 2 5
Entering state 59
Reducing via rule 6 (line 348), extdefs @2 extdef  -> extdefs
state stack now 0
Entering state 2
Reading a token: Next token is token WHILE ( [CPP_NAME])
Reducing via rule 5 (line 348),  -> @2
state stack now 0 2
Entering state 5
Next token is token WHILE ( [CPP_NAME])
Shifting error token, Entering state 6
Next token is token WHILE ( [CPP_NAME])
Discarding token 273 (WHILE).
Error: popping token error ( [CPP_NAME])
Error: state stack now 0 2 5
Shifting error token, Entering state 6
Reading a token: Next token is token '(' ( [(])
Discarding token 40 ('(').
Error: popping token error ( [(])
Error: state stack now 0 2 5
Shifting error token, Entering state 6
Reading a token: Next token is token CONSTANT ( [CPP_NUMBER] SI 0x000000000)
Discarding token 264 (CONSTANT).
Error: popping token error ( [CPP_NUMBER])
Error: state stack now 0 2 5
Shifting error token, Entering state 6
Reading a token: Next token is token ')' ( [)])
Discarding token 41 (')').
Error: popping token error ( [)])
Error: state stack now 0 2 5
Shifting error token, Entering state 6
Reading a token: Next token is token ';' ( [;])
Shifting token 59 (';'), Entering state 60
Reducing via rule 16 (line 385), error ';'  -> datadef
state stack now 0 2 5
Entering state 22
Reducing via rule 9 (line 358), datadef  -> extdef_1
state stack now 0 2 5
Entering state 21
Reducing via rule 7 (line 351), extdef_1  -> extdef
state stack now 0 2 5
Entering state 59
Reducing via rule 6 (line 348), extdefs @2 extdef  -> extdefs
state stack now 0
Entering state 2
Reading a token: Next token is token RETURN ( [CPP_NAME])
Reducing via rule 5 (line 348),  -> @2
state stack now 0 2
Entering state 5
Next token is token RETURN ( [CPP_NAME])
Shifting error token, Entering state 6
Next token is token RETURN ( [CPP_NAME])
Discarding token 281 (RETURN).
Error: popping token error ( [CPP_NAME])
Error: state stack now 0 2 5
Shifting error token, Entering state 6
Reading a token: Next token is token IDENTIFIER ( [CPP_NAME] `p_addr')
Discarding token 258 (IDENTIFIER).
Error: popping token error ( [CPP_NAME])
Error: state stack now 0 2 5
Shifting error token, Entering state 6
Reading a token: Next token is token ';' ( [;])
Shifting token 59 (';'), Entering state 60
Reducing via rule 16 (line 385), error ';'  -> datadef
state stack now 0 2 5
Entering state 22
Reducing via rule 9 (line 358), datadef  -> extdef_1
state stack now 0 2 5
Entering state 21
Reducing via rule 7 (line 351), extdef_1  -> extdef
state stack now 0 2 5
Entering state 59
Reducing via rule 6 (line 348), extdefs @2 extdef  -> extdefs
state stack now 0
Entering state 2
Reading a token: Next token is token '}' ( [}])
Reducing via rule 5 (line 348),  -> @2
state stack now 0 2
Entering state 5
Next token is token '}' ( [}])
Shifting error token, Entering state 6
Next token is token '}' ( [}])
Shifting token 125 ('}'), Entering state 61
Reducing via rule 17 (line 386), error '}'  -> datadef
state stack now 0 2 5
Entering state 22
Reducing via rule 9 (line 358), datadef  -> extdef_1
state stack now 0 2 5
Entering state 21
Reducing via rule 7 (line 351), extdef_1  -> extdef
state stack now 0 2 5
Entering state 59
Reducing via rule 6 (line 348), extdefs @2 extdef  -> extdefs
state stack now 0
Entering state 2
Reading a token: Now at end of input.
Reducing via rule 2 (line 328), extdefs  -> program
state stack now 0
Entering state 1
Now at end of input.


More information about the Gcc-bugs mailing list