diff -Nrcpad gcc-4.0.3/boehm-gc/ChangeLog gcc-4.0.4/boehm-gc/ChangeLog *** gcc-4.0.3/boehm-gc/ChangeLog 2006-03-09 20:45:09.000000000 +0000 --- gcc-4.0.4/boehm-gc/ChangeLog 2007-01-31 10:25:12.000000000 +0000 *************** *** 1,3 **** --- 1,7 ---- + 2007-01-31 Release Manager + + * GCC 4.0.4 released. + 2006-03-09 Release Manager * GCC 4.0.3 released. diff -Nrcpad gcc-4.0.3/fastjar/ChangeLog gcc-4.0.4/fastjar/ChangeLog *** gcc-4.0.3/fastjar/ChangeLog 2006-03-09 20:45:24.000000000 +0000 --- gcc-4.0.4/fastjar/ChangeLog 2007-01-31 10:24:12.000000000 +0000 *************** *** 1,3 **** --- 1,15 ---- + 2007-01-31 Release Manager + + * GCC 4.0.4 released. + + 2006-08-04 Matthias Klose + + PR fastjar/28359 / CVE-2006-3619 + + 2006-07-17 Richard Guenther + * jartool.c (extract_jar): Do not allow directory traversal + to parents of the extraction root. + 2006-03-09 Release Manager * GCC 4.0.3 released. diff -Nrcpad gcc-4.0.3/fastjar/fastjar.1 gcc-4.0.4/fastjar/fastjar.1 *** gcc-4.0.3/fastjar/fastjar.1 2006-03-09 21:12:20.000000000 +0000 --- gcc-4.0.4/fastjar/fastjar.1 2007-01-31 11:48:07.000000000 +0000 *************** *** 129,135 **** .\" ======================================================================== .\" .IX Title "FASTJAR 1" ! .TH FASTJAR 1 "2006-03-09" "gcc-4.0.3" "GNU" .SH "NAME" fastjar \- archive tool for Java archives .SH "SYNOPSIS" --- 129,135 ---- .\" ======================================================================== .\" .IX Title "FASTJAR 1" ! .TH FASTJAR 1 "2007-01-31" "gcc-4.0.4" "GNU" .SH "NAME" fastjar \- archive tool for Java archives .SH "SYNOPSIS" diff -Nrcpad gcc-4.0.3/fastjar/fastjar.info gcc-4.0.4/fastjar/fastjar.info *** gcc-4.0.3/fastjar/fastjar.info 2006-03-09 21:12:18.000000000 +0000 --- gcc-4.0.4/fastjar/fastjar.info 2007-01-31 11:47:58.000000000 +0000 *************** *** 1,5 **** This is fastjar.info, produced by makeinfo version 4.8 from ! /scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/fastjar/fastjar.texi. INFO-DIR-SECTION Programming START-INFO-DIR-ENTRY --- 1,5 ---- This is fastjar.info, produced by makeinfo version 4.8 from ! /home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/fastjar/fastjar.texi. INFO-DIR-SECTION Programming START-INFO-DIR-ENTRY *************** GNU Library General Public License inste *** 502,510 ****  Tag Table: ! Node: Top889 ! Node: Invoking fastjar1207 ! Node: Invoking grepjar2907 ! Node: Copying3518  End Tag Table --- 502,510 ----  Tag Table: ! Node: Top886 ! Node: Invoking fastjar1204 ! Node: Invoking grepjar2904 ! Node: Copying3515  End Tag Table diff -Nrcpad gcc-4.0.3/fastjar/grepjar.1 gcc-4.0.4/fastjar/grepjar.1 *** gcc-4.0.3/fastjar/grepjar.1 2006-03-09 21:12:20.000000000 +0000 --- gcc-4.0.4/fastjar/grepjar.1 2007-01-31 11:48:08.000000000 +0000 *************** *** 129,135 **** .\" ======================================================================== .\" .IX Title "GREPJAR 1" ! .TH GREPJAR 1 "2006-03-09" "gcc-4.0.3" "GNU" .SH "NAME" grepjar \- search files in a jar file for a pattern .SH "SYNOPSIS" --- 129,135 ---- .\" ======================================================================== .\" .IX Title "GREPJAR 1" ! .TH GREPJAR 1 "2007-01-31" "gcc-4.0.4" "GNU" .SH "NAME" grepjar \- search files in a jar file for a pattern .SH "SYNOPSIS" diff -Nrcpad gcc-4.0.3/fastjar/jartool.c gcc-4.0.4/fastjar/jartool.c *** gcc-4.0.3/fastjar/jartool.c 2006-02-02 00:50:08.000000000 +0000 --- gcc-4.0.4/fastjar/jartool.c 2006-08-05 09:43:02.000000000 +0000 *************** int extract_jar(int fd, char **files, in *** 1724,1729 **** --- 1724,1730 ---- const ub1 *start = filename; char *tmp_buff; struct stat sbuf; + int depth = 0; tmp_buff = malloc(sizeof(char) * strlen((const char *)filename)); *************** int extract_jar(int fd, char **files, in *** 1744,1750 **** #ifdef DEBUG printf("checking the existance of %s\n", tmp_buff); #endif ! if(stat(tmp_buff, &sbuf) < 0){ if(errno != ENOENT){ perror("stat"); --- 1745,1758 ---- #ifdef DEBUG printf("checking the existance of %s\n", tmp_buff); #endif ! if(strcmp(tmp_buff, "..") == 0){ ! --depth; ! if (depth < 0){ ! fprintf(stderr, "Traversal to parent directories during unpacking!\n"); ! exit(1); ! } ! } else if (strcmp(tmp_buff, ".") != 0) ! ++depth; if(stat(tmp_buff, &sbuf) < 0){ if(errno != ENOENT){ perror("stat"); diff -Nrcpad gcc-4.0.3/gcc/java/ChangeLog gcc-4.0.4/gcc/java/ChangeLog *** gcc-4.0.3/gcc/java/ChangeLog 2006-03-09 20:44:08.000000000 +0000 --- gcc-4.0.4/gcc/java/ChangeLog 2007-01-31 10:21:46.000000000 +0000 *************** *** 1,3 **** --- 1,7 ---- + 2007-01-31 Release Manager + + * GCC 4.0.4 released. + 2006-03-09 Release Manager * GCC 4.0.3 released. diff -Nrcpad gcc-4.0.3/gcc/java/parse.c gcc-4.0.4/gcc/java/parse.c *** gcc-4.0.3/gcc/java/parse.c 2006-03-09 20:51:49.000000000 +0000 --- gcc-4.0.4/gcc/java/parse.c 2007-01-31 10:49:31.000000000 +0000 *************** *** 1,7 **** ! /* A Bison parser, made by GNU Bison 2.0. */ /* Skeleton parser for Yacc-like parsing with Bison, ! Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by --- 1,7 ---- ! /* A Bison parser, made by GNU Bison 1.875. */ /* Skeleton parser for Yacc-like parsing with Bison, ! Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by *************** *** 45,51 **** /* Using locations. */ #define YYLSP_NEEDED 0 ! /* Substitute the variable and function names. */ #define yyparse java_parse #define yylex java_lex #define yyerror java_error --- 45,52 ---- /* Using locations. */ #define YYLSP_NEEDED 0 ! /* If NAME_PREFIX is specified substitute the variables and functions ! names. */ #define yyparse java_parse #define yylex java_lex #define yyerror java_error *************** *** 286,292 **** /* Copy the first part of user declarations. */ ! #line 49 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" #include "config.h" #include "system.h" --- 287,293 ---- /* Copy the first part of user declarations. */ ! #line 49 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" #include "config.h" #include "system.h" *************** static GTY(()) tree src_parse_roots[1]; *** 704,710 **** #endif #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) ! #line 452 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" typedef union YYSTYPE { tree node; int sub_token; --- 705,711 ---- #endif #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) ! #line 452 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" typedef union YYSTYPE { tree node; int sub_token; *************** typedef union YYSTYPE { *** 718,724 **** } operator; int value; } YYSTYPE; ! /* Line 190 of yacc.c. */ #line 723 "java/parse.c" # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 --- 719,725 ---- } operator; int value; } YYSTYPE; ! /* Line 191 of yacc.c. */ #line 723 "java/parse.c" # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 *************** typedef union YYSTYPE { *** 728,734 **** /* Copy the second part of user declarations. */ ! #line 466 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" #ifdef USE_MAPPED_LOCATION #define SET_EXPR_LOCATION_FROM_TOKEN(EXPR, TOKEN) \ --- 729,735 ---- /* Copy the second part of user declarations. */ ! #line 466 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" #ifdef USE_MAPPED_LOCATION #define SET_EXPR_LOCATION_FROM_TOKEN(EXPR, TOKEN) \ *************** typedef union YYSTYPE { *** 741,766 **** #include "lex.c" ! /* Line 213 of yacc.c. */ #line 746 "java/parse.c" #if ! defined (yyoverflow) || YYERROR_VERBOSE - # ifndef YYFREE - # define YYFREE free - # endif - # ifndef YYMALLOC - # define YYMALLOC malloc - # endif - /* The parser invokes alloca or malloc; define the necessary symbols. */ ! # ifdef YYSTACK_USE_ALLOCA ! # if YYSTACK_USE_ALLOCA ! # ifdef __GNUC__ ! # define YYSTACK_ALLOC __builtin_alloca ! # else # define YYSTACK_ALLOC alloca # endif # endif # endif --- 742,764 ---- #include "lex.c" ! /* Line 214 of yacc.c. */ #line 746 "java/parse.c" #if ! defined (yyoverflow) || YYERROR_VERBOSE /* The parser invokes alloca or malloc; define the necessary symbols. */ ! # if YYSTACK_USE_ALLOCA ! # define YYSTACK_ALLOC alloca ! # else ! # ifndef YYSTACK_USE_ALLOCA ! # if defined (alloca) || defined (_ALLOCA_H) # define YYSTACK_ALLOC alloca + # else + # ifdef __GNUC__ + # define YYSTACK_ALLOC __builtin_alloca + # endif # endif # endif # endif *************** typedef union YYSTYPE { *** 773,792 **** # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # endif ! # define YYSTACK_ALLOC YYMALLOC ! # define YYSTACK_FREE YYFREE # endif #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ #if (! defined (yyoverflow) \ && (! defined (__cplusplus) \ ! || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc { ! short int yyss; YYSTYPE yyvs; }; --- 771,790 ---- # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # endif ! # define YYSTACK_ALLOC malloc ! # define YYSTACK_FREE free # endif #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ #if (! defined (yyoverflow) \ && (! defined (__cplusplus) \ ! || (YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc { ! short yyss; YYSTYPE yyvs; }; *************** union yyalloc *** 796,808 **** /* The size of an array large to enough to hold all stacks, each with N elements. */ # define YYSTACK_BYTES(N) \ ! ((N) * (sizeof (short int) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM) /* Copy COUNT objects from FROM to TO. The source and destination do not overlap. */ # ifndef YYCOPY ! # if defined (__GNUC__) && 1 < __GNUC__ # define YYCOPY(To, From, Count) \ __builtin_memcpy (To, From, (Count) * sizeof (*(From))) # else --- 794,806 ---- /* The size of an array large to enough to hold all stacks, each with N elements. */ # define YYSTACK_BYTES(N) \ ! ((N) * (sizeof (short) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM) /* Copy COUNT objects from FROM to TO. The source and destination do not overlap. */ # ifndef YYCOPY ! # if 1 < __GNUC__ # define YYCOPY(To, From, Count) \ __builtin_memcpy (To, From, (Count) * sizeof (*(From))) # else *************** union yyalloc *** 838,844 **** #if defined (__STDC__) || defined (__cplusplus) typedef signed char yysigned_char; #else ! typedef short int yysigned_char; #endif /* YYFINAL -- State number of the termination state. */ --- 836,842 ---- #if defined (__STDC__) || defined (__cplusplus) typedef signed char yysigned_char; #else ! typedef short yysigned_char; #endif /* YYFINAL -- State number of the termination state. */ *************** static const unsigned char yytranslate[] *** 907,913 **** #if YYDEBUG /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in YYRHS. */ ! static const unsigned short int yyprhs[] = { 0, 0, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, --- 905,911 ---- #if YYDEBUG /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in YYRHS. */ ! static const unsigned short yyprhs[] = { 0, 0, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, *************** static const unsigned short int yyprhs[] *** 964,970 **** }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ ! static const short int yyrhs[] = { 113, 0, -1, 126, -1, 106, -1, 107, -1, 110, -1, 105, -1, 104, -1, 111, -1, 116, -1, 117, --- 962,968 ---- }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ ! static const short yyrhs[] = { 113, 0, -1, 126, -1, 106, -1, 107, -1, 110, -1, 105, -1, 104, -1, 111, -1, 116, -1, 117, *************** static const short int yyrhs[] = *** 1147,1153 **** }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ ! static const unsigned short int yyrline[] = { 0, 625, 625, 631, 632, 633, 634, 635, 636, 641, 642, 646, 647, 648, 652, 653, 657, 661, 665, 669, --- 1145,1151 ---- }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ ! static const unsigned short yyrline[] = { 0, 625, 625, 631, 632, 633, 634, 635, 636, 641, 642, 646, 647, 648, 652, 653, 657, 661, 665, 669, *************** static const unsigned short int yyrline[ *** 1209,1287 **** First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { ! "$end", "error", "$undefined", "PLUS_TK", "MINUS_TK", "MULT_TK", ! "DIV_TK", "REM_TK", "LS_TK", "SRS_TK", "ZRS_TK", "AND_TK", "XOR_TK", ! "OR_TK", "BOOL_AND_TK", "BOOL_OR_TK", "EQ_TK", "NEQ_TK", "GT_TK", ! "GTE_TK", "LT_TK", "LTE_TK", "PLUS_ASSIGN_TK", "MINUS_ASSIGN_TK", ! "MULT_ASSIGN_TK", "DIV_ASSIGN_TK", "REM_ASSIGN_TK", "LS_ASSIGN_TK", ! "SRS_ASSIGN_TK", "ZRS_ASSIGN_TK", "AND_ASSIGN_TK", "XOR_ASSIGN_TK", ! "OR_ASSIGN_TK", "PUBLIC_TK", "PRIVATE_TK", "PROTECTED_TK", "STATIC_TK", ! "FINAL_TK", "SYNCHRONIZED_TK", "VOLATILE_TK", "TRANSIENT_TK", ! "NATIVE_TK", "PAD_TK", "ABSTRACT_TK", "STRICT_TK", "MODIFIER_TK", ! "DECR_TK", "INCR_TK", "DEFAULT_TK", "IF_TK", "THROW_TK", "BOOLEAN_TK", ! "DO_TK", "IMPLEMENTS_TK", "THROWS_TK", "BREAK_TK", "IMPORT_TK", ! "ELSE_TK", "INSTANCEOF_TK", "RETURN_TK", "VOID_TK", "CATCH_TK", ! "INTERFACE_TK", "CASE_TK", "EXTENDS_TK", "FINALLY_TK", "SUPER_TK", ! "WHILE_TK", "CLASS_TK", "SWITCH_TK", "CONST_TK", "TRY_TK", "FOR_TK", ! "NEW_TK", "CONTINUE_TK", "GOTO_TK", "PACKAGE_TK", "THIS_TK", "ASSERT_TK", ! "BYTE_TK", "SHORT_TK", "INT_TK", "LONG_TK", "CHAR_TK", "INTEGRAL_TK", ! "FLOAT_TK", "DOUBLE_TK", "FP_TK", "ID_TK", "REL_QM_TK", "REL_CL_TK", ! "NOT_TK", "NEG_TK", "ASSIGN_ANY_TK", "ASSIGN_TK", "OP_TK", "CP_TK", ! "OCB_TK", "CCB_TK", "OSB_TK", "CSB_TK", "SC_TK", "C_TK", "DOT_TK", ! "STRING_LIT_TK", "CHAR_LIT_TK", "INT_LIT_TK", "FP_LIT_TK", "TRUE_TK", ! "FALSE_TK", "BOOL_LIT_TK", "NULL_TK", "$accept", "goal", "literal", ! "type", "primitive_type", "reference_type", "class_or_interface_type", ! "class_type", "interface_type", "array_type", "name", "simple_name", ! "qualified_name", "identifier", "compilation_unit", ! "import_declarations", "type_declarations", "package_declaration", ! "import_declaration", "single_type_import_declaration", ! "type_import_on_demand_declaration", "type_declaration", "modifiers", ! "class_declaration", "@1", "@2", "super", "interfaces", ! "interface_type_list", "class_body", "class_body_declarations", ! "class_body_declaration", "class_member_declaration", ! "field_declaration", "variable_declarators", "variable_declarator", ! "variable_declarator_id", "variable_initializer", "method_declaration", ! "@3", "method_header", "method_declarator", "formal_parameter_list", ! "formal_parameter", "final", "throws", "class_type_list", "method_body", ! "static_initializer", "static", "constructor_declaration", "@4", ! "constructor_header", "constructor_declarator", "constructor_body", ! "constructor_block_end", "explicit_constructor_invocation", ! "this_or_super", "interface_declaration", "@5", "@6", "@7", "@8", ! "extends_interfaces", "interface_body", "interface_member_declarations", ! "interface_member_declaration", "constant_declaration", ! "abstract_method_declaration", "array_initializer", ! "variable_initializers", "block", "block_begin", "block_end", ! "block_statements", "block_statement", ! "local_variable_declaration_statement", "local_variable_declaration", ! "statement", "statement_nsi", "statement_without_trailing_substatement", ! "empty_statement", "label_decl", "labeled_statement", ! "labeled_statement_nsi", "expression_statement", "statement_expression", ! "if_then_statement", "if_then_else_statement", ! "if_then_else_statement_nsi", "switch_statement", "@9", ! "switch_expression", "switch_block", "switch_block_statement_groups", ! "switch_block_statement_group", "switch_labels", "switch_label", ! "while_expression", "while_statement", "while_statement_nsi", ! "do_statement_begin", "do_statement", "for_statement", ! "for_statement_nsi", "for_header", "for_begin", "for_init", "for_update", ! "statement_expression_list", "break_statement", "continue_statement", ! "return_statement", "throw_statement", "assert_statement", ! "synchronized_statement", "synchronized", "try_statement", "catches", ! "catch_clause", "catch_clause_parameter", "finally", "primary", ! "primary_no_new_array", "type_literals", ! "class_instance_creation_expression", "anonymous_class_creation", "@10", ! "@11", "something_dot_new", "argument_list", ! "array_creation_uninitialized", "array_creation_initialized", ! "dim_exprs", "dim_expr", "dims", "field_access", "method_invocation", ! "array_access", "postfix_expression", "post_increment_expression", ! "post_decrement_expression", "trap_overflow_corner_case", ! "unary_expression", "pre_increment_expression", ! "pre_decrement_expression", "unary_expression_not_plus_minus", ! "cast_expression", "multiplicative_expression", "additive_expression", ! "shift_expression", "relational_expression", "equality_expression", ! "and_expression", "exclusive_or_expression", "inclusive_or_expression", ! "conditional_and_expression", "conditional_or_expression", ! "conditional_expression", "assignment_expression", "assignment", ! "left_hand_side", "assignment_operator", "expression", "constant_expression", 0 }; #endif --- 1207,1286 ---- First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { ! "$end", "error", "$undefined", "PLUS_TK", "MINUS_TK", "MULT_TK", "DIV_TK", ! "REM_TK", "LS_TK", "SRS_TK", "ZRS_TK", "AND_TK", "XOR_TK", "OR_TK", ! "BOOL_AND_TK", "BOOL_OR_TK", "EQ_TK", "NEQ_TK", "GT_TK", "GTE_TK", ! "LT_TK", "LTE_TK", "PLUS_ASSIGN_TK", "MINUS_ASSIGN_TK", ! "MULT_ASSIGN_TK", "DIV_ASSIGN_TK", "REM_ASSIGN_TK", "LS_ASSIGN_TK", ! "SRS_ASSIGN_TK", "ZRS_ASSIGN_TK", "AND_ASSIGN_TK", "XOR_ASSIGN_TK", ! "OR_ASSIGN_TK", "PUBLIC_TK", "PRIVATE_TK", "PROTECTED_TK", "STATIC_TK", ! "FINAL_TK", "SYNCHRONIZED_TK", "VOLATILE_TK", "TRANSIENT_TK", ! "NATIVE_TK", "PAD_TK", "ABSTRACT_TK", "STRICT_TK", "MODIFIER_TK", ! "DECR_TK", "INCR_TK", "DEFAULT_TK", "IF_TK", "THROW_TK", "BOOLEAN_TK", ! "DO_TK", "IMPLEMENTS_TK", "THROWS_TK", "BREAK_TK", "IMPORT_TK", ! "ELSE_TK", "INSTANCEOF_TK", "RETURN_TK", "VOID_TK", "CATCH_TK", ! "INTERFACE_TK", "CASE_TK", "EXTENDS_TK", "FINALLY_TK", "SUPER_TK", ! "WHILE_TK", "CLASS_TK", "SWITCH_TK", "CONST_TK", "TRY_TK", "FOR_TK", ! "NEW_TK", "CONTINUE_TK", "GOTO_TK", "PACKAGE_TK", "THIS_TK", ! "ASSERT_TK", "BYTE_TK", "SHORT_TK", "INT_TK", "LONG_TK", "CHAR_TK", ! "INTEGRAL_TK", "FLOAT_TK", "DOUBLE_TK", "FP_TK", "ID_TK", "REL_QM_TK", ! "REL_CL_TK", "NOT_TK", "NEG_TK", "ASSIGN_ANY_TK", "ASSIGN_TK", "OP_TK", ! "CP_TK", "OCB_TK", "CCB_TK", "OSB_TK", "CSB_TK", "SC_TK", "C_TK", ! "DOT_TK", "STRING_LIT_TK", "CHAR_LIT_TK", "INT_LIT_TK", "FP_LIT_TK", ! "TRUE_TK", "FALSE_TK", "BOOL_LIT_TK", "NULL_TK", "$accept", "goal", ! "literal", "type", "primitive_type", "reference_type", ! "class_or_interface_type", "class_type", "interface_type", "array_type", ! "name", "simple_name", "qualified_name", "identifier", ! "compilation_unit", "import_declarations", "type_declarations", ! "package_declaration", "import_declaration", ! "single_type_import_declaration", "type_import_on_demand_declaration", ! "type_declaration", "modifiers", "class_declaration", "@1", "@2", ! "super", "interfaces", "interface_type_list", "class_body", ! "class_body_declarations", "class_body_declaration", ! "class_member_declaration", "field_declaration", "variable_declarators", ! "variable_declarator", "variable_declarator_id", "variable_initializer", ! "method_declaration", "@3", "method_header", "method_declarator", ! "formal_parameter_list", "formal_parameter", "final", "throws", ! "class_type_list", "method_body", "static_initializer", "static", ! "constructor_declaration", "@4", "constructor_header", ! "constructor_declarator", "constructor_body", "constructor_block_end", ! "explicit_constructor_invocation", "this_or_super", ! "interface_declaration", "@5", "@6", "@7", "@8", "extends_interfaces", ! "interface_body", "interface_member_declarations", ! "interface_member_declaration", "constant_declaration", ! "abstract_method_declaration", "array_initializer", ! "variable_initializers", "block", "block_begin", "block_end", ! "block_statements", "block_statement", ! "local_variable_declaration_statement", "local_variable_declaration", ! "statement", "statement_nsi", "statement_without_trailing_substatement", ! "empty_statement", "label_decl", "labeled_statement", ! "labeled_statement_nsi", "expression_statement", "statement_expression", ! "if_then_statement", "if_then_else_statement", ! "if_then_else_statement_nsi", "switch_statement", "@9", ! "switch_expression", "switch_block", "switch_block_statement_groups", ! "switch_block_statement_group", "switch_labels", "switch_label", ! "while_expression", "while_statement", "while_statement_nsi", ! "do_statement_begin", "do_statement", "for_statement", ! "for_statement_nsi", "for_header", "for_begin", "for_init", ! "for_update", "statement_expression_list", "break_statement", ! "continue_statement", "return_statement", "throw_statement", ! "assert_statement", "synchronized_statement", "synchronized", ! "try_statement", "catches", "catch_clause", "catch_clause_parameter", ! "finally", "primary", "primary_no_new_array", "type_literals", ! "class_instance_creation_expression", "anonymous_class_creation", "@10", ! "@11", "something_dot_new", "argument_list", ! "array_creation_uninitialized", "array_creation_initialized", ! "dim_exprs", "dim_expr", "dims", "field_access", "method_invocation", ! "array_access", "postfix_expression", "post_increment_expression", ! "post_decrement_expression", "trap_overflow_corner_case", ! "unary_expression", "pre_increment_expression", ! "pre_decrement_expression", "unary_expression_not_plus_minus", ! "cast_expression", "multiplicative_expression", "additive_expression", ! "shift_expression", "relational_expression", "equality_expression", ! "and_expression", "exclusive_or_expression", "inclusive_or_expression", ! "conditional_and_expression", "conditional_or_expression", ! "conditional_expression", "assignment_expression", "assignment", ! "left_hand_side", "assignment_operator", "expression", "constant_expression", 0 }; #endif *************** static const char *const yytname[] = *** 1289,1295 **** # ifdef YYPRINT /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to token YYLEX-NUM. */ ! static const unsigned short int yytoknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, --- 1288,1294 ---- # ifdef YYPRINT /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to token YYLEX-NUM. */ ! static const unsigned short yytoknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, *************** static const unsigned short int yytoknum *** 1307,1313 **** # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ ! static const unsigned short int yyr1[] = { 0, 112, 113, 114, 114, 114, 114, 114, 114, 115, 115, 116, 116, 116, 117, 117, 118, 119, 120, 121, --- 1306,1312 ---- # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ ! static const unsigned short yyr1[] = { 0, 112, 113, 114, 114, 114, 114, 114, 114, 115, 115, 116, 116, 116, 117, 117, 118, 119, 120, 121, *************** static const unsigned char yyr2[] = *** 1423,1429 **** /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state STATE-NUM when YYTABLE doesn't specify something else to do. Zero means the default is an error. */ ! static const unsigned short int yydefact[] = { 0, 52, 53, 0, 0, 0, 0, 221, 0, 2, 0, 0, 0, 34, 41, 42, 36, 0, 49, 50, --- 1422,1428 ---- /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state STATE-NUM when YYTABLE doesn't specify something else to do. Zero means the default is an error. */ ! static const unsigned short yydefact[] = { 0, 52, 53, 0, 0, 0, 0, 221, 0, 2, 0, 0, 0, 34, 41, 42, 36, 0, 49, 50, *************** static const unsigned short int yydefact *** 1508,1514 **** }; /* YYDEFGOTO[NTERM-NUM]. */ ! static const short int yydefgoto[] = { -1, 8, 211, 285, 212, 88, 89, 71, 63, 213, 214, 24, 25, 26, 9, 10, 11, 12, 13, 14, --- 1507,1513 ---- }; /* YYDEFGOTO[NTERM-NUM]. */ ! static const short yydefgoto[] = { -1, 8, 211, 285, 212, 88, 89, 71, 63, 213, 214, 24, 25, 26, 9, 10, 11, 12, 13, 14, *************** static const short int yydefgoto[] = *** 1532,1538 **** /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ #define YYPACT_NINF -641 ! static const short int yypact[] = { 472, -641, -641, 313, -38, 413, 435, -641, 85, -641, 364, 161, 670, -641, -641, -641, -641, 617, -641, -641, --- 1531,1537 ---- /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ #define YYPACT_NINF -641 ! static const short yypact[] = { 472, -641, -641, 313, -38, 413, 435, -641, 85, -641, 364, 161, 670, -641, -641, -641, -641, 617, -641, -641, *************** static const short int yypact[] = *** 1617,1623 **** }; /* YYPGOTO[NTERM-NUM]. */ ! static const short int yypgoto[] = { -641, -641, -641, -39, -58, 676, 23, -112, -13, -57, -3, 531, -641, 144, -641, 1065, 609, -641, 60, -641, --- 1616,1622 ---- }; /* YYPGOTO[NTERM-NUM]. */ ! static const short yypgoto[] = { -641, -641, -641, -39, -58, 676, 23, -112, -13, -57, -3, 531, -641, 144, -641, 1065, 609, -641, 60, -641, *************** static const short int yypgoto[] = *** 1643,1649 **** number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ #define YYTABLE_NINF -513 ! static const short int yytable[] = { 23, 449, 176, 31, 152, 368, 183, 87, 90, 173, 460, 17, 296, 467, 122, 335, 627, 598, 295, 41, --- 1642,1648 ---- number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ #define YYTABLE_NINF -513 ! static const short yytable[] = { 23, 449, 176, 31, 152, 368, 183, 87, 90, 173, 460, 17, 296, 467, 122, 335, 627, 598, 295, 41, *************** static const short int yytable[] = *** 2218,2224 **** 207, 208, 0, 0, 209, 210 }; ! static const short int yycheck[] = { 3, 296, 135, 6, 126, 204, 136, 65, 65, 132, 316, 0, 174, 337, 87, 179, 492, 447, 174, 1, --- 2217,2223 ---- 207, 208, 0, 0, 209, 210 }; ! static const short yycheck[] = { 3, 296, 135, 6, 126, 204, 136, 65, 65, 132, 316, 0, 174, 337, 87, 179, 492, 447, 174, 1, *************** static const short int yycheck[] = *** 2795,2801 **** /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ ! static const unsigned short int yystos[] = { 0, 1, 45, 56, 62, 68, 76, 101, 113, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 170, --- 2794,2800 ---- /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ ! static const unsigned short yystos[] = { 0, 1, 45, 56, 62, 68, 76, 101, 113, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 170, *************** static const unsigned short int yystos[] *** 2902,2909 **** #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab ! #define YYERROR goto yyerrorlab ! /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. --- 2901,2907 ---- #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab ! #define YYERROR goto yyerrlab1 /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. *************** do \ *** 2930,2982 **** } \ while (0) - #define YYTERROR 1 #define YYERRCODE 256 - /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. - If N is 0, then set CURRENT to the empty location which ends - the previous symbol: RHS[0] (always defined). */ - - #define YYRHSLOC(Rhs, K) ((Rhs)[K]) #ifndef YYLLOC_DEFAULT ! # define YYLLOC_DEFAULT(Current, Rhs, N) \ ! do \ ! if (N) \ ! { \ ! (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ ! (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ ! (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ ! (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ ! } \ ! else \ ! { \ ! (Current).first_line = (Current).last_line = \ ! YYRHSLOC (Rhs, 0).last_line; \ ! (Current).first_column = (Current).last_column = \ ! YYRHSLOC (Rhs, 0).last_column; \ ! } \ ! while (0) ! #endif ! ! ! /* YY_LOCATION_PRINT -- Print the location on the stream. ! This macro was not mandated originally: define only if we know ! we won't break user code: when these are the locations we know. */ ! ! #ifndef YY_LOCATION_PRINT ! # if YYLTYPE_IS_TRIVIAL ! # define YY_LOCATION_PRINT(File, Loc) \ ! fprintf (File, "%d.%d-%d.%d", \ ! (Loc).first_line, (Loc).first_column, \ ! (Loc).last_line, (Loc).last_column) ! # else ! # define YY_LOCATION_PRINT(File, Loc) ((void) 0) ! # endif #endif - /* YYLEX -- calling `yylex' with the right arguments. */ #ifdef YYLEX_PARAM --- 2928,2947 ---- } \ while (0) #define YYTERROR 1 #define YYERRCODE 256 + /* YYLLOC_DEFAULT -- Compute the default location (before the actions + are run). */ #ifndef YYLLOC_DEFAULT ! # define YYLLOC_DEFAULT(Current, Rhs, N) \ ! Current.first_line = Rhs[1].first_line; \ ! Current.first_column = Rhs[1].first_column; \ ! Current.last_line = Rhs[N].last_line; \ ! Current.last_column = Rhs[N].last_column; #endif /* YYLEX -- calling `yylex' with the right arguments. */ #ifdef YYLEX_PARAM *************** do { \ *** 2999,3028 **** YYFPRINTF Args; \ } while (0) ! # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yysymprint (stderr, \ ! Type, Value); \ YYFPRINTF (stderr, "\n"); \ } \ } while (0) /*------------------------------------------------------------------. | yy_stack_print -- Print the state stack from its BOTTOM up to its | ! | TOP (included). | `------------------------------------------------------------------*/ #if defined (__STDC__) || defined (__cplusplus) static void ! yy_stack_print (short int *bottom, short int *top) #else static void yy_stack_print (bottom, top) ! short int *bottom; ! short int *top; #endif { YYFPRINTF (stderr, "Stack now"); --- 2964,2999 ---- YYFPRINTF Args; \ } while (0) ! # define YYDSYMPRINT(Args) \ ! do { \ ! if (yydebug) \ ! yysymprint Args; \ ! } while (0) ! ! # define YYDSYMPRINTF(Title, Token, Value, Location) \ do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yysymprint (stderr, \ ! Token, Value); \ YYFPRINTF (stderr, "\n"); \ } \ } while (0) /*------------------------------------------------------------------. | yy_stack_print -- Print the state stack from its BOTTOM up to its | ! | TOP (cinluded). | `------------------------------------------------------------------*/ #if defined (__STDC__) || defined (__cplusplus) static void ! yy_stack_print (short *bottom, short *top) #else static void yy_stack_print (bottom, top) ! short *bottom; ! short *top; #endif { YYFPRINTF (stderr, "Stack now"); *************** yy_reduce_print (yyrule) *** 3052,3060 **** #endif { int yyi; ! unsigned int yylno = yyrline[yyrule]; YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ", ! yyrule - 1, yylno); /* Print the symbols being reduced, and their result. */ for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]); --- 3023,3031 ---- #endif { int yyi; ! unsigned int yylineno = yyrline[yyrule]; YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ", ! yyrule - 1, yylineno); /* Print the symbols being reduced, and their result. */ for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]); *************** do { \ *** 3072,3078 **** int yydebug; #else /* !YYDEBUG */ # define YYDPRINTF(Args) ! # define YY_SYMBOL_PRINT(Title, Type, Value, Location) # define YY_STACK_PRINT(Bottom, Top) # define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ --- 3043,3050 ---- int yydebug; #else /* !YYDEBUG */ # define YYDPRINTF(Args) ! # define YYDSYMPRINT(Args) ! # define YYDSYMPRINTF(Title, Token, Value, Location) # define YY_STACK_PRINT(Bottom, Top) # define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ *************** int yydebug; *** 3090,3095 **** --- 3062,3071 ---- SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH) evaluated with infinite-precision integer arithmetic. */ + #if YYMAXDEPTH == 0 + # undef YYMAXDEPTH + #endif + #ifndef YYMAXDEPTH # define YYMAXDEPTH 10000 #endif *************** yysymprint (yyoutput, yytype, yyvaluep) *** 3171,3185 **** (void) yyvaluep; if (yytype < YYNTOKENS) ! YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); else YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); - - # ifdef YYPRINT - if (yytype < YYNTOKENS) - YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); - # endif switch (yytype) { default: --- 3147,3161 ---- (void) yyvaluep; if (yytype < YYNTOKENS) ! { ! YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); ! # ifdef YYPRINT ! YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); ! # endif ! } else YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); switch (yytype) { default: *************** yysymprint (yyoutput, yytype, yyvaluep) *** 3195,3205 **** #if defined (__STDC__) || defined (__cplusplus) static void ! yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) #else static void ! yydestruct (yymsg, yytype, yyvaluep) ! const char *yymsg; int yytype; YYSTYPE *yyvaluep; #endif --- 3171,3180 ---- #if defined (__STDC__) || defined (__cplusplus) static void ! yydestruct (int yytype, YYSTYPE *yyvaluep) #else static void ! yydestruct (yytype, yyvaluep) int yytype; YYSTYPE *yyvaluep; #endif *************** yydestruct (yymsg, yytype, yyvaluep) *** 3207,3216 **** /* Pacify ``unused variable'' warnings. */ (void) yyvaluep; - if (!yymsg) - yymsg = "Deleting"; - YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); - switch (yytype) { --- 3182,3187 ---- *************** yyparse () *** 3263,3272 **** #endif #endif { ! /* The look-ahead symbol. */ int yychar; ! /* The semantic value of the look-ahead symbol. */ YYSTYPE yylval; /* Number of syntax errors so far. */ --- 3234,3243 ---- #endif #endif { ! /* The lookahead symbol. */ int yychar; ! /* The semantic value of the lookahead symbol. */ YYSTYPE yylval; /* Number of syntax errors so far. */ *************** int yynerrs; *** 3277,3283 **** int yyresult; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; ! /* Look-ahead token as an internal (translated) token number. */ int yytoken = 0; /* Three stacks and their tools: --- 3248,3254 ---- int yyresult; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; ! /* Lookahead token as an internal (translated) token number. */ int yytoken = 0; /* Three stacks and their tools: *************** int yynerrs; *** 3289,3297 **** to reallocate them elsewhere. */ /* The state stack. */ ! short int yyssa[YYINITDEPTH]; ! short int *yyss = yyssa; ! register short int *yyssp; /* The semantic value stack. */ YYSTYPE yyvsa[YYINITDEPTH]; --- 3260,3268 ---- to reallocate them elsewhere. */ /* The state stack. */ ! short yyssa[YYINITDEPTH]; ! short *yyss = yyssa; ! register short *yyssp; /* The semantic value stack. */ YYSTYPE yyvsa[YYINITDEPTH]; *************** int yynerrs; *** 3328,3336 **** yyssp = yyss; yyvsp = yyvs; - - yyvsp[0] = yylval; - goto yysetstate; /*------------------------------------------------------------. --- 3299,3304 ---- *************** int yynerrs; *** 3356,3362 **** these so that the &'s don't force the real ones into memory. */ YYSTYPE *yyvs1 = yyvs; ! short int *yyss1 = yyss; /* Each stack pointer address is followed by the size of the --- 3324,3330 ---- these so that the &'s don't force the real ones into memory. */ YYSTYPE *yyvs1 = yyvs; ! short *yyss1 = yyss; /* Each stack pointer address is followed by the size of the *************** int yynerrs; *** 3384,3390 **** yystacksize = YYMAXDEPTH; { ! short int *yyss1 = yyss; union yyalloc *yyptr = (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) --- 3352,3358 ---- yystacksize = YYMAXDEPTH; { ! short *yyss1 = yyss; union yyalloc *yyptr = (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) *************** int yynerrs; *** 3420,3437 **** yybackup: /* Do appropriate processing given the current state. */ ! /* Read a look-ahead token if we need one and don't already have one. */ /* yyresume: */ ! /* First try to decide what to do without reference to look-ahead token. */ yyn = yypact[yystate]; if (yyn == YYPACT_NINF) goto yydefault; ! /* Not known => get a look-ahead token if don't already have one. */ ! /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); --- 3388,3405 ---- yybackup: /* Do appropriate processing given the current state. */ ! /* Read a lookahead token if we need one and don't already have one. */ /* yyresume: */ ! /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; if (yyn == YYPACT_NINF) goto yydefault; ! /* Not known => get a lookahead token if don't already have one. */ ! /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); *************** yybackup: *** 3446,3452 **** else { yytoken = YYTRANSLATE (yychar); ! YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); } /* If the proper action on seeing token YYTOKEN is to reduce or to --- 3414,3420 ---- else { yytoken = YYTRANSLATE (yychar); ! YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc); } /* If the proper action on seeing token YYTOKEN is to reduce or to *************** yybackup: *** 3466,3473 **** if (yyn == YYFINAL) YYACCEPT; ! /* Shift the look-ahead token. */ ! YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); /* Discard the token being shifted unless it is eof. */ if (yychar != YYEOF) --- 3434,3441 ---- if (yyn == YYFINAL) YYACCEPT; ! /* Shift the lookahead token. */ ! YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken])); /* Discard the token being shifted unless it is eof. */ if (yychar != YYEOF) *************** yyreduce: *** 3517,3593 **** switch (yyn) { case 2: ! #line 626 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {;} break; case 19: ! #line 670 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { int osb = pop_current_osb (ctxp); ! tree t = build_java_array_type (((yyvsp[-1].node)), -1); while (--osb) t = build_unresolved_array_type (t); ! (yyval.node) = t; ;} break; case 20: ! #line 678 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { int osb = pop_current_osb (ctxp); ! tree t = (yyvsp[-1].node); while (osb--) t = build_unresolved_array_type (t); ! (yyval.node) = t; ;} break; case 24: ! #line 699 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = make_qualified_name ((yyvsp[-2].node), (yyvsp[0].node), (yyvsp[-1].operator).location); ;} break; case 26: ! #line 708 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! {(yyval.node) = NULL;;} break; case 34: ! #line 720 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = NULL; ;} break; case 35: ! #line 724 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = NULL; ;} break; case 38: ! #line 736 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! ctxp->package = EXPR_WFL_NODE ((yyvsp[-1].node)); ;} break; case 39: ! #line 740 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing name"); RECOVER;;} break; case 40: ! #line 742 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 43: ! #line 752 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! tree name = EXPR_WFL_NODE ((yyvsp[-1].node)), last_name; int i = IDENTIFIER_LENGTH (name)-1; const char *last = &IDENTIFIER_POINTER (name)[i]; while (last != IDENTIFIER_POINTER (name)) --- 3485,3561 ---- switch (yyn) { case 2: ! #line 626 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {;} break; case 19: ! #line 670 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { int osb = pop_current_osb (ctxp); ! tree t = build_java_array_type ((yyvsp[-1].node), -1); while (--osb) t = build_unresolved_array_type (t); ! yyval.node = t; ;} break; case 20: ! #line 678 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { int osb = pop_current_osb (ctxp); ! tree t = yyvsp[-1].node; while (osb--) t = build_unresolved_array_type (t); ! yyval.node = t; ;} break; case 24: ! #line 699 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = make_qualified_name (yyvsp[-2].node, yyvsp[0].node, yyvsp[-1].operator.location); ;} break; case 26: ! #line 708 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! {yyval.node = NULL;;} break; case 34: ! #line 720 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = NULL; ;} break; case 35: ! #line 724 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = NULL; ;} break; case 38: ! #line 736 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! ctxp->package = EXPR_WFL_NODE (yyvsp[-1].node); ;} break; case 39: ! #line 740 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing name"); RECOVER;;} break; case 40: ! #line 742 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 43: ! #line 752 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! tree name = EXPR_WFL_NODE (yyvsp[-1].node), last_name; int i = IDENTIFIER_LENGTH (name)-1; const char *last = &IDENTIFIER_POINTER (name)[i]; while (last != IDENTIFIER_POINTER (name)) *************** yyreduce: *** 3602,3632 **** tree err = find_name_in_single_imports (last_name); if (err && err != name) parse_error_context ! ((yyvsp[-1].node), "Ambiguous class: %qs and %qs", IDENTIFIER_POINTER (name), IDENTIFIER_POINTER (err)); else ! REGISTER_IMPORT ((yyvsp[-1].node), last_name); } else ! REGISTER_IMPORT ((yyvsp[-1].node), last_name); ;} break; case 44: ! #line 778 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing name"); RECOVER;;} break; case 45: ! #line 780 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 46: ! #line 785 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! tree name = EXPR_WFL_NODE ((yyvsp[-3].node)); tree it; /* Search for duplicates. */ for (it = ctxp->import_demand_list; it; it = TREE_CHAIN (it)) --- 3570,3600 ---- tree err = find_name_in_single_imports (last_name); if (err && err != name) parse_error_context ! (yyvsp[-1].node, "Ambiguous class: %qs and %qs", IDENTIFIER_POINTER (name), IDENTIFIER_POINTER (err)); else ! REGISTER_IMPORT (yyvsp[-1].node, last_name); } else ! REGISTER_IMPORT (yyvsp[-1].node, last_name); ;} break; case 44: ! #line 778 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing name"); RECOVER;;} break; case 45: ! #line 780 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 46: ! #line 785 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! tree name = EXPR_WFL_NODE (yyvsp[-3].node); tree it; /* Search for duplicates. */ for (it = ctxp->import_demand_list; it; it = TREE_CHAIN (it)) *************** yyreduce: *** 3636,3671 **** duplicates (7.5.2) */ if (! it) { ! read_import_dir ((yyvsp[-3].node)); ctxp->import_demand_list = chainon (ctxp->import_demand_list, ! build_tree_list ((yyvsp[-3].node), NULL_TREE)); } ;} break; case 47: ! #line 803 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("'*' expected"); RECOVER;;} break; case 48: ! #line 805 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 49: ! #line 810 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { end_class_declaration (0); ;} break; case 50: ! #line 812 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { end_class_declaration (0); ;} break; case 52: ! #line 815 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { YYERROR_NOW; yyerror ("Class or interface declaration expected"); --- 3604,3639 ---- duplicates (7.5.2) */ if (! it) { ! read_import_dir (yyvsp[-3].node); ctxp->import_demand_list = chainon (ctxp->import_demand_list, ! build_tree_list (yyvsp[-3].node, NULL_TREE)); } ;} break; case 47: ! #line 803 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("'*' expected"); RECOVER;;} break; case 48: ! #line 805 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 49: ! #line 810 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { end_class_declaration (0); ;} break; case 50: ! #line 812 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { end_class_declaration (0); ;} break; case 52: ! #line 815 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { YYERROR_NOW; yyerror ("Class or interface declaration expected"); *************** yyreduce: *** 3673,3731 **** break; case 53: ! #line 826 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.value) = (1 << (yyvsp[0].value)); ;} break; case 54: ! #line 830 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! int acc = (1 << (yyvsp[0].value)); ! if ((yyval.value) & acc) parse_error_context ! (ctxp->modifier_ctx [(yyvsp[0].value)], "Modifier %qs declared twice", java_accstring_lookup (acc)); else { ! (yyval.value) |= acc; } ;} break; case 55: ! #line 846 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { create_class ((yyvsp[-4].value), (yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 56: ! #line 848 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {;;} break; case 57: ! #line 850 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { create_class (0, (yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 58: ! #line 852 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {;;} break; case 59: ! #line 854 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { yyerror ("Missing class name"); RECOVER; ;} break; case 60: ! #line 856 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { yyerror ("Missing class name"); RECOVER; ;} break; case 61: ! #line 858 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { if (!ctxp->class_err) yyerror ("'{' expected"); DRECOVER(class1); --- 3641,3699 ---- break; case 53: ! #line 826 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.value = (1 << yyvsp[0].value); ;} break; case 54: ! #line 830 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! int acc = (1 << yyvsp[0].value); ! if (yyval.value & acc) parse_error_context ! (ctxp->modifier_ctx [yyvsp[0].value], "Modifier %qs declared twice", java_accstring_lookup (acc)); else { ! yyval.value |= acc; } ;} break; case 55: ! #line 846 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { create_class (yyvsp[-4].value, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ;} break; case 56: ! #line 848 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {;;} break; case 57: ! #line 850 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { create_class (0, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ;} break; case 58: ! #line 852 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {;;} break; case 59: ! #line 854 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { yyerror ("Missing class name"); RECOVER; ;} break; case 60: ! #line 856 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { yyerror ("Missing class name"); RECOVER; ;} break; case 61: ! #line 858 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { if (!ctxp->class_err) yyerror ("'{' expected"); DRECOVER(class1); *************** yyreduce: *** 3733,3774 **** break; case 62: ! #line 863 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { if (!ctxp->class_err) yyerror ("'{' expected"); RECOVER; ;} break; case 63: ! #line 867 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = NULL; ;} break; case 64: ! #line 869 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = (yyvsp[0].node); ;} break; case 65: ! #line 871 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("'{' expected"); ctxp->class_err=1;;} break; case 66: ! #line 873 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing super class name"); ctxp->class_err=1;;} break; case 67: ! #line 877 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = NULL_TREE; ;} break; case 68: ! #line 879 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = (yyvsp[0].node); ;} break; case 69: ! #line 881 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ctxp->class_err=1; yyerror ("Missing interface name"); --- 3701,3742 ---- break; case 62: ! #line 863 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { if (!ctxp->class_err) yyerror ("'{' expected"); RECOVER; ;} break; case 63: ! #line 867 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = NULL; ;} break; case 64: ! #line 869 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = yyvsp[0].node; ;} break; case 65: ! #line 871 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("'{' expected"); ctxp->class_err=1;;} break; case 66: ! #line 873 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing super class name"); ctxp->class_err=1;;} break; case 67: ! #line 877 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = NULL_TREE; ;} break; case 68: ! #line 879 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = yyvsp[0].node; ;} break; case 69: ! #line 881 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ctxp->class_err=1; yyerror ("Missing interface name"); *************** yyreduce: *** 3776,3913 **** break; case 70: ! #line 889 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ctxp->interface_number = 1; ! (yyval.node) = build_tree_list ((yyvsp[0].node), NULL_TREE); ;} break; case 71: ! #line 894 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ctxp->interface_number++; ! (yyval.node) = chainon ((yyvsp[-2].node), build_tree_list ((yyvsp[0].node), NULL_TREE)); ;} break; case 72: ! #line 899 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing interface name"); RECOVER;;} break; case 73: ! #line 904 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { /* Store the location of the `}' when doing xrefs */ if (flag_emit_xref) ! DECL_END_SOURCE_LINE (GET_CPC ()) = (yyvsp[0].operator).location; ! (yyval.node) = GET_CPC (); ;} break; case 74: ! #line 911 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { /* Store the location of the `}' when doing xrefs */ if (flag_emit_xref) ! DECL_END_SOURCE_LINE (GET_CPC ()) = (yyvsp[0].operator).location; ! (yyval.node) = GET_CPC (); ;} break; case 80: ! #line 929 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! if (!IS_EMPTY_STMT ((yyvsp[0].node))) { ! TREE_CHAIN ((yyvsp[0].node)) = CPC_INSTANCE_INITIALIZER_STMT (ctxp); ! SET_CPC_INSTANCE_INITIALIZER_STMT (ctxp, (yyvsp[0].node)); } ;} break; case 83: ! #line 942 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { end_class_declaration (1); ;} break; case 84: ! #line 944 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { end_class_declaration (1); ;} break; case 86: ! #line 951 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { register_fields (0, (yyvsp[-2].node), (yyvsp[-1].node)); ;} break; case 87: ! #line 953 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { check_modifiers ("Illegal modifier %qs for field declaration", ! (yyvsp[-3].value), FIELD_MODIFIERS); ! check_modifiers_consistency ((yyvsp[-3].value)); ! register_fields ((yyvsp[-3].value), (yyvsp[-2].node), (yyvsp[-1].node)); ;} break; case 89: ! #line 966 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = chainon ((yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 90: ! #line 968 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 91: ! #line 973 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_tree_list ((yyvsp[0].node), NULL_TREE); ;} break; case 92: ! #line 975 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { if (java_error_count) ! (yyvsp[0].node) = NULL_TREE; ! (yyval.node) = build_tree_list ! ((yyvsp[-2].node), build_assignment ((yyvsp[-1].operator).token, (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node))); ;} break; case 93: ! #line 982 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { yyerror ("Missing variable initializer"); ! (yyval.node) = build_tree_list ((yyvsp[-2].node), NULL_TREE); RECOVER; ;} break; case 94: ! #line 988 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { yyerror ("';' expected"); ! (yyval.node) = build_tree_list ((yyvsp[-3].node), NULL_TREE); RECOVER; ;} break; case 96: ! #line 998 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_unresolved_array_type ((yyvsp[-2].node)); ;} break; case 97: ! #line 1000 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Invalid declaration"); DRECOVER(vdi);;} break; case 98: ! #line 1002 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { yyerror ("']' expected"); DRECOVER(vdi); --- 3744,3881 ---- break; case 70: ! #line 889 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ctxp->interface_number = 1; ! yyval.node = build_tree_list (yyvsp[0].node, NULL_TREE); ;} break; case 71: ! #line 894 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ctxp->interface_number++; ! yyval.node = chainon (yyvsp[-2].node, build_tree_list (yyvsp[0].node, NULL_TREE)); ;} break; case 72: ! #line 899 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing interface name"); RECOVER;;} break; case 73: ! #line 904 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { /* Store the location of the `}' when doing xrefs */ if (flag_emit_xref) ! DECL_END_SOURCE_LINE (GET_CPC ()) = yyvsp[0].operator.location; ! yyval.node = GET_CPC (); ;} break; case 74: ! #line 911 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { /* Store the location of the `}' when doing xrefs */ if (flag_emit_xref) ! DECL_END_SOURCE_LINE (GET_CPC ()) = yyvsp[0].operator.location; ! yyval.node = GET_CPC (); ;} break; case 80: ! #line 929 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! if (!IS_EMPTY_STMT (yyvsp[0].node)) { ! TREE_CHAIN (yyvsp[0].node) = CPC_INSTANCE_INITIALIZER_STMT (ctxp); ! SET_CPC_INSTANCE_INITIALIZER_STMT (ctxp, yyvsp[0].node); } ;} break; case 83: ! #line 942 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { end_class_declaration (1); ;} break; case 84: ! #line 944 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { end_class_declaration (1); ;} break; case 86: ! #line 951 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { register_fields (0, yyvsp[-2].node, yyvsp[-1].node); ;} break; case 87: ! #line 953 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { check_modifiers ("Illegal modifier %qs for field declaration", ! yyvsp[-3].value, FIELD_MODIFIERS); ! check_modifiers_consistency (yyvsp[-3].value); ! register_fields (yyvsp[-3].value, yyvsp[-2].node, yyvsp[-1].node); ;} break; case 89: ! #line 966 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = chainon (yyvsp[-2].node, yyvsp[0].node); ;} break; case 90: ! #line 968 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 91: ! #line 973 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_tree_list (yyvsp[0].node, NULL_TREE); ;} break; case 92: ! #line 975 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { if (java_error_count) ! yyvsp[0].node = NULL_TREE; ! yyval.node = build_tree_list ! (yyvsp[-2].node, build_assignment (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node)); ;} break; case 93: ! #line 982 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { yyerror ("Missing variable initializer"); ! yyval.node = build_tree_list (yyvsp[-2].node, NULL_TREE); RECOVER; ;} break; case 94: ! #line 988 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { yyerror ("';' expected"); ! yyval.node = build_tree_list (yyvsp[-3].node, NULL_TREE); RECOVER; ;} break; case 96: ! #line 998 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_unresolved_array_type (yyvsp[-2].node); ;} break; case 97: ! #line 1000 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Invalid declaration"); DRECOVER(vdi);;} break; case 98: ! #line 1002 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { yyerror ("']' expected"); DRECOVER(vdi); *************** yyreduce: *** 3915,3928 **** break; case 99: ! #line 1007 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Unbalanced ']'"); DRECOVER(vdi);;} break; case 102: ! #line 1018 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! current_function_decl = (yyvsp[0].node); if (current_function_decl && TREE_CODE (current_function_decl) == FUNCTION_DECL) source_start_java_method (current_function_decl); --- 3883,3896 ---- break; case 99: ! #line 1007 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Unbalanced ']'"); DRECOVER(vdi);;} break; case 102: ! #line 1018 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! current_function_decl = yyvsp[0].node; if (current_function_decl && TREE_CODE (current_function_decl) == FUNCTION_DECL) source_start_java_method (current_function_decl); *************** yyreduce: *** 3932,3968 **** break; case 103: ! #line 1027 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { finish_method_declaration ((yyvsp[0].node)); ;} break; case 104: ! #line 1029 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {YYNOT_TWICE yyerror ("'{' expected"); RECOVER;;} break; case 105: ! #line 1034 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = method_header (0, (yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 106: ! #line 1036 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = method_header (0, void_type_node, (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 107: ! #line 1038 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = method_header ((yyvsp[-3].value), (yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 108: ! #line 1040 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = method_header ((yyvsp[-3].value), void_type_node, (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 109: ! #line 1042 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { yyerror ("Invalid method declaration, method name required"); RECOVER; --- 3900,3936 ---- break; case 103: ! #line 1027 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { finish_method_declaration (yyvsp[0].node); ;} break; case 104: ! #line 1029 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {YYNOT_TWICE yyerror ("'{' expected"); RECOVER;;} break; case 105: ! #line 1034 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = method_header (0, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ;} break; case 106: ! #line 1036 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = method_header (0, void_type_node, yyvsp[-1].node, yyvsp[0].node); ;} break; case 107: ! #line 1038 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = method_header (yyvsp[-3].value, yyvsp[-2].node, yyvsp[-1].node, yyvsp[0].node); ;} break; case 108: ! #line 1040 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = method_header (yyvsp[-3].value, void_type_node, yyvsp[-1].node, yyvsp[0].node); ;} break; case 109: ! #line 1042 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { yyerror ("Invalid method declaration, method name required"); RECOVER; *************** yyreduce: *** 3970,3976 **** break; case 110: ! #line 1047 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { yyerror ("Identifier expected"); RECOVER; --- 3938,3944 ---- break; case 110: ! #line 1047 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { yyerror ("Identifier expected"); RECOVER; *************** yyreduce: *** 3978,3984 **** break; case 111: ! #line 1052 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { yyerror ("Identifier expected"); RECOVER; --- 3946,3952 ---- break; case 111: ! #line 1052 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { yyerror ("Identifier expected"); RECOVER; *************** yyreduce: *** 3986,3992 **** break; case 112: ! #line 1057 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { yyerror ("Identifier expected"); RECOVER; --- 3954,3960 ---- break; case 112: ! #line 1057 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { yyerror ("Identifier expected"); RECOVER; *************** yyreduce: *** 3994,4000 **** break; case 113: ! #line 1062 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { yyerror ("Invalid method declaration, return type required"); RECOVER; --- 3962,3968 ---- break; case 113: ! #line 1062 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { yyerror ("Invalid method declaration, return type required"); RECOVER; *************** yyreduce: *** 4002,4025 **** break; case 114: ! #line 1070 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ctxp->formal_parameter_number = 0; ! (yyval.node) = method_declarator ((yyvsp[-2].node), NULL_TREE); ;} break; case 115: ! #line 1075 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = method_declarator ((yyvsp[-3].node), (yyvsp[-1].node)); ;} break; case 116: ! #line 1077 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! SET_EXPR_LOCATION_FROM_TOKEN (wfl_operator, (yyvsp[-1].operator)); ! TREE_PURPOSE ((yyvsp[-2].node)) = ! build_unresolved_array_type (TREE_PURPOSE ((yyvsp[-2].node))); parse_warning_context (wfl_operator, "Discouraged form of returned type specification"); --- 3970,3993 ---- break; case 114: ! #line 1070 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ctxp->formal_parameter_number = 0; ! yyval.node = method_declarator (yyvsp[-2].node, NULL_TREE); ;} break; case 115: ! #line 1075 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = method_declarator (yyvsp[-3].node, yyvsp[-1].node); ;} break; case 116: ! #line 1077 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! SET_EXPR_LOCATION_FROM_TOKEN (wfl_operator, yyvsp[-1].operator); ! TREE_PURPOSE (yyvsp[-2].node) = ! build_unresolved_array_type (TREE_PURPOSE (yyvsp[-2].node)); parse_warning_context (wfl_operator, "Discouraged form of returned type specification"); *************** yyreduce: *** 4027,4450 **** break; case 117: ! #line 1086 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("')' expected"); DRECOVER(method_declarator);;} break; case 118: ! #line 1088 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("']' expected"); RECOVER;;} break; case 119: ! #line 1093 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ctxp->formal_parameter_number = 1; ;} break; case 120: ! #line 1097 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ctxp->formal_parameter_number += 1; ! (yyval.node) = chainon ((yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 121: ! #line 1102 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { yyerror ("Missing formal parameter term"); RECOVER; ;} break; case 122: ! #line 1107 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build_tree_list ((yyvsp[0].node), (yyvsp[-1].node)); ;} break; case 123: ! #line 1111 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build_tree_list ((yyvsp[0].node), (yyvsp[-1].node)); ! ARG_FINAL_P ((yyval.node)) = 1; ;} break; case 124: ! #line 1116 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { yyerror ("Missing identifier"); RECOVER; ! (yyval.node) = NULL_TREE; ;} break; case 125: ! #line 1121 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { yyerror ("Missing identifier"); RECOVER; ! (yyval.node) = NULL_TREE; ;} break; case 126: ! #line 1129 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { check_modifiers ("Illegal modifier %qs. Only % was expected here", ! (yyvsp[0].value), ACC_FINAL); ! if ((yyvsp[0].value) != ACC_FINAL) MODIFIER_WFL (FINAL_TK) = build_wfl_node (NULL_TREE); ;} break; case 127: ! #line 1138 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = NULL_TREE; ;} break; case 128: ! #line 1140 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = (yyvsp[0].node); ;} break; case 129: ! #line 1142 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing class type term"); RECOVER;;} break; case 130: ! #line 1147 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_tree_list ((yyvsp[0].node), (yyvsp[0].node)); ;} break; case 131: ! #line 1149 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = tree_cons ((yyvsp[0].node), (yyvsp[0].node), (yyvsp[-2].node)); ;} break; case 132: ! #line 1151 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing class type term"); RECOVER;;} break; case 134: ! #line 1156 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = NULL_TREE; ;} break; case 135: ! #line 1162 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! TREE_CHAIN ((yyvsp[0].node)) = CPC_STATIC_INITIALIZER_STMT (ctxp); ! SET_CPC_STATIC_INITIALIZER_STMT (ctxp, (yyvsp[0].node)); current_static_block = NULL_TREE; ;} break; case 136: ! #line 1171 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! check_modifiers ("Illegal modifier %qs for static initializer", (yyvsp[0].value), ACC_STATIC); /* Can't have a static initializer in an innerclass */ ! if ((yyvsp[0].value) | ACC_STATIC && GET_CPC_LIST () && !TOPLEVEL_CLASS_DECL_P (GET_CPC ())) parse_error_context (MODIFIER_WFL (STATIC_TK), "Can't define static initializer in class %qs. Static initializer can only be defined in top-level classes", IDENTIFIER_POINTER (DECL_NAME (GET_CPC ()))); ! SOURCE_FRONTEND_DEBUG (("Modifiers: %d", (yyvsp[0].value))); ;} break; case 137: ! #line 1187 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! current_function_decl = (yyvsp[0].node); source_start_java_method (current_function_decl); ;} break; case 138: ! #line 1192 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { finish_method_declaration ((yyvsp[0].node)); ;} break; case 139: ! #line 1197 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = method_header (0, NULL_TREE, (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 140: ! #line 1199 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = method_header ((yyvsp[-2].value), NULL_TREE, (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 141: ! #line 1204 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ctxp->formal_parameter_number = 0; ! (yyval.node) = method_declarator ((yyvsp[-2].node), NULL_TREE); ;} break; case 142: ! #line 1209 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = method_declarator ((yyvsp[-3].node), (yyvsp[-1].node)); ;} break; case 143: ! #line 1217 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! BLOCK_EXPR_BODY ((yyvsp[0].node)) = build_java_empty_stmt (); ! (yyval.node) = (yyvsp[0].node); ;} break; case 144: ! #line 1222 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = (yyvsp[0].node); ;} break; case 145: ! #line 1224 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = (yyvsp[0].node); ;} break; case 146: ! #line 1226 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = (yyvsp[0].node); ;} break; case 148: ! #line 1236 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build_method_invocation ((yyvsp[-3].node), NULL_TREE); ! (yyval.node) = build_debugable_stmt (EXPR_WFL_LINECOL ((yyvsp[-3].node)), (yyval.node)); ! (yyval.node) = java_method_add_stmt (current_function_decl, (yyval.node)); ;} break; case 149: ! #line 1242 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build_method_invocation ((yyvsp[-4].node), (yyvsp[-2].node)); ! (yyval.node) = build_debugable_stmt (EXPR_WFL_LINECOL ((yyvsp[-4].node)), (yyval.node)); ! (yyval.node) = java_method_add_stmt (current_function_decl, (yyval.node)); ;} break; case 150: ! #line 1250 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! {(yyval.node) = parse_jdk1_1_error ("explicit constructor invocation"); ;} break; case 151: ! #line 1252 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! {(yyval.node) = parse_jdk1_1_error ("explicit constructor invocation"); ;} break; case 152: ! #line 1257 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { tree wfl = build_wfl_node (this_identifier_node); ! SET_EXPR_LOCATION_FROM_TOKEN (wfl, (yyvsp[0].operator)); ! (yyval.node) = wfl; ;} break; case 153: ! #line 1263 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { tree wfl = build_wfl_node (super_identifier_node); ! SET_EXPR_LOCATION_FROM_TOKEN (wfl, (yyvsp[0].operator)); ! (yyval.node) = wfl; ;} break; case 154: ! #line 1274 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { create_interface (0, (yyvsp[0].node), NULL_TREE); ;} break; case 155: ! #line 1276 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ; ;} break; case 156: ! #line 1278 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { create_interface ((yyvsp[-2].value), (yyvsp[0].node), NULL_TREE); ;} break; case 157: ! #line 1280 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ; ;} break; case 158: ! #line 1282 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { create_interface (0, (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 159: ! #line 1284 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ; ;} break; case 160: ! #line 1286 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { create_interface ((yyvsp[-3].value), (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 161: ! #line 1288 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ; ;} break; case 162: ! #line 1290 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { yyerror ("'{' expected"); RECOVER; ;} break; case 163: ! #line 1292 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { yyerror ("'{' expected"); RECOVER; ;} break; case 164: ! #line 1297 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ctxp->interface_number = 1; ! (yyval.node) = build_tree_list ((yyvsp[0].node), NULL_TREE); ;} break; case 165: ! #line 1302 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ctxp->interface_number++; ! (yyval.node) = chainon ((yyvsp[-2].node), build_tree_list ((yyvsp[0].node), NULL_TREE)); ;} break; case 166: ! #line 1307 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Invalid interface type"); RECOVER;;} break; case 167: ! #line 1309 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 168: ! #line 1314 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = NULL_TREE; ;} break; case 169: ! #line 1316 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = NULL_TREE; ;} break; case 174: ! #line 1328 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { end_class_declaration (1); ;} break; case 175: ! #line 1330 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { end_class_declaration (1); ;} break; case 177: ! #line 1339 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! check_abstract_method_header ((yyvsp[-1].node)); current_function_decl = NULL_TREE; /* FIXME ? */ ;} break; case 178: ! #line 1344 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 179: ! #line 1350 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_new_array_init ((yyvsp[-1].operator).location, NULL_TREE); ;} break; case 180: ! #line 1352 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_new_array_init ((yyvsp[-2].operator).location, NULL_TREE); ;} break; case 181: ! #line 1354 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_new_array_init ((yyvsp[-2].operator).location, (yyvsp[-1].node)); ;} break; case 182: ! #line 1356 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_new_array_init ((yyvsp[-3].operator).location, (yyvsp[-2].node)); ;} break; case 183: ! #line 1361 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = tree_cons (maybe_build_array_element_wfl ((yyvsp[0].node)), ! (yyvsp[0].node), NULL_TREE); ;} break; case 184: ! #line 1366 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = tree_cons (maybe_build_array_element_wfl ((yyvsp[0].node)), (yyvsp[0].node), (yyvsp[-2].node)); ;} break; case 185: ! #line 1370 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 186: ! #line 1376 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = (yyvsp[0].node); ;} break; case 187: ! #line 1378 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = (yyvsp[0].node); ;} break; case 188: ! #line 1383 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { enter_block (); ;} break; case 189: ! #line 1388 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { maybe_absorb_scoping_blocks (); /* Store the location of the `}' when doing xrefs */ if (current_function_decl && flag_emit_xref) ! DECL_END_SOURCE_LINE (current_function_decl) = (yyvsp[0].operator).location; ! (yyval.node) = exit_block (); ! if (!BLOCK_SUBBLOCKS ((yyval.node))) ! BLOCK_SUBBLOCKS ((yyval.node)) = build_java_empty_stmt (); ;} break; case 193: ! #line 1407 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { java_method_add_stmt (current_function_decl, (yyvsp[0].node)); ;} break; case 194: ! #line 1409 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { LOCAL_CLASS_P (TREE_TYPE (GET_CPC ())) = 1; end_class_declaration (1); --- 3995,4418 ---- break; case 117: ! #line 1086 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("')' expected"); DRECOVER(method_declarator);;} break; case 118: ! #line 1088 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("']' expected"); RECOVER;;} break; case 119: ! #line 1093 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ctxp->formal_parameter_number = 1; ;} break; case 120: ! #line 1097 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ctxp->formal_parameter_number += 1; ! yyval.node = chainon (yyvsp[-2].node, yyvsp[0].node); ;} break; case 121: ! #line 1102 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { yyerror ("Missing formal parameter term"); RECOVER; ;} break; case 122: ! #line 1107 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build_tree_list (yyvsp[0].node, yyvsp[-1].node); ;} break; case 123: ! #line 1111 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build_tree_list (yyvsp[0].node, yyvsp[-1].node); ! ARG_FINAL_P (yyval.node) = 1; ;} break; case 124: ! #line 1116 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { yyerror ("Missing identifier"); RECOVER; ! yyval.node = NULL_TREE; ;} break; case 125: ! #line 1121 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { yyerror ("Missing identifier"); RECOVER; ! yyval.node = NULL_TREE; ;} break; case 126: ! #line 1129 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { check_modifiers ("Illegal modifier %qs. Only % was expected here", ! yyvsp[0].value, ACC_FINAL); ! if (yyvsp[0].value != ACC_FINAL) MODIFIER_WFL (FINAL_TK) = build_wfl_node (NULL_TREE); ;} break; case 127: ! #line 1138 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = NULL_TREE; ;} break; case 128: ! #line 1140 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = yyvsp[0].node; ;} break; case 129: ! #line 1142 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing class type term"); RECOVER;;} break; case 130: ! #line 1147 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_tree_list (yyvsp[0].node, yyvsp[0].node); ;} break; case 131: ! #line 1149 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = tree_cons (yyvsp[0].node, yyvsp[0].node, yyvsp[-2].node); ;} break; case 132: ! #line 1151 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing class type term"); RECOVER;;} break; case 134: ! #line 1156 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = NULL_TREE; ;} break; case 135: ! #line 1162 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! TREE_CHAIN (yyvsp[0].node) = CPC_STATIC_INITIALIZER_STMT (ctxp); ! SET_CPC_STATIC_INITIALIZER_STMT (ctxp, yyvsp[0].node); current_static_block = NULL_TREE; ;} break; case 136: ! #line 1171 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! check_modifiers ("Illegal modifier %qs for static initializer", yyvsp[0].value, ACC_STATIC); /* Can't have a static initializer in an innerclass */ ! if (yyvsp[0].value | ACC_STATIC && GET_CPC_LIST () && !TOPLEVEL_CLASS_DECL_P (GET_CPC ())) parse_error_context (MODIFIER_WFL (STATIC_TK), "Can't define static initializer in class %qs. Static initializer can only be defined in top-level classes", IDENTIFIER_POINTER (DECL_NAME (GET_CPC ()))); ! SOURCE_FRONTEND_DEBUG (("Modifiers: %d", yyvsp[0].value)); ;} break; case 137: ! #line 1187 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! current_function_decl = yyvsp[0].node; source_start_java_method (current_function_decl); ;} break; case 138: ! #line 1192 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { finish_method_declaration (yyvsp[0].node); ;} break; case 139: ! #line 1197 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = method_header (0, NULL_TREE, yyvsp[-1].node, yyvsp[0].node); ;} break; case 140: ! #line 1199 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = method_header (yyvsp[-2].value, NULL_TREE, yyvsp[-1].node, yyvsp[0].node); ;} break; case 141: ! #line 1204 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ctxp->formal_parameter_number = 0; ! yyval.node = method_declarator (yyvsp[-2].node, NULL_TREE); ;} break; case 142: ! #line 1209 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = method_declarator (yyvsp[-3].node, yyvsp[-1].node); ;} break; case 143: ! #line 1217 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! BLOCK_EXPR_BODY (yyvsp[0].node) = build_java_empty_stmt (); ! yyval.node = yyvsp[0].node; ;} break; case 144: ! #line 1222 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = yyvsp[0].node; ;} break; case 145: ! #line 1224 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = yyvsp[0].node; ;} break; case 146: ! #line 1226 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = yyvsp[0].node; ;} break; case 148: ! #line 1236 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build_method_invocation (yyvsp[-3].node, NULL_TREE); ! yyval.node = build_debugable_stmt (EXPR_WFL_LINECOL (yyvsp[-3].node), yyval.node); ! yyval.node = java_method_add_stmt (current_function_decl, yyval.node); ;} break; case 149: ! #line 1242 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build_method_invocation (yyvsp[-4].node, yyvsp[-2].node); ! yyval.node = build_debugable_stmt (EXPR_WFL_LINECOL (yyvsp[-4].node), yyval.node); ! yyval.node = java_method_add_stmt (current_function_decl, yyval.node); ;} break; case 150: ! #line 1250 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! {yyval.node = parse_jdk1_1_error ("explicit constructor invocation"); ;} break; case 151: ! #line 1252 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! {yyval.node = parse_jdk1_1_error ("explicit constructor invocation"); ;} break; case 152: ! #line 1257 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { tree wfl = build_wfl_node (this_identifier_node); ! SET_EXPR_LOCATION_FROM_TOKEN (wfl, yyvsp[0].operator); ! yyval.node = wfl; ;} break; case 153: ! #line 1263 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { tree wfl = build_wfl_node (super_identifier_node); ! SET_EXPR_LOCATION_FROM_TOKEN (wfl, yyvsp[0].operator); ! yyval.node = wfl; ;} break; case 154: ! #line 1274 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { create_interface (0, yyvsp[0].node, NULL_TREE); ;} break; case 155: ! #line 1276 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ; ;} break; case 156: ! #line 1278 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { create_interface (yyvsp[-2].value, yyvsp[0].node, NULL_TREE); ;} break; case 157: ! #line 1280 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ; ;} break; case 158: ! #line 1282 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { create_interface (0, yyvsp[-1].node, yyvsp[0].node); ;} break; case 159: ! #line 1284 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ; ;} break; case 160: ! #line 1286 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { create_interface (yyvsp[-3].value, yyvsp[-1].node, yyvsp[0].node); ;} break; case 161: ! #line 1288 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ; ;} break; case 162: ! #line 1290 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { yyerror ("'{' expected"); RECOVER; ;} break; case 163: ! #line 1292 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { yyerror ("'{' expected"); RECOVER; ;} break; case 164: ! #line 1297 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ctxp->interface_number = 1; ! yyval.node = build_tree_list (yyvsp[0].node, NULL_TREE); ;} break; case 165: ! #line 1302 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ctxp->interface_number++; ! yyval.node = chainon (yyvsp[-2].node, build_tree_list (yyvsp[0].node, NULL_TREE)); ;} break; case 166: ! #line 1307 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Invalid interface type"); RECOVER;;} break; case 167: ! #line 1309 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 168: ! #line 1314 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = NULL_TREE; ;} break; case 169: ! #line 1316 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = NULL_TREE; ;} break; case 174: ! #line 1328 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { end_class_declaration (1); ;} break; case 175: ! #line 1330 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { end_class_declaration (1); ;} break; case 177: ! #line 1339 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! check_abstract_method_header (yyvsp[-1].node); current_function_decl = NULL_TREE; /* FIXME ? */ ;} break; case 178: ! #line 1344 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 179: ! #line 1350 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_new_array_init (yyvsp[-1].operator.location, NULL_TREE); ;} break; case 180: ! #line 1352 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_new_array_init (yyvsp[-2].operator.location, NULL_TREE); ;} break; case 181: ! #line 1354 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_new_array_init (yyvsp[-2].operator.location, yyvsp[-1].node); ;} break; case 182: ! #line 1356 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_new_array_init (yyvsp[-3].operator.location, yyvsp[-2].node); ;} break; case 183: ! #line 1361 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = tree_cons (maybe_build_array_element_wfl (yyvsp[0].node), ! yyvsp[0].node, NULL_TREE); ;} break; case 184: ! #line 1366 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = tree_cons (maybe_build_array_element_wfl (yyvsp[0].node), yyvsp[0].node, yyvsp[-2].node); ;} break; case 185: ! #line 1370 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 186: ! #line 1376 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = yyvsp[0].node; ;} break; case 187: ! #line 1378 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = yyvsp[0].node; ;} break; case 188: ! #line 1383 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { enter_block (); ;} break; case 189: ! #line 1388 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { maybe_absorb_scoping_blocks (); /* Store the location of the `}' when doing xrefs */ if (current_function_decl && flag_emit_xref) ! DECL_END_SOURCE_LINE (current_function_decl) = yyvsp[0].operator.location; ! yyval.node = exit_block (); ! if (!BLOCK_SUBBLOCKS (yyval.node)) ! BLOCK_SUBBLOCKS (yyval.node) = build_java_empty_stmt (); ;} break; case 193: ! #line 1407 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { java_method_add_stmt (current_function_decl, yyvsp[0].node); ;} break; case 194: ! #line 1409 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { LOCAL_CLASS_P (TREE_TYPE (GET_CPC ())) = 1; end_class_declaration (1); *************** yyreduce: *** 4452,4478 **** break; case 196: ! #line 1421 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { declare_local_variables (0, (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 197: ! #line 1423 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { declare_local_variables ((yyvsp[-2].value), (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 203: ! #line 1433 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = exit_block (); ;} break; case 208: ! #line 1442 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = exit_block (); ;} break; case 221: ! #line 1462 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { if (flag_extraneous_semicolon && ! current_static_block --- 4420,4446 ---- break; case 196: ! #line 1421 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { declare_local_variables (0, yyvsp[-1].node, yyvsp[0].node); ;} break; case 197: ! #line 1423 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { declare_local_variables (yyvsp[-2].value, yyvsp[-1].node, yyvsp[0].node); ;} break; case 203: ! #line 1433 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = exit_block (); ;} break; case 208: ! #line 1442 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = exit_block (); ;} break; case 221: ! #line 1462 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { if (flag_extraneous_semicolon && ! current_static_block *************** yyreduce: *** 4489,4534 **** #endif parse_warning_context (wfl_operator, "An empty declaration is a deprecated feature that should not be used"); } ! (yyval.node) = build_java_empty_stmt (); ;} break; case 222: ! #line 1484 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build_labeled_block (EXPR_WFL_LINECOL ((yyvsp[-1].node)), ! EXPR_WFL_NODE ((yyvsp[-1].node))); pushlevel (2); ! push_labeled_block ((yyval.node)); ! PUSH_LABELED_BLOCK ((yyval.node)); ;} break; case 223: ! #line 1495 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = finish_labeled_statement ((yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 224: ! #line 1497 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("':' expected"); RECOVER;;} break; case 225: ! #line 1502 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = finish_labeled_statement ((yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 226: ! #line 1509 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { /* We have a statement. Generate a WFL around it so we can debug it */ #ifdef USE_MAPPED_LOCATION ! (yyval.node) = expr_add_location ((yyvsp[-1].node), input_location, 1); #else ! (yyval.node) = build_expr_wfl ((yyvsp[-1].node), input_filename, input_line, 0); ! JAVA_MAYBE_GENERATE_DEBUG_INFO ((yyval.node)); #endif /* We know we have a statement, so set the debug info to be eventually generate here. */ --- 4457,4502 ---- #endif parse_warning_context (wfl_operator, "An empty declaration is a deprecated feature that should not be used"); } ! yyval.node = build_java_empty_stmt (); ;} break; case 222: ! #line 1484 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build_labeled_block (EXPR_WFL_LINECOL (yyvsp[-1].node), ! EXPR_WFL_NODE (yyvsp[-1].node)); pushlevel (2); ! push_labeled_block (yyval.node); ! PUSH_LABELED_BLOCK (yyval.node); ;} break; case 223: ! #line 1495 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = finish_labeled_statement (yyvsp[-1].node, yyvsp[0].node); ;} break; case 224: ! #line 1497 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("':' expected"); RECOVER;;} break; case 225: ! #line 1502 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = finish_labeled_statement (yyvsp[-1].node, yyvsp[0].node); ;} break; case 226: ! #line 1509 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { /* We have a statement. Generate a WFL around it so we can debug it */ #ifdef USE_MAPPED_LOCATION ! yyval.node = expr_add_location (yyvsp[-1].node, input_location, 1); #else ! yyval.node = build_expr_wfl (yyvsp[-1].node, input_filename, input_line, 0); ! JAVA_MAYBE_GENERATE_DEBUG_INFO (yyval.node); #endif /* We know we have a statement, so set the debug info to be eventually generate here. */ *************** yyreduce: *** 4536,4542 **** break; case 227: ! #line 1522 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { YYNOT_TWICE yyerror ("Invalid expression statement"); DRECOVER (expr_stmt); --- 4504,4510 ---- break; case 227: ! #line 1522 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { YYNOT_TWICE yyerror ("Invalid expression statement"); DRECOVER (expr_stmt); *************** yyreduce: *** 4544,4550 **** break; case 228: ! #line 1527 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { YYNOT_TWICE yyerror ("Invalid expression statement"); DRECOVER (expr_stmt); --- 4512,4518 ---- break; case 228: ! #line 1527 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { YYNOT_TWICE yyerror ("Invalid expression statement"); DRECOVER (expr_stmt); *************** yyreduce: *** 4552,4558 **** break; case 229: ! #line 1532 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { YYNOT_TWICE yyerror ("Invalid expression statement"); DRECOVER (expr_stmt); --- 4520,4526 ---- break; case 229: ! #line 1532 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { YYNOT_TWICE yyerror ("Invalid expression statement"); DRECOVER (expr_stmt); *************** yyreduce: *** 4560,4571 **** break; case 230: ! #line 1537 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;;} break; case 231: ! #line 1539 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { parse_ctor_invocation_error (); RECOVER; --- 4528,4539 ---- break; case 230: ! #line 1537 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;;} break; case 231: ! #line 1539 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { parse_ctor_invocation_error (); RECOVER; *************** yyreduce: *** 4573,4584 **** break; case 232: ! #line 1544 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;;} break; case 233: ! #line 1546 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { parse_ctor_invocation_error (); RECOVER; --- 4541,4552 ---- break; case 232: ! #line 1544 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;;} break; case 233: ! #line 1546 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { parse_ctor_invocation_error (); RECOVER; *************** yyreduce: *** 4586,4841 **** break; case 234: ! #line 1551 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER;;} break; case 235: ! #line 1553 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;;} break; case 236: ! #line 1555 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;;} break; case 237: ! #line 1557 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 238: ! #line 1559 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 246: ! #line 1574 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build_if_else_statement ((yyvsp[-3].operator).location, (yyvsp[-2].node), ! (yyvsp[0].node), NULL_TREE); ;} break; case 247: ! #line 1579 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER;;} break; case 248: ! #line 1581 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 249: ! #line 1583 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;;} break; case 250: ! #line 1588 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_if_else_statement ((yyvsp[-5].operator).location, (yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 251: ! #line 1593 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_if_else_statement ((yyvsp[-5].operator).location, (yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 252: ! #line 1598 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { enter_block (); ;} break; case 253: ! #line 1602 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { /* Make into "proper list" of COMPOUND_EXPRs. I.e. make the last statement also have its own COMPOUND_EXPR. */ maybe_absorb_scoping_blocks (); ! TREE_OPERAND ((yyvsp[-2].node), 1) = exit_block (); ! (yyval.node) = build_debugable_stmt (EXPR_WFL_LINECOL ((yyvsp[-2].node)), (yyvsp[-2].node)); ;} break; case 254: ! #line 1614 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build3 (SWITCH_EXPR, NULL_TREE, (yyvsp[-1].node), NULL_TREE, NULL_TREE); ! SET_EXPR_LOCATION_FROM_TOKEN ((yyval.node), (yyvsp[-2].operator)); ;} break; case 255: ! #line 1620 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER;;} break; case 256: ! #line 1622 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term or ')'"); DRECOVER(switch_statement);;} break; case 257: ! #line 1624 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("'{' expected"); RECOVER;;} break; case 258: ! #line 1632 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = NULL_TREE; ;} break; case 259: ! #line 1634 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = NULL_TREE; ;} break; case 260: ! #line 1636 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = NULL_TREE; ;} break; case 261: ! #line 1638 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = NULL_TREE; ;} break; case 267: ! #line 1657 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! tree lab = build1 (CASE_EXPR, NULL_TREE, (yyvsp[-1].node)); ! SET_EXPR_LOCATION_FROM_TOKEN (lab, (yyvsp[-2].operator)); java_method_add_stmt (current_function_decl, lab); ;} break; case 268: ! #line 1663 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { tree lab = make_node (DEFAULT_EXPR); ! SET_EXPR_LOCATION_FROM_TOKEN (lab, (yyvsp[-1].operator)); java_method_add_stmt (current_function_decl, lab); ;} break; case 269: ! #line 1669 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing or invalid constant expression"); RECOVER;;} break; case 270: ! #line 1671 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("':' expected"); RECOVER;;} break; case 271: ! #line 1673 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("':' expected"); RECOVER;;} break; case 272: ! #line 1678 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! tree body = build_loop_body ((yyvsp[-2].operator).location, (yyvsp[-1].node), 0); ! (yyval.node) = build_new_loop (body); ;} break; case 273: ! #line 1686 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = finish_loop_body (0, NULL_TREE, (yyvsp[0].node), 0); ;} break; case 274: ! #line 1688 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {YYERROR_NOW; yyerror ("'(' expected"); RECOVER;;} break; case 275: ! #line 1690 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term and ')' expected"); RECOVER;;} break; case 276: ! #line 1692 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;;} break; case 277: ! #line 1697 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = finish_loop_body (0, NULL_TREE, (yyvsp[0].node), 0); ;} break; case 278: ! #line 1702 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { tree body = build_loop_body (0, NULL_TREE, 1); ! (yyval.node) = build_new_loop (body); ;} break; case 279: ! #line 1711 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = finish_loop_body ((yyvsp[-3].operator).location, (yyvsp[-2].node), (yyvsp[-5].node), 1); ;} break; case 280: ! #line 1716 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! if (CONSTANT_CLASS_P ((yyvsp[-4].node))) ! (yyvsp[-4].node) = build_wfl_node ((yyvsp[-4].node)); ! (yyval.node) = finish_for_loop (EXPR_WFL_LINECOL ((yyvsp[-4].node)), (yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 281: ! #line 1722 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = finish_for_loop (0, NULL_TREE, (yyvsp[-2].node), (yyvsp[0].node)); /* We have not condition, so we get rid of the EXIT_EXPR */ ! LOOP_EXPR_BODY_CONDITION_EXPR (LOOP_EXPR_BODY ((yyval.node)), 0) = build_java_empty_stmt (); ;} break; case 282: ! #line 1729 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Invalid control expression"); RECOVER;;} break; case 283: ! #line 1731 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Invalid update expression"); RECOVER;;} break; case 284: ! #line 1733 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Invalid update expression"); RECOVER;;} break; case 285: ! #line 1738 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = finish_for_loop (EXPR_WFL_LINECOL ((yyvsp[-4].node)), (yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node));;} break; case 286: ! #line 1740 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = finish_for_loop (0, NULL_TREE, (yyvsp[-2].node), (yyvsp[0].node)); /* We have not condition, so we get rid of the EXIT_EXPR */ ! LOOP_EXPR_BODY_CONDITION_EXPR (LOOP_EXPR_BODY ((yyval.node)), 0) = build_java_empty_stmt (); ;} break; case 287: ! #line 1750 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { /* This scope defined for local variable that may be defined within the scope of the for loop */ --- 4554,4809 ---- break; case 234: ! #line 1551 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER;;} break; case 235: ! #line 1553 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;;} break; case 236: ! #line 1555 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;;} break; case 237: ! #line 1557 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 238: ! #line 1559 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 246: ! #line 1574 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build_if_else_statement (yyvsp[-3].operator.location, yyvsp[-2].node, ! yyvsp[0].node, NULL_TREE); ;} break; case 247: ! #line 1579 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER;;} break; case 248: ! #line 1581 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 249: ! #line 1583 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;;} break; case 250: ! #line 1588 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_if_else_statement (yyvsp[-5].operator.location, yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node); ;} break; case 251: ! #line 1593 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_if_else_statement (yyvsp[-5].operator.location, yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node); ;} break; case 252: ! #line 1598 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { enter_block (); ;} break; case 253: ! #line 1602 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { /* Make into "proper list" of COMPOUND_EXPRs. I.e. make the last statement also have its own COMPOUND_EXPR. */ maybe_absorb_scoping_blocks (); ! TREE_OPERAND (yyvsp[-2].node, 1) = exit_block (); ! yyval.node = build_debugable_stmt (EXPR_WFL_LINECOL (yyvsp[-2].node), yyvsp[-2].node); ;} break; case 254: ! #line 1614 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build3 (SWITCH_EXPR, NULL_TREE, yyvsp[-1].node, NULL_TREE, NULL_TREE); ! SET_EXPR_LOCATION_FROM_TOKEN (yyval.node, yyvsp[-2].operator); ;} break; case 255: ! #line 1620 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER;;} break; case 256: ! #line 1622 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term or ')'"); DRECOVER(switch_statement);;} break; case 257: ! #line 1624 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("'{' expected"); RECOVER;;} break; case 258: ! #line 1632 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = NULL_TREE; ;} break; case 259: ! #line 1634 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = NULL_TREE; ;} break; case 260: ! #line 1636 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = NULL_TREE; ;} break; case 261: ! #line 1638 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = NULL_TREE; ;} break; case 267: ! #line 1657 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! tree lab = build1 (CASE_EXPR, NULL_TREE, yyvsp[-1].node); ! SET_EXPR_LOCATION_FROM_TOKEN (lab, yyvsp[-2].operator); java_method_add_stmt (current_function_decl, lab); ;} break; case 268: ! #line 1663 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { tree lab = make_node (DEFAULT_EXPR); ! SET_EXPR_LOCATION_FROM_TOKEN (lab, yyvsp[-1].operator); java_method_add_stmt (current_function_decl, lab); ;} break; case 269: ! #line 1669 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing or invalid constant expression"); RECOVER;;} break; case 270: ! #line 1671 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("':' expected"); RECOVER;;} break; case 271: ! #line 1673 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("':' expected"); RECOVER;;} break; case 272: ! #line 1678 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! tree body = build_loop_body (yyvsp[-2].operator.location, yyvsp[-1].node, 0); ! yyval.node = build_new_loop (body); ;} break; case 273: ! #line 1686 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = finish_loop_body (0, NULL_TREE, yyvsp[0].node, 0); ;} break; case 274: ! #line 1688 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {YYERROR_NOW; yyerror ("'(' expected"); RECOVER;;} break; case 275: ! #line 1690 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term and ')' expected"); RECOVER;;} break; case 276: ! #line 1692 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;;} break; case 277: ! #line 1697 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = finish_loop_body (0, NULL_TREE, yyvsp[0].node, 0); ;} break; case 278: ! #line 1702 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { tree body = build_loop_body (0, NULL_TREE, 1); ! yyval.node = build_new_loop (body); ;} break; case 279: ! #line 1711 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = finish_loop_body (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[-5].node, 1); ;} break; case 280: ! #line 1716 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! if (CONSTANT_CLASS_P (yyvsp[-4].node)) ! yyvsp[-4].node = build_wfl_node (yyvsp[-4].node); ! yyval.node = finish_for_loop (EXPR_WFL_LINECOL (yyvsp[-4].node), yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node); ;} break; case 281: ! #line 1722 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = finish_for_loop (0, NULL_TREE, yyvsp[-2].node, yyvsp[0].node); /* We have not condition, so we get rid of the EXIT_EXPR */ ! LOOP_EXPR_BODY_CONDITION_EXPR (LOOP_EXPR_BODY (yyval.node), 0) = build_java_empty_stmt (); ;} break; case 282: ! #line 1729 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Invalid control expression"); RECOVER;;} break; case 283: ! #line 1731 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Invalid update expression"); RECOVER;;} break; case 284: ! #line 1733 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Invalid update expression"); RECOVER;;} break; case 285: ! #line 1738 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = finish_for_loop (EXPR_WFL_LINECOL (yyvsp[-4].node), yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node);;} break; case 286: ! #line 1740 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = finish_for_loop (0, NULL_TREE, yyvsp[-2].node, yyvsp[0].node); /* We have not condition, so we get rid of the EXIT_EXPR */ ! LOOP_EXPR_BODY_CONDITION_EXPR (LOOP_EXPR_BODY (yyval.node), 0) = build_java_empty_stmt (); ;} break; case 287: ! #line 1750 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { /* This scope defined for local variable that may be defined within the scope of the for loop */ *************** yyreduce: *** 4844,5110 **** break; case 288: ! #line 1756 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("'(' expected"); DRECOVER(for_1);;} break; case 289: ! #line 1758 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Invalid init statement"); RECOVER;;} break; case 290: ! #line 1763 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { /* We now declare the loop body. The loop is declared as a for loop. */ tree body = build_loop_body (0, NULL_TREE, 0); ! (yyval.node) = build_new_loop (body); ! FOR_LOOP_P ((yyval.node)) = 1; /* The loop is added to the current block the for statement is defined within */ ! java_method_add_stmt (current_function_decl, (yyval.node)); ;} break; case 291: ! #line 1775 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_java_empty_stmt (); ;} break; case 292: ! #line 1777 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { /* Init statement recorded within the previously defined block scope */ ! (yyval.node) = java_method_add_stmt (current_function_decl, (yyvsp[0].node)); ;} break; case 293: ! #line 1783 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { /* Local variable are recorded within the previously defined block scope */ ! (yyval.node) = NULL_TREE; ;} break; case 294: ! #line 1789 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("';' expected"); DRECOVER(for_init_1);;} break; case 295: ! #line 1793 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! {(yyval.node) = build_java_empty_stmt ();;} break; case 296: ! #line 1795 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_debugable_stmt (BUILD_LOCATION (), (yyvsp[0].node)); ;} break; case 297: ! #line 1800 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = add_stmt_to_compound (NULL_TREE, NULL_TREE, (yyvsp[0].node)); ;} break; case 298: ! #line 1802 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = add_stmt_to_compound ((yyvsp[-2].node), NULL_TREE, (yyvsp[0].node)); ;} break; case 299: ! #line 1804 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 300: ! #line 1809 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_bc_statement ((yyvsp[-1].operator).location, 1, NULL_TREE); ;} break; case 301: ! #line 1811 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_bc_statement ((yyvsp[-2].operator).location, 1, (yyvsp[-1].node)); ;} break; case 302: ! #line 1813 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 303: ! #line 1815 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 304: ! #line 1820 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_bc_statement ((yyvsp[-1].operator).location, 0, NULL_TREE); ;} break; case 305: ! #line 1822 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_bc_statement ((yyvsp[-2].operator).location, 0, (yyvsp[-1].node)); ;} break; case 306: ! #line 1824 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 307: ! #line 1826 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 308: ! #line 1831 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_return ((yyvsp[-1].operator).location, NULL_TREE); ;} break; case 309: ! #line 1833 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_return ((yyvsp[-2].operator).location, (yyvsp[-1].node)); ;} break; case 310: ! #line 1835 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 311: ! #line 1837 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 312: ! #line 1842 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build1 (THROW_EXPR, NULL_TREE, (yyvsp[-1].node)); ! SET_EXPR_LOCATION_FROM_TOKEN ((yyval.node), (yyvsp[-2].operator)); ;} break; case 313: ! #line 1847 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 314: ! #line 1849 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 315: ! #line 1854 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build_assertion ((yyvsp[-4].operator).location, (yyvsp[-3].node), (yyvsp[-1].node)); ;} break; case 316: ! #line 1858 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build_assertion ((yyvsp[-2].operator).location, (yyvsp[-1].node), NULL_TREE); ;} break; case 317: ! #line 1862 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 318: ! #line 1864 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 319: ! #line 1869 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build2 (SYNCHRONIZED_EXPR, NULL_TREE, (yyvsp[-2].node), (yyvsp[0].node)); ! EXPR_WFL_LINECOL ((yyval.node)) = EXPR_WFL_LINECOL (MODIFIER_WFL (SYNCHRONIZED_TK)); ;} break; case 320: ! #line 1875 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("'{' expected"); RECOVER;;} break; case 321: ! #line 1877 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER;;} break; case 322: ! #line 1879 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 323: ! #line 1881 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 324: ! #line 1886 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { check_modifiers ( "Illegal modifier %qs. Only % was expected here", ! (yyvsp[0].value), ACC_SYNCHRONIZED); ! if ((yyvsp[0].value) != ACC_SYNCHRONIZED) MODIFIER_WFL (SYNCHRONIZED_TK) = build_wfl_node (NULL_TREE); ;} break; case 325: ! #line 1898 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_try_statement ((yyvsp[-2].operator).location, (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 326: ! #line 1900 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_try_finally_statement ((yyvsp[-2].operator).location, (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 327: ! #line 1902 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_try_finally_statement ! ((yyvsp[-3].operator).location, build_try_statement ((yyvsp[-3].operator).location, ! (yyvsp[-2].node), (yyvsp[-1].node)), (yyvsp[0].node)); ;} break; case 328: ! #line 1907 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("'{' expected"); DRECOVER (try_statement);;} break; case 330: ! #line 1913 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! TREE_CHAIN ((yyvsp[0].node)) = (yyvsp[-1].node); ! (yyval.node) = (yyvsp[0].node); ;} break; case 331: ! #line 1921 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! java_method_add_stmt (current_function_decl, (yyvsp[0].node)); exit_block (); ! (yyval.node) = (yyvsp[-1].node); ;} break; case 332: ! #line 1930 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { /* We add a block to define a scope for formal_parameter (CCBP). The formal parameter is --- 4812,5078 ---- break; case 288: ! #line 1756 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("'(' expected"); DRECOVER(for_1);;} break; case 289: ! #line 1758 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Invalid init statement"); RECOVER;;} break; case 290: ! #line 1763 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { /* We now declare the loop body. The loop is declared as a for loop. */ tree body = build_loop_body (0, NULL_TREE, 0); ! yyval.node = build_new_loop (body); ! FOR_LOOP_P (yyval.node) = 1; /* The loop is added to the current block the for statement is defined within */ ! java_method_add_stmt (current_function_decl, yyval.node); ;} break; case 291: ! #line 1775 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_java_empty_stmt (); ;} break; case 292: ! #line 1777 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { /* Init statement recorded within the previously defined block scope */ ! yyval.node = java_method_add_stmt (current_function_decl, yyvsp[0].node); ;} break; case 293: ! #line 1783 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { /* Local variable are recorded within the previously defined block scope */ ! yyval.node = NULL_TREE; ;} break; case 294: ! #line 1789 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("';' expected"); DRECOVER(for_init_1);;} break; case 295: ! #line 1793 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! {yyval.node = build_java_empty_stmt ();;} break; case 296: ! #line 1795 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_debugable_stmt (BUILD_LOCATION (), yyvsp[0].node); ;} break; case 297: ! #line 1800 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = add_stmt_to_compound (NULL_TREE, NULL_TREE, yyvsp[0].node); ;} break; case 298: ! #line 1802 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = add_stmt_to_compound (yyvsp[-2].node, NULL_TREE, yyvsp[0].node); ;} break; case 299: ! #line 1804 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 300: ! #line 1809 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_bc_statement (yyvsp[-1].operator.location, 1, NULL_TREE); ;} break; case 301: ! #line 1811 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_bc_statement (yyvsp[-2].operator.location, 1, yyvsp[-1].node); ;} break; case 302: ! #line 1813 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 303: ! #line 1815 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 304: ! #line 1820 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_bc_statement (yyvsp[-1].operator.location, 0, NULL_TREE); ;} break; case 305: ! #line 1822 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_bc_statement (yyvsp[-2].operator.location, 0, yyvsp[-1].node); ;} break; case 306: ! #line 1824 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 307: ! #line 1826 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 308: ! #line 1831 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_return (yyvsp[-1].operator.location, NULL_TREE); ;} break; case 309: ! #line 1833 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_return (yyvsp[-2].operator.location, yyvsp[-1].node); ;} break; case 310: ! #line 1835 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 311: ! #line 1837 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 312: ! #line 1842 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build1 (THROW_EXPR, NULL_TREE, yyvsp[-1].node); ! SET_EXPR_LOCATION_FROM_TOKEN (yyval.node, yyvsp[-2].operator); ;} break; case 313: ! #line 1847 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 314: ! #line 1849 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 315: ! #line 1854 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build_assertion (yyvsp[-4].operator.location, yyvsp[-3].node, yyvsp[-1].node); ;} break; case 316: ! #line 1858 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build_assertion (yyvsp[-2].operator.location, yyvsp[-1].node, NULL_TREE); ;} break; case 317: ! #line 1862 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 318: ! #line 1864 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 319: ! #line 1869 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build2 (SYNCHRONIZED_EXPR, NULL_TREE, yyvsp[-2].node, yyvsp[0].node); ! EXPR_WFL_LINECOL (yyval.node) = EXPR_WFL_LINECOL (MODIFIER_WFL (SYNCHRONIZED_TK)); ;} break; case 320: ! #line 1875 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("'{' expected"); RECOVER;;} break; case 321: ! #line 1877 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER;;} break; case 322: ! #line 1879 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 323: ! #line 1881 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 324: ! #line 1886 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { check_modifiers ( "Illegal modifier %qs. Only % was expected here", ! yyvsp[0].value, ACC_SYNCHRONIZED); ! if (yyvsp[0].value != ACC_SYNCHRONIZED) MODIFIER_WFL (SYNCHRONIZED_TK) = build_wfl_node (NULL_TREE); ;} break; case 325: ! #line 1898 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_try_statement (yyvsp[-2].operator.location, yyvsp[-1].node, yyvsp[0].node); ;} break; case 326: ! #line 1900 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_try_finally_statement (yyvsp[-2].operator.location, yyvsp[-1].node, yyvsp[0].node); ;} break; case 327: ! #line 1902 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_try_finally_statement ! (yyvsp[-3].operator.location, build_try_statement (yyvsp[-3].operator.location, ! yyvsp[-2].node, yyvsp[-1].node), yyvsp[0].node); ;} break; case 328: ! #line 1907 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("'{' expected"); DRECOVER (try_statement);;} break; case 330: ! #line 1913 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! TREE_CHAIN (yyvsp[0].node) = yyvsp[-1].node; ! yyval.node = yyvsp[0].node; ;} break; case 331: ! #line 1921 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! java_method_add_stmt (current_function_decl, yyvsp[0].node); exit_block (); ! yyval.node = yyvsp[-1].node; ;} break; case 332: ! #line 1930 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { /* We add a block to define a scope for formal_parameter (CCBP). The formal parameter is *************** yyreduce: *** 5112,5277 **** call */ tree ccpb; tree init; ! if ((yyvsp[-1].node)) { ccpb = enter_block (); init = build_assignment ! (ASSIGN_TK, (yyvsp[-2].operator).location, TREE_PURPOSE ((yyvsp[-1].node)), build0 (JAVA_EXC_OBJ_EXPR, ptr_type_node)); ! declare_local_variables (0, TREE_VALUE ((yyvsp[-1].node)), build_tree_list ! (TREE_PURPOSE ((yyvsp[-1].node)), init)); ! (yyval.node) = build1 (JAVA_CATCH_EXPR, NULL_TREE, ccpb); ! SET_EXPR_LOCATION_FROM_TOKEN ((yyval.node), (yyvsp[-3].operator)); } else { ! (yyval.node) = error_mark_node; } ;} break; case 333: ! #line 1955 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! {yyerror ("'(' expected"); RECOVER; (yyval.node) = NULL_TREE;;} break; case 334: ! #line 1957 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { yyerror ("Missing term or ')' expected"); ! RECOVER; (yyval.node) = NULL_TREE; ;} break; case 335: ! #line 1962 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! {yyerror ("Missing term"); RECOVER; (yyval.node) = NULL_TREE;;} break; case 336: ! #line 1967 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = (yyvsp[0].node); ;} break; case 337: ! #line 1969 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("'{' expected"); RECOVER; ;} break; case 342: ! #line 1982 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_this ((yyvsp[0].operator).location); ;} break; case 343: ! #line 1984 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! {(yyval.node) = (yyvsp[-1].node);;} break; case 349: ! #line 1994 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { tree wfl = build_wfl_node (this_identifier_node); ! (yyval.node) = make_qualified_primary ((yyvsp[-2].node), wfl, EXPR_WFL_LINECOL ((yyvsp[-2].node))); ;} break; case 350: ! #line 1999 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;;} break; case 351: ! #line 2001 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("'class' or 'this' expected" ); RECOVER;;} break; case 352: ! #line 2003 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("'class' expected" ); RECOVER;;} break; case 353: ! #line 2005 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("'class' expected" ); RECOVER;;} break; case 354: ! #line 2010 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_incomplete_class_ref ((yyvsp[-1].operator).location, (yyvsp[-2].node)); ;} break; case 355: ! #line 2012 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_incomplete_class_ref ((yyvsp[-1].operator).location, (yyvsp[-2].node)); ;} break; case 356: ! #line 2014 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_incomplete_class_ref ((yyvsp[-1].operator).location, (yyvsp[-2].node)); ;} break; case 357: ! #line 2016 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build_incomplete_class_ref ((yyvsp[-1].operator).location, void_type_node); ;} break; case 358: ! #line 2024 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_new_invocation ((yyvsp[-3].node), (yyvsp[-1].node)); ;} break; case 359: ! #line 2026 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_new_invocation ((yyvsp[-2].node), NULL_TREE); ;} break; case 361: ! #line 2032 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! tree ctor = build_new_invocation ((yyvsp[-2].node), NULL_TREE); ! (yyval.node) = make_qualified_primary ((yyvsp[-3].node), ctor, ! EXPR_WFL_LINECOL ((yyvsp[-3].node))); ;} break; case 363: ! #line 2039 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! tree ctor = build_new_invocation ((yyvsp[-3].node), (yyvsp[-1].node)); ! (yyval.node) = make_qualified_primary ((yyvsp[-4].node), ctor, ! EXPR_WFL_LINECOL ((yyvsp[-4].node))); ;} break; case 365: ! #line 2046 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! {(yyval.node) = NULL_TREE; yyerror ("'(' expected"); DRECOVER(new_1);;} break; case 366: ! #line 2048 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! {(yyval.node) = NULL_TREE; yyerror ("'(' expected"); RECOVER;;} break; case 367: ! #line 2050 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! {(yyval.node) = NULL_TREE; yyerror ("')' or term expected"); RECOVER;;} break; case 368: ! #line 2052 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! {(yyval.node) = NULL_TREE; yyerror ("')' expected"); RECOVER;;} break; case 369: ! #line 2054 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = NULL_TREE; YYERROR_NOW; yyerror ("Identifier expected"); RECOVER; --- 5080,5245 ---- call */ tree ccpb; tree init; ! if (yyvsp[-1].node) { ccpb = enter_block (); init = build_assignment ! (ASSIGN_TK, yyvsp[-2].operator.location, TREE_PURPOSE (yyvsp[-1].node), build0 (JAVA_EXC_OBJ_EXPR, ptr_type_node)); ! declare_local_variables (0, TREE_VALUE (yyvsp[-1].node), build_tree_list ! (TREE_PURPOSE (yyvsp[-1].node), init)); ! yyval.node = build1 (JAVA_CATCH_EXPR, NULL_TREE, ccpb); ! SET_EXPR_LOCATION_FROM_TOKEN (yyval.node, yyvsp[-3].operator); } else { ! yyval.node = error_mark_node; } ;} break; case 333: ! #line 1955 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! {yyerror ("'(' expected"); RECOVER; yyval.node = NULL_TREE;;} break; case 334: ! #line 1957 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { yyerror ("Missing term or ')' expected"); ! RECOVER; yyval.node = NULL_TREE; ;} break; case 335: ! #line 1962 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! {yyerror ("Missing term"); RECOVER; yyval.node = NULL_TREE;;} break; case 336: ! #line 1967 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = yyvsp[0].node; ;} break; case 337: ! #line 1969 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("'{' expected"); RECOVER; ;} break; case 342: ! #line 1982 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_this (yyvsp[0].operator.location); ;} break; case 343: ! #line 1984 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! {yyval.node = yyvsp[-1].node;;} break; case 349: ! #line 1994 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { tree wfl = build_wfl_node (this_identifier_node); ! yyval.node = make_qualified_primary (yyvsp[-2].node, wfl, EXPR_WFL_LINECOL (yyvsp[-2].node)); ;} break; case 350: ! #line 1999 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;;} break; case 351: ! #line 2001 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("'class' or 'this' expected" ); RECOVER;;} break; case 352: ! #line 2003 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("'class' expected" ); RECOVER;;} break; case 353: ! #line 2005 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("'class' expected" ); RECOVER;;} break; case 354: ! #line 2010 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_incomplete_class_ref (yyvsp[-1].operator.location, yyvsp[-2].node); ;} break; case 355: ! #line 2012 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_incomplete_class_ref (yyvsp[-1].operator.location, yyvsp[-2].node); ;} break; case 356: ! #line 2014 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_incomplete_class_ref (yyvsp[-1].operator.location, yyvsp[-2].node); ;} break; case 357: ! #line 2016 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build_incomplete_class_ref (yyvsp[-1].operator.location, void_type_node); ;} break; case 358: ! #line 2024 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_new_invocation (yyvsp[-3].node, yyvsp[-1].node); ;} break; case 359: ! #line 2026 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_new_invocation (yyvsp[-2].node, NULL_TREE); ;} break; case 361: ! #line 2032 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! tree ctor = build_new_invocation (yyvsp[-2].node, NULL_TREE); ! yyval.node = make_qualified_primary (yyvsp[-3].node, ctor, ! EXPR_WFL_LINECOL (yyvsp[-3].node)); ;} break; case 363: ! #line 2039 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! tree ctor = build_new_invocation (yyvsp[-3].node, yyvsp[-1].node); ! yyval.node = make_qualified_primary (yyvsp[-4].node, ctor, ! EXPR_WFL_LINECOL (yyvsp[-4].node)); ;} break; case 365: ! #line 2046 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! {yyval.node = NULL_TREE; yyerror ("'(' expected"); DRECOVER(new_1);;} break; case 366: ! #line 2048 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! {yyval.node = NULL_TREE; yyerror ("'(' expected"); RECOVER;;} break; case 367: ! #line 2050 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! {yyval.node = NULL_TREE; yyerror ("')' or term expected"); RECOVER;;} break; case 368: ! #line 2052 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! {yyval.node = NULL_TREE; yyerror ("')' expected"); RECOVER;;} break; case 369: ! #line 2054 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = NULL_TREE; YYERROR_NOW; yyerror ("Identifier expected"); RECOVER; *************** yyreduce: *** 5279,5303 **** break; case 370: ! #line 2061 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! {(yyval.node) = NULL_TREE; yyerror ("'(' expected"); RECOVER;;} break; case 371: ! #line 2071 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { create_anonymous_class ((yyvsp[-3].node)); ;} break; case 372: ! #line 2073 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { tree id = build_wfl_node (DECL_NAME (GET_CPC ())); ! EXPR_WFL_LINECOL (id) = EXPR_WFL_LINECOL ((yyvsp[-5].node)); end_class_declaration (1); /* Now we can craft the new expression */ ! (yyval.node) = build_new_invocation (id, (yyvsp[-3].node)); /* Note that we can't possibly be here if `class_type' is an interface (in which case the --- 5247,5271 ---- break; case 370: ! #line 2061 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! {yyval.node = NULL_TREE; yyerror ("'(' expected"); RECOVER;;} break; case 371: ! #line 2071 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { create_anonymous_class (yyvsp[-3].node); ;} break; case 372: ! #line 2073 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { tree id = build_wfl_node (DECL_NAME (GET_CPC ())); ! EXPR_WFL_LINECOL (id) = EXPR_WFL_LINECOL (yyvsp[-5].node); end_class_declaration (1); /* Now we can craft the new expression */ ! yyval.node = build_new_invocation (id, yyvsp[-3].node); /* Note that we can't possibly be here if `class_type' is an interface (in which case the *************** yyreduce: *** 5323,5337 **** break; case 373: ! #line 2104 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { create_anonymous_class ((yyvsp[-2].node)); ;} break; case 374: ! #line 2106 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { tree id = build_wfl_node (DECL_NAME (GET_CPC ())); ! EXPR_WFL_LINECOL (id) = EXPR_WFL_LINECOL ((yyvsp[-4].node)); end_class_declaration (1); --- 5291,5305 ---- break; case 373: ! #line 2104 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { create_anonymous_class (yyvsp[-2].node); ;} break; case 374: ! #line 2106 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { tree id = build_wfl_node (DECL_NAME (GET_CPC ())); ! EXPR_WFL_LINECOL (id) = EXPR_WFL_LINECOL (yyvsp[-4].node); end_class_declaration (1); *************** yyreduce: *** 5339,5411 **** statement doesn't need to be remember so that a constructor can be generated, since its signature is already known. */ ! (yyval.node) = build_new_invocation (id, NULL_TREE); ;} break; case 375: ! #line 2122 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = (yyvsp[-2].node); ;} break; case 376: ! #line 2124 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = (yyvsp[-2].node); ;} break; case 377: ! #line 2129 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = tree_cons (NULL_TREE, (yyvsp[0].node), NULL_TREE); ctxp->formal_parameter_number = 1; ;} break; case 378: ! #line 2134 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ctxp->formal_parameter_number += 1; ! (yyval.node) = tree_cons (NULL_TREE, (yyvsp[0].node), (yyvsp[-2].node)); ;} break; case 379: ! #line 2139 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 380: ! #line 2144 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_newarray_node ((yyvsp[-1].node), (yyvsp[0].node), 0); ;} break; case 381: ! #line 2146 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_newarray_node ((yyvsp[-1].node), (yyvsp[0].node), 0); ;} break; case 382: ! #line 2148 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_newarray_node ((yyvsp[-2].node), (yyvsp[-1].node), pop_current_osb (ctxp));;} break; case 383: ! #line 2150 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_newarray_node ((yyvsp[-2].node), (yyvsp[-1].node), pop_current_osb (ctxp));;} break; case 384: ! #line 2152 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("'[' expected"); DRECOVER ("]");;} break; case 385: ! #line 2154 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("']' expected"); RECOVER;;} break; case 386: ! #line 2161 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { char *sig; int osb = pop_current_osb (ctxp); --- 5307,5379 ---- statement doesn't need to be remember so that a constructor can be generated, since its signature is already known. */ ! yyval.node = build_new_invocation (id, NULL_TREE); ;} break; case 375: ! #line 2122 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = yyvsp[-2].node; ;} break; case 376: ! #line 2124 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = yyvsp[-2].node; ;} break; case 377: ! #line 2129 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = tree_cons (NULL_TREE, yyvsp[0].node, NULL_TREE); ctxp->formal_parameter_number = 1; ;} break; case 378: ! #line 2134 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ctxp->formal_parameter_number += 1; ! yyval.node = tree_cons (NULL_TREE, yyvsp[0].node, yyvsp[-2].node); ;} break; case 379: ! #line 2139 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 380: ! #line 2144 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_newarray_node (yyvsp[-1].node, yyvsp[0].node, 0); ;} break; case 381: ! #line 2146 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_newarray_node (yyvsp[-1].node, yyvsp[0].node, 0); ;} break; case 382: ! #line 2148 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_newarray_node (yyvsp[-2].node, yyvsp[-1].node, pop_current_osb (ctxp));;} break; case 383: ! #line 2150 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_newarray_node (yyvsp[-2].node, yyvsp[-1].node, pop_current_osb (ctxp));;} break; case 384: ! #line 2152 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("'[' expected"); DRECOVER ("]");;} break; case 385: ! #line 2154 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("']' expected"); RECOVER;;} break; case 386: ! #line 2161 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { char *sig; int osb = pop_current_osb (ctxp); *************** yyreduce: *** 5413,5475 **** obstack_grow (&temporary_obstack, "[]", 2); obstack_1grow (&temporary_obstack, '\0'); sig = obstack_finish (&temporary_obstack); ! (yyval.node) = build3 (NEW_ANONYMOUS_ARRAY_EXPR, NULL_TREE, ! (yyvsp[-2].node), get_identifier (sig), (yyvsp[0].node)); ;} break; case 387: ! #line 2172 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { int osb = pop_current_osb (ctxp); ! tree type = (yyvsp[-2].node); while (osb--) type = build_java_array_type (type, -1); ! (yyval.node) = build3 (NEW_ANONYMOUS_ARRAY_EXPR, NULL_TREE, ! build_pointer_type (type), NULL_TREE, (yyvsp[0].node)); ;} break; case 388: ! #line 2181 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("'[' expected"); DRECOVER ("]");;} break; case 389: ! #line 2183 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("']' expected"); RECOVER;;} break; case 390: ! #line 2188 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_tree_list (NULL_TREE, (yyvsp[0].node)); ;} break; case 391: ! #line 2190 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = tree_cons (NULL_TREE, (yyvsp[0].node), (yyval.node)); ;} break; case 392: ! #line 2195 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! if (JNUMERIC_TYPE_P (TREE_TYPE ((yyvsp[-1].node)))) { ! (yyvsp[-1].node) = build_wfl_node ((yyvsp[-1].node)); ! TREE_TYPE ((yyvsp[-1].node)) = NULL_TREE; } ! EXPR_WFL_LINECOL ((yyvsp[-1].node)) = (yyvsp[-2].operator).location; ! (yyval.node) = (yyvsp[-1].node); ;} break; case 393: ! #line 2205 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("']' expected"); RECOVER;;} break; case 394: ! #line 2207 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { yyerror ("Missing term"); yyerror ("']' expected"); --- 5381,5443 ---- obstack_grow (&temporary_obstack, "[]", 2); obstack_1grow (&temporary_obstack, '\0'); sig = obstack_finish (&temporary_obstack); ! yyval.node = build3 (NEW_ANONYMOUS_ARRAY_EXPR, NULL_TREE, ! yyvsp[-2].node, get_identifier (sig), yyvsp[0].node); ;} break; case 387: ! #line 2172 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { int osb = pop_current_osb (ctxp); ! tree type = yyvsp[-2].node; while (osb--) type = build_java_array_type (type, -1); ! yyval.node = build3 (NEW_ANONYMOUS_ARRAY_EXPR, NULL_TREE, ! build_pointer_type (type), NULL_TREE, yyvsp[0].node); ;} break; case 388: ! #line 2181 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("'[' expected"); DRECOVER ("]");;} break; case 389: ! #line 2183 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("']' expected"); RECOVER;;} break; case 390: ! #line 2188 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_tree_list (NULL_TREE, yyvsp[0].node); ;} break; case 391: ! #line 2190 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = tree_cons (NULL_TREE, yyvsp[0].node, yyval.node); ;} break; case 392: ! #line 2195 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! if (JNUMERIC_TYPE_P (TREE_TYPE (yyvsp[-1].node))) { ! yyvsp[-1].node = build_wfl_node (yyvsp[-1].node); ! TREE_TYPE (yyvsp[-1].node) = NULL_TREE; } ! EXPR_WFL_LINECOL (yyvsp[-1].node) = yyvsp[-2].operator.location; ! yyval.node = yyvsp[-1].node; ;} break; case 393: ! #line 2205 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("']' expected"); RECOVER;;} break; case 394: ! #line 2207 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { yyerror ("Missing term"); yyerror ("']' expected"); *************** yyreduce: *** 5478,5484 **** break; case 395: ! #line 2216 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { int allocate = 0; /* If not initialized, allocate memory for the osb --- 5446,5452 ---- break; case 395: ! #line 2216 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { int allocate = 0; /* If not initialized, allocate memory for the osb *************** yyreduce: *** 5507,5621 **** break; case 396: ! #line 2242 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { CURRENT_OSB (ctxp)++; ;} break; case 397: ! #line 2244 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { yyerror ("']' expected"); RECOVER;;} break; case 398: ! #line 2249 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = make_qualified_primary ((yyvsp[-2].node), (yyvsp[0].node), (yyvsp[-1].operator).location); ;} break; case 399: ! #line 2253 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { tree super_wfl = build_wfl_node (super_identifier_node); ! SET_EXPR_LOCATION_FROM_TOKEN (super_wfl, (yyvsp[-2].operator)); ! (yyval.node) = make_qualified_name (super_wfl, (yyvsp[0].node), (yyvsp[-1].operator).location); ;} break; case 400: ! #line 2259 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Field expected"); DRECOVER (super_field_acces);;} break; case 401: ! #line 2264 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_method_invocation ((yyvsp[-2].node), NULL_TREE); ;} break; case 402: ! #line 2266 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_method_invocation ((yyvsp[-3].node), (yyvsp[-1].node)); ;} break; case 403: ! #line 2268 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! if (TREE_CODE ((yyvsp[-4].node)) == THIS_EXPR) ! (yyval.node) = build_this_super_qualified_invocation ! (1, (yyvsp[-2].node), NULL_TREE, 0, (yyvsp[-3].operator).location); else { ! tree invok = build_method_invocation ((yyvsp[-2].node), NULL_TREE); ! (yyval.node) = make_qualified_primary ((yyvsp[-4].node), invok, (yyvsp[-3].operator).location); } ;} break; case 404: ! #line 2279 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! if (TREE_CODE ((yyvsp[-5].node)) == THIS_EXPR) ! (yyval.node) = build_this_super_qualified_invocation ! (1, (yyvsp[-3].node), (yyvsp[-1].node), 0, (yyvsp[-4].operator).location); else { ! tree invok = build_method_invocation ((yyvsp[-3].node), (yyvsp[-1].node)); ! (yyval.node) = make_qualified_primary ((yyvsp[-5].node), invok, (yyvsp[-4].operator).location); } ;} break; case 405: ! #line 2290 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build_this_super_qualified_invocation ! (0, (yyvsp[-2].node), NULL_TREE, (yyvsp[-4].operator).location, (yyvsp[-3].operator).location); ;} break; case 406: ! #line 2295 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build_this_super_qualified_invocation ! (0, (yyvsp[-3].node), (yyvsp[-1].node), (yyvsp[-5].operator).location, (yyvsp[-4].operator).location); ;} break; case 407: ! #line 2304 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { yyerror ("'(' expected"); DRECOVER (method_invocation); ;} break; case 408: ! #line 2306 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { yyerror ("'(' expected"); DRECOVER (method_invocation); ;} break; case 409: ! #line 2311 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_array_ref ((yyvsp[-2].operator).location, (yyvsp[-3].node), (yyvsp[-1].node)); ;} break; case 410: ! #line 2313 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_array_ref ((yyvsp[-2].operator).location, (yyvsp[-3].node), (yyvsp[-1].node)); ;} break; case 411: ! #line 2315 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_array_ref ((yyvsp[-2].operator).location, (yyvsp[-3].node), (yyvsp[-1].node)); ;} break; case 412: ! #line 2317 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { yyerror ("Missing term and ']' expected"); DRECOVER(array_access); --- 5475,5589 ---- break; case 396: ! #line 2242 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { CURRENT_OSB (ctxp)++; ;} break; case 397: ! #line 2244 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { yyerror ("']' expected"); RECOVER;;} break; case 398: ! #line 2249 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = make_qualified_primary (yyvsp[-2].node, yyvsp[0].node, yyvsp[-1].operator.location); ;} break; case 399: ! #line 2253 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { tree super_wfl = build_wfl_node (super_identifier_node); ! SET_EXPR_LOCATION_FROM_TOKEN (super_wfl, yyvsp[-2].operator); ! yyval.node = make_qualified_name (super_wfl, yyvsp[0].node, yyvsp[-1].operator.location); ;} break; case 400: ! #line 2259 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Field expected"); DRECOVER (super_field_acces);;} break; case 401: ! #line 2264 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_method_invocation (yyvsp[-2].node, NULL_TREE); ;} break; case 402: ! #line 2266 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_method_invocation (yyvsp[-3].node, yyvsp[-1].node); ;} break; case 403: ! #line 2268 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! if (TREE_CODE (yyvsp[-4].node) == THIS_EXPR) ! yyval.node = build_this_super_qualified_invocation ! (1, yyvsp[-2].node, NULL_TREE, 0, yyvsp[-3].operator.location); else { ! tree invok = build_method_invocation (yyvsp[-2].node, NULL_TREE); ! yyval.node = make_qualified_primary (yyvsp[-4].node, invok, yyvsp[-3].operator.location); } ;} break; case 404: ! #line 2279 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! if (TREE_CODE (yyvsp[-5].node) == THIS_EXPR) ! yyval.node = build_this_super_qualified_invocation ! (1, yyvsp[-3].node, yyvsp[-1].node, 0, yyvsp[-4].operator.location); else { ! tree invok = build_method_invocation (yyvsp[-3].node, yyvsp[-1].node); ! yyval.node = make_qualified_primary (yyvsp[-5].node, invok, yyvsp[-4].operator.location); } ;} break; case 405: ! #line 2290 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build_this_super_qualified_invocation ! (0, yyvsp[-2].node, NULL_TREE, yyvsp[-4].operator.location, yyvsp[-3].operator.location); ;} break; case 406: ! #line 2295 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build_this_super_qualified_invocation ! (0, yyvsp[-3].node, yyvsp[-1].node, yyvsp[-5].operator.location, yyvsp[-4].operator.location); ;} break; case 407: ! #line 2304 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { yyerror ("'(' expected"); DRECOVER (method_invocation); ;} break; case 408: ! #line 2306 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { yyerror ("'(' expected"); DRECOVER (method_invocation); ;} break; case 409: ! #line 2311 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_array_ref (yyvsp[-2].operator.location, yyvsp[-3].node, yyvsp[-1].node); ;} break; case 410: ! #line 2313 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_array_ref (yyvsp[-2].operator.location, yyvsp[-3].node, yyvsp[-1].node); ;} break; case 411: ! #line 2315 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_array_ref (yyvsp[-2].operator.location, yyvsp[-3].node, yyvsp[-1].node); ;} break; case 412: ! #line 2317 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { yyerror ("Missing term and ']' expected"); DRECOVER(array_access); *************** yyreduce: *** 5623,5629 **** break; case 413: ! #line 2322 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { yyerror ("']' expected"); DRECOVER(array_access); --- 5591,5597 ---- break; case 413: ! #line 2322 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { yyerror ("']' expected"); DRECOVER(array_access); *************** yyreduce: *** 5631,5637 **** break; case 414: ! #line 2327 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { yyerror ("Missing term and ']' expected"); DRECOVER(array_access); --- 5599,5605 ---- break; case 414: ! #line 2327 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { yyerror ("Missing term and ']' expected"); DRECOVER(array_access); *************** yyreduce: *** 5639,5645 **** break; case 415: ! #line 2332 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { yyerror ("']' expected"); DRECOVER(array_access); --- 5607,5613 ---- break; case 415: ! #line 2332 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { yyerror ("']' expected"); DRECOVER(array_access); *************** yyreduce: *** 5647,5653 **** break; case 416: ! #line 2337 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { yyerror ("Missing term and ']' expected"); DRECOVER(array_access); --- 5615,5621 ---- break; case 416: ! #line 2337 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { yyerror ("Missing term and ']' expected"); DRECOVER(array_access); *************** yyreduce: *** 5655,5661 **** break; case 417: ! #line 2342 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { yyerror ("']' expected"); DRECOVER(array_access); --- 5623,5629 ---- break; case 417: ! #line 2342 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { yyerror ("']' expected"); DRECOVER(array_access); *************** yyreduce: *** 5663,5791 **** break; case 422: ! #line 2357 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_incdec ((yyvsp[0].operator).token, (yyvsp[0].operator).location, (yyvsp[-1].node), 1); ;} break; case 423: ! #line 2362 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_incdec ((yyvsp[0].operator).token, (yyvsp[0].operator).location, (yyvsp[-1].node), 1); ;} break; case 426: ! #line 2369 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! {(yyval.node) = build_unaryop ((yyvsp[-1].operator).token, (yyvsp[-1].operator).location, (yyvsp[0].node)); ;} break; case 428: ! #line 2372 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;} break; case 429: ! #line 2377 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! if ((yyvsp[0].node)) ! error_if_numeric_overflow ((yyvsp[0].node)); ! (yyval.node) = (yyvsp[0].node); ;} break; case 430: ! #line 2383 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! {(yyval.node) = build_unaryop ((yyvsp[-1].operator).token, (yyvsp[-1].operator).location, (yyvsp[0].node)); ;} break; case 431: ! #line 2385 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;} break; case 432: ! #line 2390 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! {(yyval.node) = build_incdec ((yyvsp[-1].operator).token, (yyvsp[-1].operator).location, (yyvsp[0].node), 0); ;} break; case 433: ! #line 2392 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;} break; case 434: ! #line 2397 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! {(yyval.node) = build_incdec ((yyvsp[-1].operator).token, (yyvsp[-1].operator).location, (yyvsp[0].node), 0); ;} break; case 435: ! #line 2399 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;} break; case 437: ! #line 2405 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! {(yyval.node) = build_unaryop ((yyvsp[-1].operator).token, (yyvsp[-1].operator).location, (yyvsp[0].node)); ;} break; case 438: ! #line 2407 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! {(yyval.node) = build_unaryop ((yyvsp[-1].operator).token, (yyvsp[-1].operator).location, (yyvsp[0].node)); ;} break; case 440: ! #line 2410 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;} break; case 441: ! #line 2412 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;} break; case 442: ! #line 2417 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! tree type = (yyvsp[-3].node); int osb = pop_current_osb (ctxp); while (osb--) type = build_java_array_type (type, -1); ! (yyval.node) = build_cast ((yyvsp[-4].operator).location, type, (yyvsp[0].node)); ;} break; case 443: ! #line 2425 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_cast ((yyvsp[-3].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 444: ! #line 2427 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_cast ((yyvsp[-3].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 445: ! #line 2429 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { const char *ptr; int osb = pop_current_osb (ctxp); obstack_grow (&temporary_obstack, ! IDENTIFIER_POINTER (EXPR_WFL_NODE ((yyvsp[-3].node))), ! IDENTIFIER_LENGTH (EXPR_WFL_NODE ((yyvsp[-3].node)))); while (osb--) obstack_grow (&temporary_obstack, "[]", 2); obstack_1grow (&temporary_obstack, '\0'); ptr = obstack_finish (&temporary_obstack); ! EXPR_WFL_NODE ((yyvsp[-3].node)) = get_identifier (ptr); ! (yyval.node) = build_cast ((yyvsp[-4].operator).location, (yyvsp[-3].node), (yyvsp[0].node)); ;} break; case 446: ! #line 2443 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("']' expected, invalid type expression");;} break; case 447: ! #line 2445 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { YYNOT_TWICE yyerror ("Invalid type expression"); RECOVER; RECOVER; --- 5631,5759 ---- break; case 422: ! #line 2357 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_incdec (yyvsp[0].operator.token, yyvsp[0].operator.location, yyvsp[-1].node, 1); ;} break; case 423: ! #line 2362 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_incdec (yyvsp[0].operator.token, yyvsp[0].operator.location, yyvsp[-1].node, 1); ;} break; case 426: ! #line 2369 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! {yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ;} break; case 428: ! #line 2372 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;} break; case 429: ! #line 2377 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! if (yyvsp[0].node) ! error_if_numeric_overflow (yyvsp[0].node); ! yyval.node = yyvsp[0].node; ;} break; case 430: ! #line 2383 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! {yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ;} break; case 431: ! #line 2385 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;} break; case 432: ! #line 2390 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! {yyval.node = build_incdec (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node, 0); ;} break; case 433: ! #line 2392 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;} break; case 434: ! #line 2397 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! {yyval.node = build_incdec (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node, 0); ;} break; case 435: ! #line 2399 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;} break; case 437: ! #line 2405 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! {yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ;} break; case 438: ! #line 2407 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! {yyval.node = build_unaryop (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[0].node); ;} break; case 440: ! #line 2410 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;} break; case 441: ! #line 2412 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;} break; case 442: ! #line 2417 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! tree type = yyvsp[-3].node; int osb = pop_current_osb (ctxp); while (osb--) type = build_java_array_type (type, -1); ! yyval.node = build_cast (yyvsp[-4].operator.location, type, yyvsp[0].node); ;} break; case 443: ! #line 2425 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_cast (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[0].node); ;} break; case 444: ! #line 2427 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_cast (yyvsp[-3].operator.location, yyvsp[-2].node, yyvsp[0].node); ;} break; case 445: ! #line 2429 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { const char *ptr; int osb = pop_current_osb (ctxp); obstack_grow (&temporary_obstack, ! IDENTIFIER_POINTER (EXPR_WFL_NODE (yyvsp[-3].node)), ! IDENTIFIER_LENGTH (EXPR_WFL_NODE (yyvsp[-3].node))); while (osb--) obstack_grow (&temporary_obstack, "[]", 2); obstack_1grow (&temporary_obstack, '\0'); ptr = obstack_finish (&temporary_obstack); ! EXPR_WFL_NODE (yyvsp[-3].node) = get_identifier (ptr); ! yyval.node = build_cast (yyvsp[-4].operator.location, yyvsp[-3].node, yyvsp[0].node); ;} break; case 446: ! #line 2443 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("']' expected, invalid type expression");;} break; case 447: ! #line 2445 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { YYNOT_TWICE yyerror ("Invalid type expression"); RECOVER; RECOVER; *************** yyreduce: *** 5793,6079 **** break; case 448: ! #line 2450 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 449: ! #line 2452 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 450: ! #line 2454 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 452: ! #line 2460 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), ! (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 453: ! #line 2465 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, ! (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 454: ! #line 2470 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, ! (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 455: ! #line 2475 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 456: ! #line 2477 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 457: ! #line 2479 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 459: ! #line 2485 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, ! (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 460: ! #line 2490 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, ! (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 461: ! #line 2495 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 462: ! #line 2497 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 464: ! #line 2503 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, ! (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 465: ! #line 2508 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, ! (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 466: ! #line 2513 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, ! (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 467: ! #line 2518 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 468: ! #line 2520 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 469: ! #line 2522 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 471: ! #line 2528 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, ! (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 472: ! #line 2533 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, ! (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 473: ! #line 2538 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, ! (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 474: ! #line 2543 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, ! (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 475: ! #line 2548 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_binop (INSTANCEOF_EXPR, (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 476: ! #line 2550 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 477: ! #line 2552 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 478: ! #line 2554 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 479: ! #line 2556 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 480: ! #line 2558 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Invalid reference type"); RECOVER;;} break; case 482: ! #line 2564 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, ! (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 483: ! #line 2569 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, ! (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 484: ! #line 2574 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 485: ! #line 2576 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 487: ! #line 2582 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, ! (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 488: ! #line 2587 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 490: ! #line 2593 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, ! (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 491: ! #line 2598 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 493: ! #line 2604 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, ! (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 494: ! #line 2609 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 496: ! #line 2615 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, ! (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 497: ! #line 2620 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 499: ! #line 2626 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, ! (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 500: ! #line 2631 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 502: ! #line 2637 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { ! (yyval.node) = build3 (CONDITIONAL_EXPR, NULL_TREE, (yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node)); ! SET_EXPR_LOCATION_FROM_TOKEN ((yyval.node), (yyvsp[-3].operator)); ;} break; case 503: ! #line 2642 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { YYERROR_NOW; yyerror ("Missing term"); --- 5761,6047 ---- break; case 448: ! #line 2450 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 449: ! #line 2452 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 450: ! #line 2454 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 452: ! #line 2460 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), ! yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ;} break; case 453: ! #line 2465 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, ! yyvsp[-2].node, yyvsp[0].node); ;} break; case 454: ! #line 2470 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, ! yyvsp[-2].node, yyvsp[0].node); ;} break; case 455: ! #line 2475 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 456: ! #line 2477 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 457: ! #line 2479 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 459: ! #line 2485 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, ! yyvsp[-2].node, yyvsp[0].node); ;} break; case 460: ! #line 2490 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, ! yyvsp[-2].node, yyvsp[0].node); ;} break; case 461: ! #line 2495 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 462: ! #line 2497 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 464: ! #line 2503 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, ! yyvsp[-2].node, yyvsp[0].node); ;} break; case 465: ! #line 2508 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, ! yyvsp[-2].node, yyvsp[0].node); ;} break; case 466: ! #line 2513 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, ! yyvsp[-2].node, yyvsp[0].node); ;} break; case 467: ! #line 2518 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 468: ! #line 2520 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 469: ! #line 2522 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 471: ! #line 2528 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, ! yyvsp[-2].node, yyvsp[0].node); ;} break; case 472: ! #line 2533 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, ! yyvsp[-2].node, yyvsp[0].node); ;} break; case 473: ! #line 2538 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, ! yyvsp[-2].node, yyvsp[0].node); ;} break; case 474: ! #line 2543 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, ! yyvsp[-2].node, yyvsp[0].node); ;} break; case 475: ! #line 2548 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_binop (INSTANCEOF_EXPR, yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ;} break; case 476: ! #line 2550 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 477: ! #line 2552 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 478: ! #line 2554 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 479: ! #line 2556 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 480: ! #line 2558 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Invalid reference type"); RECOVER;;} break; case 482: ! #line 2564 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, ! yyvsp[-2].node, yyvsp[0].node); ;} break; case 483: ! #line 2569 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, ! yyvsp[-2].node, yyvsp[0].node); ;} break; case 484: ! #line 2574 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 485: ! #line 2576 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 487: ! #line 2582 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, ! yyvsp[-2].node, yyvsp[0].node); ;} break; case 488: ! #line 2587 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 490: ! #line 2593 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, ! yyvsp[-2].node, yyvsp[0].node); ;} break; case 491: ! #line 2598 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 493: ! #line 2604 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, ! yyvsp[-2].node, yyvsp[0].node); ;} break; case 494: ! #line 2609 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 496: ! #line 2615 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, ! yyvsp[-2].node, yyvsp[0].node); ;} break; case 497: ! #line 2620 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 499: ! #line 2626 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build_binop (BINOP_LOOKUP (yyvsp[-1].operator.token), yyvsp[-1].operator.location, ! yyvsp[-2].node, yyvsp[0].node); ;} break; case 500: ! #line 2631 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 502: ! #line 2637 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { ! yyval.node = build3 (CONDITIONAL_EXPR, NULL_TREE, yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node); ! SET_EXPR_LOCATION_FROM_TOKEN (yyval.node, yyvsp[-3].operator); ;} break; case 503: ! #line 2642 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { YYERROR_NOW; yyerror ("Missing term"); *************** yyreduce: *** 6082,6103 **** break; case 504: ! #line 2648 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); DRECOVER (2);;} break; case 505: ! #line 2650 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" {yyerror ("Missing term"); DRECOVER (3);;} break; case 508: ! #line 2660 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" ! { (yyval.node) = build_assignment ((yyvsp[-1].operator).token, (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 509: ! #line 2662 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" { YYNOT_TWICE yyerror ("Missing term"); DRECOVER (assign); --- 6050,6071 ---- break; case 504: ! #line 2648 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); DRECOVER (2);;} break; case 505: ! #line 2650 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" {yyerror ("Missing term"); DRECOVER (3);;} break; case 508: ! #line 2660 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" ! { yyval.node = build_assignment (yyvsp[-1].operator.token, yyvsp[-1].operator.location, yyvsp[-2].node, yyvsp[0].node); ;} break; case 509: ! #line 2662 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" { YYNOT_TWICE yyerror ("Missing term"); DRECOVER (assign); *************** yyreduce: *** 6107,6114 **** } ! /* Line 1037 of yacc.c. */ ! #line 6112 "java/parse.c" yyvsp -= yylen; yyssp -= yylen; --- 6075,6082 ---- } ! /* Line 991 of yacc.c. */ ! #line 6079 "java/parse.c" yyvsp -= yylen; yyssp -= yylen; *************** yyerrlab: *** 6149,6181 **** { YYSIZE_T yysize = 0; int yytype = YYTRANSLATE (yychar); - const char* yyprefix; char *yymsg; ! int yyx; /* Start YYX at -YYN if negative to avoid negative indexes in YYCHECK. */ ! int yyxbegin = yyn < 0 ? -yyn : 0; ! ! /* Stay within bounds of both yycheck and yytname. */ ! int yychecklim = YYLAST - yyn; ! int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; ! int yycount = 0; ! ! yyprefix = ", expecting "; ! for (yyx = yyxbegin; yyx < yyxend; ++yyx) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) ! { ! yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]); ! yycount += 1; ! if (yycount == 5) ! { ! yysize = 0; ! break; ! } ! } ! yysize += (sizeof ("syntax error, unexpected ") ! + yystrlen (yytname[yytype])); yymsg = (char *) YYSTACK_ALLOC (yysize); if (yymsg != 0) { --- 6117,6134 ---- { YYSIZE_T yysize = 0; int yytype = YYTRANSLATE (yychar); char *yymsg; ! int yyx, yycount; + yycount = 0; /* Start YYX at -YYN if negative to avoid negative indexes in YYCHECK. */ ! for (yyx = yyn < 0 ? -yyn : 0; ! yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) ! yysize += yystrlen (yytname[yyx]) + 15, yycount++; ! yysize += yystrlen ("syntax error, unexpected ") + 1; ! yysize += yystrlen (yytname[yytype]); yymsg = (char *) YYSTACK_ALLOC (yysize); if (yymsg != 0) { *************** yyerrlab: *** 6184,6196 **** if (yycount < 5) { ! yyprefix = ", expecting "; ! for (yyx = yyxbegin; yyx < yyxend; ++yyx) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) { ! yyp = yystpcpy (yyp, yyprefix); yyp = yystpcpy (yyp, yytname[yyx]); ! yyprefix = " or "; } } yyerror (yymsg); --- 6137,6152 ---- if (yycount < 5) { ! yycount = 0; ! for (yyx = yyn < 0 ? -yyn : 0; ! yyx < (int) (sizeof (yytname) / sizeof (char *)); ! yyx++) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) { ! const char *yyq = ! yycount ? ", expecting " : " or "; ! yyp = yystpcpy (yyp, yyq); yyp = yystpcpy (yyp, yytname[yyx]); ! yycount++; } } yyerror (yymsg); *************** yyerrlab: *** 6208,6265 **** if (yyerrstatus == 3) { ! /* If just tried and failed to reuse look-ahead token after an error, discard it. */ ! if (yychar <= YYEOF) { ! /* If at end of input, pop the error token, ! then the rest of the stack, then return failure. */ ! if (yychar == YYEOF) ! for (;;) ! { ! ! YYPOPSTACK; ! if (yyssp == yyss) ! YYABORT; ! yydestruct ("Error: popping", ! yystos[*yyssp], yyvsp); ! } } ! else ! { ! yydestruct ("Error: discarding", yytoken, &yylval); ! yychar = YYEMPTY; ! } } ! /* Else will try to reuse look-ahead token after shifting the error token. */ ! goto yyerrlab1; ! /*---------------------------------------------------. ! | yyerrorlab -- error raised explicitly by YYERROR. | ! `---------------------------------------------------*/ ! yyerrorlab: ! #ifdef __GNUC__ ! /* Pacify GCC when the user code never invokes YYERROR and the label ! yyerrorlab therefore never appears in user code. */ ! if (0) ! goto yyerrorlab; #endif - yyvsp -= yylen; - yyssp -= yylen; - yystate = *yyssp; - goto yyerrlab1; ! /*-------------------------------------------------------------. ! | yyerrlab1 -- common code for both syntax error and YYERROR. | ! `-------------------------------------------------------------*/ ! yyerrlab1: yyerrstatus = 3; /* Each real token shifted decrements this. */ for (;;) --- 6164,6218 ---- if (yyerrstatus == 3) { ! /* If just tried and failed to reuse lookahead token after an error, discard it. */ ! /* Return failure if at end of input. */ ! if (yychar == YYEOF) { ! /* Pop the error token. */ ! YYPOPSTACK; ! /* Pop the rest of the stack. */ ! while (yyss < yyssp) ! { ! YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); ! yydestruct (yystos[*yyssp], yyvsp); ! YYPOPSTACK; ! } ! YYABORT; } ! ! YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc); ! yydestruct (yytoken, &yylval); ! yychar = YYEMPTY; ! } ! /* Else will try to reuse lookahead token after shifting the error token. */ ! goto yyerrlab2; ! /*----------------------------------------------------. ! | yyerrlab1 -- error raised explicitly by an action. | ! `----------------------------------------------------*/ ! yyerrlab1: ! /* Suppress GCC warning that yyerrlab1 is unused when no action ! invokes YYERROR. */ ! #if defined (__GNUC_MINOR__) && 2093 <= (__GNUC__ * 1000 + __GNUC_MINOR__) \ ! && !defined __cplusplus ! __attribute__ ((__unused__)) #endif + goto yyerrlab2; ! ! /*---------------------------------------------------------------. ! | yyerrlab2 -- pop states until the error token can be shifted. | ! `---------------------------------------------------------------*/ ! yyerrlab2: yyerrstatus = 3; /* Each real token shifted decrements this. */ for (;;) *************** yyerrlab1: *** 6280,6301 **** if (yyssp == yyss) YYABORT; - yydestruct ("Error: popping", yystos[yystate], yyvsp); - YYPOPSTACK; - yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); } if (yyn == YYFINAL) YYACCEPT; *++yyvsp = yylval; - /* Shift the error token. */ - YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); - yystate = yyn; goto yynewstate; --- 6233,6254 ---- if (yyssp == yyss) YYABORT; + YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); + yydestruct (yystos[yystate], yyvsp); + yyvsp--; + yystate = *--yyssp; YY_STACK_PRINT (yyss, yyssp); } if (yyn == YYFINAL) YYACCEPT; + YYDPRINTF ((stderr, "Shifting error token, ")); + *++yyvsp = yylval; yystate = yyn; goto yynewstate; *************** yyacceptlab: *** 6311,6319 **** | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ yyabortlab: - yydestruct ("Error: discarding lookahead", - yytoken, &yylval); - yychar = YYEMPTY; yyresult = 1; goto yyreturn; --- 6264,6269 ---- *************** yyreturn: *** 6336,6342 **** } ! #line 2687 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse.y" /* Helper function to retrieve an OSB count. Should be used when the --- 6286,6292 ---- } ! #line 2687 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse.y" /* Helper function to retrieve an OSB count. Should be used when the diff -Nrcpad gcc-4.0.3/gcc/java/parse-scan.c gcc-4.0.4/gcc/java/parse-scan.c *** gcc-4.0.3/gcc/java/parse-scan.c 2006-03-09 20:51:49.000000000 +0000 --- gcc-4.0.4/gcc/java/parse-scan.c 2007-01-31 10:49:32.000000000 +0000 *************** *** 1,7 **** ! /* A Bison parser, made by GNU Bison 2.0. */ /* Skeleton parser for Yacc-like parsing with Bison, ! Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by --- 1,7 ---- ! /* A Bison parser, made by GNU Bison 1.875. */ /* Skeleton parser for Yacc-like parsing with Bison, ! Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by *************** *** 278,284 **** /* Copy the first part of user declarations. */ ! #line 38 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" #define JC1_LITE --- 278,284 ---- /* Copy the first part of user declarations. */ ! #line 38 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" #define JC1_LITE *************** void report (void); *** 383,396 **** #endif #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) ! #line 128 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" typedef union YYSTYPE { char *node; struct method_declarator *declarator; int value; /* For modifiers */ } YYSTYPE; ! /* Line 190 of yacc.c. */ ! #line 394 "java/parse-scan.c" # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 --- 383,396 ---- #endif #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) ! #line 128 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" typedef union YYSTYPE { char *node; struct method_declarator *declarator; int value; /* For modifiers */ } YYSTYPE; ! /* Line 191 of yacc.c. */ ! #line 393 "java/parse-scan.c" # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 *************** typedef union YYSTYPE { *** 399,431 **** /* Copy the second part of user declarations. */ ! #line 134 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" extern int flag_assert; #include "lex.c" ! /* Line 213 of yacc.c. */ ! #line 411 "java/parse-scan.c" #if ! defined (yyoverflow) || YYERROR_VERBOSE - # ifndef YYFREE - # define YYFREE free - # endif - # ifndef YYMALLOC - # define YYMALLOC malloc - # endif - /* The parser invokes alloca or malloc; define the necessary symbols. */ ! # ifdef YYSTACK_USE_ALLOCA ! # if YYSTACK_USE_ALLOCA ! # ifdef __GNUC__ ! # define YYSTACK_ALLOC __builtin_alloca ! # else # define YYSTACK_ALLOC alloca # endif # endif # endif --- 399,428 ---- /* Copy the second part of user declarations. */ ! #line 134 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" extern int flag_assert; #include "lex.c" ! /* Line 214 of yacc.c. */ ! #line 410 "java/parse-scan.c" #if ! defined (yyoverflow) || YYERROR_VERBOSE /* The parser invokes alloca or malloc; define the necessary symbols. */ ! # if YYSTACK_USE_ALLOCA ! # define YYSTACK_ALLOC alloca ! # else ! # ifndef YYSTACK_USE_ALLOCA ! # if defined (alloca) || defined (_ALLOCA_H) # define YYSTACK_ALLOC alloca + # else + # ifdef __GNUC__ + # define YYSTACK_ALLOC __builtin_alloca + # endif # endif # endif # endif *************** extern int flag_assert; *** 438,457 **** # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # endif ! # define YYSTACK_ALLOC YYMALLOC ! # define YYSTACK_FREE YYFREE # endif #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ #if (! defined (yyoverflow) \ && (! defined (__cplusplus) \ ! || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc { ! short int yyss; YYSTYPE yyvs; }; --- 435,454 ---- # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # endif ! # define YYSTACK_ALLOC malloc ! # define YYSTACK_FREE free # endif #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ #if (! defined (yyoverflow) \ && (! defined (__cplusplus) \ ! || (YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc { ! short yyss; YYSTYPE yyvs; }; *************** union yyalloc *** 461,473 **** /* The size of an array large to enough to hold all stacks, each with N elements. */ # define YYSTACK_BYTES(N) \ ! ((N) * (sizeof (short int) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM) /* Copy COUNT objects from FROM to TO. The source and destination do not overlap. */ # ifndef YYCOPY ! # if defined (__GNUC__) && 1 < __GNUC__ # define YYCOPY(To, From, Count) \ __builtin_memcpy (To, From, (Count) * sizeof (*(From))) # else --- 458,470 ---- /* The size of an array large to enough to hold all stacks, each with N elements. */ # define YYSTACK_BYTES(N) \ ! ((N) * (sizeof (short) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM) /* Copy COUNT objects from FROM to TO. The source and destination do not overlap. */ # ifndef YYCOPY ! # if 1 < __GNUC__ # define YYCOPY(To, From, Count) \ __builtin_memcpy (To, From, (Count) * sizeof (*(From))) # else *************** union yyalloc *** 503,509 **** #if defined (__STDC__) || defined (__cplusplus) typedef signed char yysigned_char; #else ! typedef short int yysigned_char; #endif /* YYFINAL -- State number of the termination state. */ --- 500,506 ---- #if defined (__STDC__) || defined (__cplusplus) typedef signed char yysigned_char; #else ! typedef short yysigned_char; #endif /* YYFINAL -- State number of the termination state. */ *************** static const unsigned char yytranslate[] *** 572,578 **** #if YYDEBUG /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in YYRHS. */ ! static const unsigned short int yyprhs[] = { 0, 0, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, --- 569,575 ---- #if YYDEBUG /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in YYRHS. */ ! static const unsigned short yyprhs[] = { 0, 0, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, *************** static const unsigned short int yyprhs[] *** 613,619 **** }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ ! static const short int yyrhs[] = { 113, 0, -1, 126, -1, 106, -1, 107, -1, 110, -1, 105, -1, 104, -1, 111, -1, 116, -1, 117, --- 610,616 ---- }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ ! static const short yyrhs[] = { 113, 0, -1, 126, -1, 106, -1, 107, -1, 110, -1, 105, -1, 104, -1, 111, -1, 116, -1, 117, *************** static const short int yyrhs[] = *** 734,740 **** }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ ! static const unsigned short int yyrline[] = { 0, 208, 208, 213, 214, 215, 216, 217, 218, 223, 224, 228, 233, 238, 246, 247, 251, 255, 259, 263, --- 731,737 ---- }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ ! static const unsigned short yyrline[] = { 0, 208, 208, 213, 214, 215, 216, 217, 218, 223, 224, 228, 233, 238, 246, 247, 251, 255, 259, 263, *************** static const unsigned short int yyrline[ *** 780,855 **** First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { ! "$end", "error", "$undefined", "PLUS_TK", "MINUS_TK", "MULT_TK", ! "DIV_TK", "REM_TK", "LS_TK", "SRS_TK", "ZRS_TK", "AND_TK", "XOR_TK", ! "OR_TK", "BOOL_AND_TK", "BOOL_OR_TK", "EQ_TK", "NEQ_TK", "GT_TK", ! "GTE_TK", "LT_TK", "LTE_TK", "PLUS_ASSIGN_TK", "MINUS_ASSIGN_TK", ! "MULT_ASSIGN_TK", "DIV_ASSIGN_TK", "REM_ASSIGN_TK", "LS_ASSIGN_TK", ! "SRS_ASSIGN_TK", "ZRS_ASSIGN_TK", "AND_ASSIGN_TK", "XOR_ASSIGN_TK", ! "OR_ASSIGN_TK", "PUBLIC_TK", "PRIVATE_TK", "PROTECTED_TK", "STATIC_TK", ! "FINAL_TK", "SYNCHRONIZED_TK", "VOLATILE_TK", "TRANSIENT_TK", ! "NATIVE_TK", "PAD_TK", "ABSTRACT_TK", "MODIFIER_TK", "STRICT_TK", ! "DECR_TK", "INCR_TK", "DEFAULT_TK", "IF_TK", "THROW_TK", "BOOLEAN_TK", ! "DO_TK", "IMPLEMENTS_TK", "THROWS_TK", "BREAK_TK", "IMPORT_TK", ! "ELSE_TK", "INSTANCEOF_TK", "RETURN_TK", "VOID_TK", "CATCH_TK", ! "INTERFACE_TK", "CASE_TK", "EXTENDS_TK", "FINALLY_TK", "SUPER_TK", ! "WHILE_TK", "CLASS_TK", "SWITCH_TK", "CONST_TK", "TRY_TK", "FOR_TK", ! "NEW_TK", "CONTINUE_TK", "GOTO_TK", "PACKAGE_TK", "THIS_TK", "ASSERT_TK", ! "BYTE_TK", "SHORT_TK", "INT_TK", "LONG_TK", "CHAR_TK", "INTEGRAL_TK", ! "FLOAT_TK", "DOUBLE_TK", "FP_TK", "ID_TK", "REL_QM_TK", "REL_CL_TK", ! "NOT_TK", "NEG_TK", "ASSIGN_ANY_TK", "ASSIGN_TK", "OP_TK", "CP_TK", ! "OCB_TK", "CCB_TK", "OSB_TK", "CSB_TK", "SC_TK", "C_TK", "DOT_TK", ! "STRING_LIT_TK", "CHAR_LIT_TK", "INT_LIT_TK", "FP_LIT_TK", "TRUE_TK", ! "FALSE_TK", "BOOL_LIT_TK", "NULL_TK", "$accept", "goal", "literal", ! "type", "primitive_type", "reference_type", "class_or_interface_type", ! "class_type", "interface_type", "array_type", "name", "simple_name", ! "qualified_name", "identifier", "compilation_unit", ! "import_declarations", "type_declarations", "package_declaration", ! "import_declaration", "single_type_import_declaration", ! "type_import_on_demand_declaration", "type_declaration", "modifiers", ! "class_declaration", "@1", "@2", "super", "interfaces", ! "interface_type_list", "class_body", "class_body_declarations", ! "class_body_declaration", "class_member_declaration", ! "field_declaration", "variable_declarators", "variable_declarator", ! "variable_declarator_id", "variable_initializer", "method_declaration", ! "@3", "method_header", "method_declarator", "formal_parameter_list", ! "formal_parameter", "throws", "class_type_list", "method_body", ! "static_initializer", "static", "constructor_declaration", ! "constructor_declarator", "constructor_body", ! "explicit_constructor_invocation", "this_or_super", ! "interface_declaration", "@4", "@5", "@6", "@7", "extends_interfaces", ! "interface_body", "interface_member_declarations", ! "interface_member_declaration", "constant_declaration", ! "abstract_method_declaration", "array_initializer", ! "variable_initializers", "block", "block_statements", "block_statement", ! "local_variable_declaration_statement", "local_variable_declaration", ! "statement", "statement_nsi", "statement_without_trailing_substatement", ! "empty_statement", "label_decl", "labeled_statement", ! "labeled_statement_nsi", "expression_statement", "statement_expression", ! "if_then_statement", "if_then_else_statement", ! "if_then_else_statement_nsi", "switch_statement", "switch_block", ! "switch_block_statement_groups", "switch_block_statement_group", ! "switch_labels", "switch_label", "while_expression", "while_statement", ! "while_statement_nsi", "do_statement_begin", "do_statement", ! "for_statement", "for_statement_nsi", "for_header", "for_begin", ! "for_init", "for_update", "statement_expression_list", "break_statement", ! "continue_statement", "return_statement", "throw_statement", ! "assert_statement", "synchronized_statement", "synchronized", ! "try_statement", "catches", "catch_clause", "finally", "primary", ! "primary_no_new_array", "type_literals", ! "class_instance_creation_expression", "anonymous_class_creation", "@8", ! "@9", "something_dot_new", "argument_list", "array_creation_expression", ! "dim_exprs", "dim_expr", "dims", "field_access", "method_invocation", ! "array_access", "postfix_expression", "post_increment_expression", ! "post_decrement_expression", "unary_expression", ! "pre_increment_expression", "pre_decrement_expression", ! "unary_expression_not_plus_minus", "cast_expression", ! "multiplicative_expression", "additive_expression", "shift_expression", ! "relational_expression", "equality_expression", "and_expression", ! "exclusive_or_expression", "inclusive_or_expression", ! "conditional_and_expression", "conditional_or_expression", ! "conditional_expression", "assignment_expression", "assignment", ! "left_hand_side", "assignment_operator", "expression", "constant_expression", 0 }; #endif --- 777,852 ---- First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { ! "$end", "error", "$undefined", "PLUS_TK", "MINUS_TK", "MULT_TK", "DIV_TK", ! "REM_TK", "LS_TK", "SRS_TK", "ZRS_TK", "AND_TK", "XOR_TK", "OR_TK", ! "BOOL_AND_TK", "BOOL_OR_TK", "EQ_TK", "NEQ_TK", "GT_TK", "GTE_TK", ! "LT_TK", "LTE_TK", "PLUS_ASSIGN_TK", "MINUS_ASSIGN_TK", ! "MULT_ASSIGN_TK", "DIV_ASSIGN_TK", "REM_ASSIGN_TK", "LS_ASSIGN_TK", ! "SRS_ASSIGN_TK", "ZRS_ASSIGN_TK", "AND_ASSIGN_TK", "XOR_ASSIGN_TK", ! "OR_ASSIGN_TK", "PUBLIC_TK", "PRIVATE_TK", "PROTECTED_TK", "STATIC_TK", ! "FINAL_TK", "SYNCHRONIZED_TK", "VOLATILE_TK", "TRANSIENT_TK", ! "NATIVE_TK", "PAD_TK", "ABSTRACT_TK", "MODIFIER_TK", "STRICT_TK", ! "DECR_TK", "INCR_TK", "DEFAULT_TK", "IF_TK", "THROW_TK", "BOOLEAN_TK", ! "DO_TK", "IMPLEMENTS_TK", "THROWS_TK", "BREAK_TK", "IMPORT_TK", ! "ELSE_TK", "INSTANCEOF_TK", "RETURN_TK", "VOID_TK", "CATCH_TK", ! "INTERFACE_TK", "CASE_TK", "EXTENDS_TK", "FINALLY_TK", "SUPER_TK", ! "WHILE_TK", "CLASS_TK", "SWITCH_TK", "CONST_TK", "TRY_TK", "FOR_TK", ! "NEW_TK", "CONTINUE_TK", "GOTO_TK", "PACKAGE_TK", "THIS_TK", ! "ASSERT_TK", "BYTE_TK", "SHORT_TK", "INT_TK", "LONG_TK", "CHAR_TK", ! "INTEGRAL_TK", "FLOAT_TK", "DOUBLE_TK", "FP_TK", "ID_TK", "REL_QM_TK", ! "REL_CL_TK", "NOT_TK", "NEG_TK", "ASSIGN_ANY_TK", "ASSIGN_TK", "OP_TK", ! "CP_TK", "OCB_TK", "CCB_TK", "OSB_TK", "CSB_TK", "SC_TK", "C_TK", ! "DOT_TK", "STRING_LIT_TK", "CHAR_LIT_TK", "INT_LIT_TK", "FP_LIT_TK", ! "TRUE_TK", "FALSE_TK", "BOOL_LIT_TK", "NULL_TK", "$accept", "goal", ! "literal", "type", "primitive_type", "reference_type", ! "class_or_interface_type", "class_type", "interface_type", "array_type", ! "name", "simple_name", "qualified_name", "identifier", ! "compilation_unit", "import_declarations", "type_declarations", ! "package_declaration", "import_declaration", ! "single_type_import_declaration", "type_import_on_demand_declaration", ! "type_declaration", "modifiers", "class_declaration", "@1", "@2", ! "super", "interfaces", "interface_type_list", "class_body", ! "class_body_declarations", "class_body_declaration", ! "class_member_declaration", "field_declaration", "variable_declarators", ! "variable_declarator", "variable_declarator_id", "variable_initializer", ! "method_declaration", "@3", "method_header", "method_declarator", ! "formal_parameter_list", "formal_parameter", "throws", ! "class_type_list", "method_body", "static_initializer", "static", ! "constructor_declaration", "constructor_declarator", "constructor_body", ! "explicit_constructor_invocation", "this_or_super", ! "interface_declaration", "@4", "@5", "@6", "@7", "extends_interfaces", ! "interface_body", "interface_member_declarations", ! "interface_member_declaration", "constant_declaration", ! "abstract_method_declaration", "array_initializer", ! "variable_initializers", "block", "block_statements", "block_statement", ! "local_variable_declaration_statement", "local_variable_declaration", ! "statement", "statement_nsi", "statement_without_trailing_substatement", ! "empty_statement", "label_decl", "labeled_statement", ! "labeled_statement_nsi", "expression_statement", "statement_expression", ! "if_then_statement", "if_then_else_statement", ! "if_then_else_statement_nsi", "switch_statement", "switch_block", ! "switch_block_statement_groups", "switch_block_statement_group", ! "switch_labels", "switch_label", "while_expression", "while_statement", ! "while_statement_nsi", "do_statement_begin", "do_statement", ! "for_statement", "for_statement_nsi", "for_header", "for_begin", ! "for_init", "for_update", "statement_expression_list", ! "break_statement", "continue_statement", "return_statement", ! "throw_statement", "assert_statement", "synchronized_statement", ! "synchronized", "try_statement", "catches", "catch_clause", "finally", ! "primary", "primary_no_new_array", "type_literals", ! "class_instance_creation_expression", "anonymous_class_creation", "@8", ! "@9", "something_dot_new", "argument_list", "array_creation_expression", ! "dim_exprs", "dim_expr", "dims", "field_access", "method_invocation", ! "array_access", "postfix_expression", "post_increment_expression", ! "post_decrement_expression", "unary_expression", ! "pre_increment_expression", "pre_decrement_expression", ! "unary_expression_not_plus_minus", "cast_expression", ! "multiplicative_expression", "additive_expression", "shift_expression", ! "relational_expression", "equality_expression", "and_expression", ! "exclusive_or_expression", "inclusive_or_expression", ! "conditional_and_expression", "conditional_or_expression", ! "conditional_expression", "assignment_expression", "assignment", ! "left_hand_side", "assignment_operator", "expression", "constant_expression", 0 }; #endif *************** static const char *const yytname[] = *** 857,863 **** # ifdef YYPRINT /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to token YYLEX-NUM. */ ! static const unsigned short int yytoknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, --- 854,860 ---- # ifdef YYPRINT /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to token YYLEX-NUM. */ ! static const unsigned short yytoknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, *************** static const unsigned short int yytoknum *** 875,881 **** # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ ! static const unsigned short int yyr1[] = { 0, 112, 113, 114, 114, 114, 114, 114, 114, 115, 115, 116, 116, 116, 117, 117, 118, 119, 120, 121, --- 872,878 ---- # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ ! static const unsigned short yyr1[] = { 0, 112, 113, 114, 114, 114, 114, 114, 114, 115, 115, 116, 116, 116, 117, 117, 118, 119, 120, 121, *************** static const unsigned char yyr2[] = *** 959,965 **** /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state STATE-NUM when YYTABLE doesn't specify something else to do. Zero means the default is an error. */ ! static const unsigned short int yydefact[] = { 26, 46, 0, 0, 0, 0, 177, 0, 2, 28, 29, 27, 34, 39, 40, 36, 0, 43, 44, 45, --- 956,962 ---- /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state STATE-NUM when YYTABLE doesn't specify something else to do. Zero means the default is an error. */ ! static const unsigned short yydefact[] = { 26, 46, 0, 0, 0, 0, 177, 0, 2, 28, 29, 27, 34, 39, 40, 36, 0, 43, 44, 45, *************** static const unsigned short int yydefact *** 1026,1032 **** }; /* YYDEFGOTO[NTERM-NUM]. */ ! static const short int yydefgoto[] = { -1, 7, 177, 235, 178, 73, 74, 59, 52, 179, 180, 22, 23, 24, 8, 9, 10, 11, 12, 13, --- 1023,1029 ---- }; /* YYDEFGOTO[NTERM-NUM]. */ ! static const short yydefgoto[] = { -1, 7, 177, 235, 178, 73, 74, 59, 52, 179, 180, 22, 23, 24, 8, 9, 10, 11, 12, 13, *************** static const short int yydefgoto[] = *** 1049,1055 **** /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ #define YYPACT_NINF -465 ! static const short int yypact[] = { 237, -465, -32, -32, -32, -32, -465, 83, -465, 124, -8, 124, -465, -465, -465, -465, 183, -465, -465, -465, --- 1046,1052 ---- /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ #define YYPACT_NINF -465 ! static const short yypact[] = { 237, -465, -32, -32, -32, -32, -465, 83, -465, 124, -8, 124, -465, -465, -465, -465, 183, -465, -465, -465, *************** static const short int yypact[] = *** 1116,1122 **** }; /* YYPGOTO[NTERM-NUM]. */ ! static const short int yypgoto[] = { -465, -465, -465, -11, -10, 415, -19, -87, 19, 240, 106, 102, -465, -3, -465, 741, 41, -465, 44, -465, --- 1113,1119 ---- }; /* YYPGOTO[NTERM-NUM]. */ ! static const short yypgoto[] = { -465, -465, -465, -11, -10, 415, -19, -87, 19, 240, 106, 102, -465, -3, -465, 741, 41, -465, 44, -465, *************** static const short int yypgoto[] = *** 1141,1147 **** number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ #define YYTABLE_NINF -354 ! static const short int yytable[] = { 25, 26, 243, 126, 366, 148, 311, 375, 389, 295, 296, 297, 298, 550, 287, 146, 16, 304, 305, 483, --- 1138,1144 ---- number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ #define YYTABLE_NINF -354 ! static const short yytable[] = { 25, 26, 243, 126, 366, 148, 311, 375, 389, 295, 296, 297, 298, 550, 287, 146, 16, 304, 305, 483, *************** static const short int yytable[] = *** 1479,1485 **** 174, 0, 0, 175, 176 }; ! static const short int yycheck[] = { 3, 4, 130, 105, 243, 113, 170, 262, 290, 159, 160, 161, 162, 1, 150, 110, 0, 167, 168, 399, --- 1476,1482 ---- 174, 0, 0, 175, 176 }; ! static const short yycheck[] = { 3, 4, 130, 105, 243, 113, 170, 262, 290, 159, 160, 161, 162, 1, 150, 110, 0, 167, 168, 399, *************** static const short int yycheck[] = *** 1819,1825 **** /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ ! static const unsigned short int yystos[] = { 0, 44, 56, 62, 68, 76, 101, 113, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 166, 187, --- 1816,1822 ---- /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ ! static const unsigned short yystos[] = { 0, 44, 56, 62, 68, 76, 101, 113, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 166, 187, *************** static const unsigned short int yystos[] *** 1908,1915 **** #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab ! #define YYERROR goto yyerrorlab ! /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. --- 1905,1911 ---- #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab ! #define YYERROR goto yyerrlab1 /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. *************** do \ *** 1936,1988 **** } \ while (0) - #define YYTERROR 1 #define YYERRCODE 256 - /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. - If N is 0, then set CURRENT to the empty location which ends - the previous symbol: RHS[0] (always defined). */ - - #define YYRHSLOC(Rhs, K) ((Rhs)[K]) #ifndef YYLLOC_DEFAULT ! # define YYLLOC_DEFAULT(Current, Rhs, N) \ ! do \ ! if (N) \ ! { \ ! (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ ! (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ ! (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ ! (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ ! } \ ! else \ ! { \ ! (Current).first_line = (Current).last_line = \ ! YYRHSLOC (Rhs, 0).last_line; \ ! (Current).first_column = (Current).last_column = \ ! YYRHSLOC (Rhs, 0).last_column; \ ! } \ ! while (0) ! #endif ! ! ! /* YY_LOCATION_PRINT -- Print the location on the stream. ! This macro was not mandated originally: define only if we know ! we won't break user code: when these are the locations we know. */ ! ! #ifndef YY_LOCATION_PRINT ! # if YYLTYPE_IS_TRIVIAL ! # define YY_LOCATION_PRINT(File, Loc) \ ! fprintf (File, "%d.%d-%d.%d", \ ! (Loc).first_line, (Loc).first_column, \ ! (Loc).last_line, (Loc).last_column) ! # else ! # define YY_LOCATION_PRINT(File, Loc) ((void) 0) ! # endif #endif - /* YYLEX -- calling `yylex' with the right arguments. */ #ifdef YYLEX_PARAM --- 1932,1951 ---- } \ while (0) #define YYTERROR 1 #define YYERRCODE 256 + /* YYLLOC_DEFAULT -- Compute the default location (before the actions + are run). */ #ifndef YYLLOC_DEFAULT ! # define YYLLOC_DEFAULT(Current, Rhs, N) \ ! Current.first_line = Rhs[1].first_line; \ ! Current.first_column = Rhs[1].first_column; \ ! Current.last_line = Rhs[N].last_line; \ ! Current.last_column = Rhs[N].last_column; #endif /* YYLEX -- calling `yylex' with the right arguments. */ #ifdef YYLEX_PARAM *************** do { \ *** 2005,2034 **** YYFPRINTF Args; \ } while (0) ! # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yysymprint (stderr, \ ! Type, Value); \ YYFPRINTF (stderr, "\n"); \ } \ } while (0) /*------------------------------------------------------------------. | yy_stack_print -- Print the state stack from its BOTTOM up to its | ! | TOP (included). | `------------------------------------------------------------------*/ #if defined (__STDC__) || defined (__cplusplus) static void ! yy_stack_print (short int *bottom, short int *top) #else static void yy_stack_print (bottom, top) ! short int *bottom; ! short int *top; #endif { YYFPRINTF (stderr, "Stack now"); --- 1968,2003 ---- YYFPRINTF Args; \ } while (0) ! # define YYDSYMPRINT(Args) \ ! do { \ ! if (yydebug) \ ! yysymprint Args; \ ! } while (0) ! ! # define YYDSYMPRINTF(Title, Token, Value, Location) \ do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yysymprint (stderr, \ ! Token, Value); \ YYFPRINTF (stderr, "\n"); \ } \ } while (0) /*------------------------------------------------------------------. | yy_stack_print -- Print the state stack from its BOTTOM up to its | ! | TOP (cinluded). | `------------------------------------------------------------------*/ #if defined (__STDC__) || defined (__cplusplus) static void ! yy_stack_print (short *bottom, short *top) #else static void yy_stack_print (bottom, top) ! short *bottom; ! short *top; #endif { YYFPRINTF (stderr, "Stack now"); *************** yy_reduce_print (yyrule) *** 2058,2066 **** #endif { int yyi; ! unsigned int yylno = yyrline[yyrule]; YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ", ! yyrule - 1, yylno); /* Print the symbols being reduced, and their result. */ for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]); --- 2027,2035 ---- #endif { int yyi; ! unsigned int yylineno = yyrline[yyrule]; YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ", ! yyrule - 1, yylineno); /* Print the symbols being reduced, and their result. */ for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]); *************** do { \ *** 2078,2084 **** int yydebug; #else /* !YYDEBUG */ # define YYDPRINTF(Args) ! # define YY_SYMBOL_PRINT(Title, Type, Value, Location) # define YY_STACK_PRINT(Bottom, Top) # define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ --- 2047,2054 ---- int yydebug; #else /* !YYDEBUG */ # define YYDPRINTF(Args) ! # define YYDSYMPRINT(Args) ! # define YYDSYMPRINTF(Title, Token, Value, Location) # define YY_STACK_PRINT(Bottom, Top) # define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ *************** int yydebug; *** 2096,2101 **** --- 2066,2075 ---- SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH) evaluated with infinite-precision integer arithmetic. */ + #if YYMAXDEPTH == 0 + # undef YYMAXDEPTH + #endif + #ifndef YYMAXDEPTH # define YYMAXDEPTH 10000 #endif *************** yysymprint (yyoutput, yytype, yyvaluep) *** 2177,2191 **** (void) yyvaluep; if (yytype < YYNTOKENS) ! YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); else YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); - - # ifdef YYPRINT - if (yytype < YYNTOKENS) - YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); - # endif switch (yytype) { default: --- 2151,2165 ---- (void) yyvaluep; if (yytype < YYNTOKENS) ! { ! YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); ! # ifdef YYPRINT ! YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); ! # endif ! } else YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); switch (yytype) { default: *************** yysymprint (yyoutput, yytype, yyvaluep) *** 2201,2211 **** #if defined (__STDC__) || defined (__cplusplus) static void ! yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) #else static void ! yydestruct (yymsg, yytype, yyvaluep) ! const char *yymsg; int yytype; YYSTYPE *yyvaluep; #endif --- 2175,2184 ---- #if defined (__STDC__) || defined (__cplusplus) static void ! yydestruct (int yytype, YYSTYPE *yyvaluep) #else static void ! yydestruct (yytype, yyvaluep) int yytype; YYSTYPE *yyvaluep; #endif *************** yydestruct (yymsg, yytype, yyvaluep) *** 2213,2222 **** /* Pacify ``unused variable'' warnings. */ (void) yyvaluep; - if (!yymsg) - yymsg = "Deleting"; - YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); - switch (yytype) { --- 2186,2191 ---- *************** yyparse () *** 2269,2278 **** #endif #endif { ! /* The look-ahead symbol. */ int yychar; ! /* The semantic value of the look-ahead symbol. */ YYSTYPE yylval; /* Number of syntax errors so far. */ --- 2238,2247 ---- #endif #endif { ! /* The lookahead symbol. */ int yychar; ! /* The semantic value of the lookahead symbol. */ YYSTYPE yylval; /* Number of syntax errors so far. */ *************** int yynerrs; *** 2283,2289 **** int yyresult; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; ! /* Look-ahead token as an internal (translated) token number. */ int yytoken = 0; /* Three stacks and their tools: --- 2252,2258 ---- int yyresult; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; ! /* Lookahead token as an internal (translated) token number. */ int yytoken = 0; /* Three stacks and their tools: *************** int yynerrs; *** 2295,2303 **** to reallocate them elsewhere. */ /* The state stack. */ ! short int yyssa[YYINITDEPTH]; ! short int *yyss = yyssa; ! register short int *yyssp; /* The semantic value stack. */ YYSTYPE yyvsa[YYINITDEPTH]; --- 2264,2272 ---- to reallocate them elsewhere. */ /* The state stack. */ ! short yyssa[YYINITDEPTH]; ! short *yyss = yyssa; ! register short *yyssp; /* The semantic value stack. */ YYSTYPE yyvsa[YYINITDEPTH]; *************** int yynerrs; *** 2334,2342 **** yyssp = yyss; yyvsp = yyvs; - - yyvsp[0] = yylval; - goto yysetstate; /*------------------------------------------------------------. --- 2303,2308 ---- *************** int yynerrs; *** 2362,2368 **** these so that the &'s don't force the real ones into memory. */ YYSTYPE *yyvs1 = yyvs; ! short int *yyss1 = yyss; /* Each stack pointer address is followed by the size of the --- 2328,2334 ---- these so that the &'s don't force the real ones into memory. */ YYSTYPE *yyvs1 = yyvs; ! short *yyss1 = yyss; /* Each stack pointer address is followed by the size of the *************** int yynerrs; *** 2390,2396 **** yystacksize = YYMAXDEPTH; { ! short int *yyss1 = yyss; union yyalloc *yyptr = (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) --- 2356,2362 ---- yystacksize = YYMAXDEPTH; { ! short *yyss1 = yyss; union yyalloc *yyptr = (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) *************** int yynerrs; *** 2426,2443 **** yybackup: /* Do appropriate processing given the current state. */ ! /* Read a look-ahead token if we need one and don't already have one. */ /* yyresume: */ ! /* First try to decide what to do without reference to look-ahead token. */ yyn = yypact[yystate]; if (yyn == YYPACT_NINF) goto yydefault; ! /* Not known => get a look-ahead token if don't already have one. */ ! /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); --- 2392,2409 ---- yybackup: /* Do appropriate processing given the current state. */ ! /* Read a lookahead token if we need one and don't already have one. */ /* yyresume: */ ! /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; if (yyn == YYPACT_NINF) goto yydefault; ! /* Not known => get a lookahead token if don't already have one. */ ! /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); *************** yybackup: *** 2452,2458 **** else { yytoken = YYTRANSLATE (yychar); ! YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); } /* If the proper action on seeing token YYTOKEN is to reduce or to --- 2418,2424 ---- else { yytoken = YYTRANSLATE (yychar); ! YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc); } /* If the proper action on seeing token YYTOKEN is to reduce or to *************** yybackup: *** 2472,2479 **** if (yyn == YYFINAL) YYACCEPT; ! /* Shift the look-ahead token. */ ! YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); /* Discard the token being shifted unless it is eof. */ if (yychar != YYEOF) --- 2438,2445 ---- if (yyn == YYFINAL) YYACCEPT; ! /* Shift the lookahead token. */ ! YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken])); /* Discard the token being shifted unless it is eof. */ if (yychar != YYEOF) *************** yyreduce: *** 2523,3017 **** switch (yyn) { case 11: ! #line 229 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { /* use preset global here. FIXME */ ! (yyval.node) = xstrdup ("int"); ;} break; case 12: ! #line 234 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { /* use preset global here. FIXME */ ! (yyval.node) = xstrdup ("double"); ;} break; case 13: ! #line 239 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { /* use preset global here. FIXME */ ! (yyval.node) = xstrdup ("boolean"); ;} break; case 19: ! #line 264 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { while (bracket_count-- > 0) ! (yyval.node) = concat ("[", (yyvsp[-1].node), NULL); ;} break; case 20: ! #line 269 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { while (bracket_count-- > 0) ! (yyval.node) = concat ("[", (yyvsp[-1].node), NULL); ;} break; case 24: ! #line 287 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { ! (yyval.node) = concat ((yyvsp[-2].node), ".", (yyvsp[0].node), NULL); ;} break; case 38: ! #line 319 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" ! { package_name = (yyvsp[-1].node); ;} break; case 46: ! #line 346 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { ! if ((yyvsp[0].value) == PUBLIC_TK) modifier_value++; ! if ((yyvsp[0].value) == STATIC_TK) modifier_value++; USE_ABSORBER; ;} break; case 47: ! #line 354 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { ! if ((yyvsp[0].value) == PUBLIC_TK) modifier_value++; ! if ((yyvsp[0].value) == STATIC_TK) modifier_value++; USE_ABSORBER; ;} break; case 48: ! #line 366 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { ! report_class_declaration((yyvsp[-2].node)); modifier_value = 0; ;} break; case 50: ! #line 372 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" ! { report_class_declaration((yyvsp[-2].node)); ;} break; case 56: ! #line 386 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 57: ! #line 388 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 58: ! #line 393 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { pop_class_context (); ;} break; case 59: ! #line 395 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { pop_class_context (); ;} break; case 71: ! #line 421 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 72: ! #line 423 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { modifier_value = 0; ;} break; case 77: ! #line 439 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { bracket_count = 0; USE_ABSORBER; ;} break; case 78: ! #line 441 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { ++bracket_count; ;} break; case 81: ! #line 452 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { ++method_depth; ;} break; case 82: ! #line 454 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { --method_depth; ;} break; case 83: ! #line 459 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 85: ! #line 462 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { modifier_value = 0; ;} break; case 86: ! #line 464 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { ! report_main_declaration ((yyvsp[-1].declarator)); modifier_value = 0; ;} break; case 87: ! #line 472 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { struct method_declarator *d; ! NEW_METHOD_DECLARATOR (d, (yyvsp[-2].node), NULL); ! (yyval.declarator) = d; ;} break; case 88: ! #line 478 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { struct method_declarator *d; ! NEW_METHOD_DECLARATOR (d, (yyvsp[-3].node), (yyvsp[-1].node)); ! (yyval.declarator) = d; ;} break; case 91: ! #line 489 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { ! (yyval.node) = concat ((yyvsp[-2].node), ",", (yyvsp[0].node), NULL); ;} break; case 92: ! #line 496 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { USE_ABSORBER; if (bracket_count) { int i; ! char *n = xmalloc (bracket_count + 1 + strlen ((yyval.node))); for (i = 0; i < bracket_count; ++i) n[i] = '['; ! strcpy (n + bracket_count, (yyval.node)); ! (yyval.node) = n; } else ! (yyval.node) = (yyvsp[-1].node); ;} break; case 93: ! #line 511 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { if (bracket_count) { int i; ! char *n = xmalloc (bracket_count + 1 + strlen ((yyvsp[-1].node))); for (i = 0; i < bracket_count; ++i) n[i] = '['; ! strcpy (n + bracket_count, (yyvsp[-1].node)); ! (yyval.node) = n; } else ! (yyval.node) = (yyvsp[-1].node); ;} break; case 96: ! #line 532 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 97: ! #line 534 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 101: ! #line 549 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 103: ! #line 560 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { modifier_value = 0; ;} break; case 105: ! #line 565 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { modifier_value = 0; ;} break; case 106: ! #line 572 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 107: ! #line 574 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 114: ! #line 591 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 115: ! #line 593 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 118: ! #line 605 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" ! { report_class_declaration ((yyvsp[0].node)); modifier_value = 0; ;} break; case 120: ! #line 608 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" ! { report_class_declaration ((yyvsp[0].node)); modifier_value = 0; ;} break; case 122: ! #line 611 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" ! { report_class_declaration ((yyvsp[-1].node)); modifier_value = 0; ;} break; case 124: ! #line 614 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" ! { report_class_declaration ((yyvsp[-1].node)); modifier_value = 0; ;} break; case 128: ! #line 625 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { pop_class_context (); ;} break; case 129: ! #line 627 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { pop_class_context (); ;} break; case 152: ! #line 686 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 153: ! #line 688 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { modifier_value = 0; ;} break; case 178: ! #line 729 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 189: ! #line 757 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { ++complexity; ;} break; case 190: ! #line 762 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { ++complexity; ;} break; case 191: ! #line 767 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { ++complexity; ;} break; case 199: ! #line 787 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { ++complexity; ;} break; case 204: ! #line 802 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { ++complexity; ;} break; case 208: ! #line 819 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { ++complexity; ;} break; case 214: ! #line 837 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { ++complexity; ;} break; case 225: ! #line 862 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { ++complexity; ;} break; case 228: ! #line 871 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { ++complexity; ;} break; case 231: ! #line 878 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" {yyerror ("Missing term"); RECOVER;;} break; case 232: ! #line 880 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" {yyerror ("';' expected"); RECOVER;;} break; case 235: ! #line 889 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 241: ! #line 904 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { ++complexity; ;} break; case 242: ! #line 908 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { ++complexity; ;} break; case 253: ! #line 930 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 254: ! #line 935 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 255: ! #line 937 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 256: ! #line 939 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 257: ! #line 941 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 265: ! #line 956 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { report_class_declaration (anonymous_context); ;} break; case 267: ! #line 959 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { report_class_declaration (anonymous_context); ;} break; case 269: ! #line 965 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 283: ! #line 997 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { bracket_count = 1; ;} break; case 284: ! #line 999 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { bracket_count++; ;} break; case 287: ! #line 1012 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { USE_ABSORBER; ++complexity; ;} break; case 288: ! #line 1014 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { USE_ABSORBER; ++complexity; ;} break; case 289: ! #line 1015 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { ++complexity; ;} break; case 290: ! #line 1016 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { ++complexity; ;} break; case 291: ! #line 1017 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { ++complexity; ;} break; case 292: ! #line 1018 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { ++complexity; ;} break; case 293: ! #line 1023 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 296: ! #line 1030 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 343: ! #line 1126 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { ++complexity; ;} break; case 345: ! #line 1132 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { ++complexity; ;} break; case 347: ! #line 1138 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { ++complexity; ;} break; case 351: ! #line 1152 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; } ! /* Line 1037 of yacc.c. */ ! #line 3015 "java/parse-scan.c" yyvsp -= yylen; yyssp -= yylen; --- 2489,2983 ---- switch (yyn) { case 11: ! #line 229 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { /* use preset global here. FIXME */ ! yyval.node = xstrdup ("int"); ;} break; case 12: ! #line 234 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { /* use preset global here. FIXME */ ! yyval.node = xstrdup ("double"); ;} break; case 13: ! #line 239 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { /* use preset global here. FIXME */ ! yyval.node = xstrdup ("boolean"); ;} break; case 19: ! #line 264 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { while (bracket_count-- > 0) ! yyval.node = concat ("[", yyvsp[-1].node, NULL); ;} break; case 20: ! #line 269 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { while (bracket_count-- > 0) ! yyval.node = concat ("[", yyvsp[-1].node, NULL); ;} break; case 24: ! #line 287 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { ! yyval.node = concat (yyvsp[-2].node, ".", yyvsp[0].node, NULL); ;} break; case 38: ! #line 319 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" ! { package_name = yyvsp[-1].node; ;} break; case 46: ! #line 346 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { ! if (yyvsp[0].value == PUBLIC_TK) modifier_value++; ! if (yyvsp[0].value == STATIC_TK) modifier_value++; USE_ABSORBER; ;} break; case 47: ! #line 354 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { ! if (yyvsp[0].value == PUBLIC_TK) modifier_value++; ! if (yyvsp[0].value == STATIC_TK) modifier_value++; USE_ABSORBER; ;} break; case 48: ! #line 366 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { ! report_class_declaration(yyvsp[-2].node); modifier_value = 0; ;} break; case 50: ! #line 372 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" ! { report_class_declaration(yyvsp[-2].node); ;} break; case 56: ! #line 386 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 57: ! #line 388 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 58: ! #line 393 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { pop_class_context (); ;} break; case 59: ! #line 395 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { pop_class_context (); ;} break; case 71: ! #line 421 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 72: ! #line 423 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { modifier_value = 0; ;} break; case 77: ! #line 439 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { bracket_count = 0; USE_ABSORBER; ;} break; case 78: ! #line 441 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { ++bracket_count; ;} break; case 81: ! #line 452 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { ++method_depth; ;} break; case 82: ! #line 454 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { --method_depth; ;} break; case 83: ! #line 459 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 85: ! #line 462 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { modifier_value = 0; ;} break; case 86: ! #line 464 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { ! report_main_declaration (yyvsp[-1].declarator); modifier_value = 0; ;} break; case 87: ! #line 472 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { struct method_declarator *d; ! NEW_METHOD_DECLARATOR (d, yyvsp[-2].node, NULL); ! yyval.declarator = d; ;} break; case 88: ! #line 478 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { struct method_declarator *d; ! NEW_METHOD_DECLARATOR (d, yyvsp[-3].node, yyvsp[-1].node); ! yyval.declarator = d; ;} break; case 91: ! #line 489 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { ! yyval.node = concat (yyvsp[-2].node, ",", yyvsp[0].node, NULL); ;} break; case 92: ! #line 496 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { USE_ABSORBER; if (bracket_count) { int i; ! char *n = xmalloc (bracket_count + 1 + strlen (yyval.node)); for (i = 0; i < bracket_count; ++i) n[i] = '['; ! strcpy (n + bracket_count, yyval.node); ! yyval.node = n; } else ! yyval.node = yyvsp[-1].node; ;} break; case 93: ! #line 511 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { if (bracket_count) { int i; ! char *n = xmalloc (bracket_count + 1 + strlen (yyvsp[-1].node)); for (i = 0; i < bracket_count; ++i) n[i] = '['; ! strcpy (n + bracket_count, yyvsp[-1].node); ! yyval.node = n; } else ! yyval.node = yyvsp[-1].node; ;} break; case 96: ! #line 532 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 97: ! #line 534 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 101: ! #line 549 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 103: ! #line 560 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { modifier_value = 0; ;} break; case 105: ! #line 565 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { modifier_value = 0; ;} break; case 106: ! #line 572 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 107: ! #line 574 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 114: ! #line 591 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 115: ! #line 593 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 118: ! #line 605 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" ! { report_class_declaration (yyvsp[0].node); modifier_value = 0; ;} break; case 120: ! #line 608 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" ! { report_class_declaration (yyvsp[0].node); modifier_value = 0; ;} break; case 122: ! #line 611 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" ! { report_class_declaration (yyvsp[-1].node); modifier_value = 0; ;} break; case 124: ! #line 614 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" ! { report_class_declaration (yyvsp[-1].node); modifier_value = 0; ;} break; case 128: ! #line 625 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { pop_class_context (); ;} break; case 129: ! #line 627 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { pop_class_context (); ;} break; case 152: ! #line 686 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 153: ! #line 688 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { modifier_value = 0; ;} break; case 178: ! #line 729 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 189: ! #line 757 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { ++complexity; ;} break; case 190: ! #line 762 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { ++complexity; ;} break; case 191: ! #line 767 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { ++complexity; ;} break; case 199: ! #line 787 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { ++complexity; ;} break; case 204: ! #line 802 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { ++complexity; ;} break; case 208: ! #line 819 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { ++complexity; ;} break; case 214: ! #line 837 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { ++complexity; ;} break; case 225: ! #line 862 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { ++complexity; ;} break; case 228: ! #line 871 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { ++complexity; ;} break; case 231: ! #line 878 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" {yyerror ("Missing term"); RECOVER;;} break; case 232: ! #line 880 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" {yyerror ("';' expected"); RECOVER;;} break; case 235: ! #line 889 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 241: ! #line 904 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { ++complexity; ;} break; case 242: ! #line 908 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { ++complexity; ;} break; case 253: ! #line 930 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 254: ! #line 935 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 255: ! #line 937 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 256: ! #line 939 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 257: ! #line 941 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 265: ! #line 956 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { report_class_declaration (anonymous_context); ;} break; case 267: ! #line 959 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { report_class_declaration (anonymous_context); ;} break; case 269: ! #line 965 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 283: ! #line 997 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { bracket_count = 1; ;} break; case 284: ! #line 999 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { bracket_count++; ;} break; case 287: ! #line 1012 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { USE_ABSORBER; ++complexity; ;} break; case 288: ! #line 1014 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { USE_ABSORBER; ++complexity; ;} break; case 289: ! #line 1015 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { ++complexity; ;} break; case 290: ! #line 1016 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { ++complexity; ;} break; case 291: ! #line 1017 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { ++complexity; ;} break; case 292: ! #line 1018 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { ++complexity; ;} break; case 293: ! #line 1023 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 296: ! #line 1030 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 343: ! #line 1126 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { ++complexity; ;} break; case 345: ! #line 1132 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { ++complexity; ;} break; case 347: ! #line 1138 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { ++complexity; ;} break; case 351: ! #line 1152 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; } ! /* Line 991 of yacc.c. */ ! #line 2980 "java/parse-scan.c" yyvsp -= yylen; yyssp -= yylen; *************** yyerrlab: *** 3052,3084 **** { YYSIZE_T yysize = 0; int yytype = YYTRANSLATE (yychar); - const char* yyprefix; char *yymsg; ! int yyx; /* Start YYX at -YYN if negative to avoid negative indexes in YYCHECK. */ ! int yyxbegin = yyn < 0 ? -yyn : 0; ! ! /* Stay within bounds of both yycheck and yytname. */ ! int yychecklim = YYLAST - yyn; ! int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; ! int yycount = 0; ! ! yyprefix = ", expecting "; ! for (yyx = yyxbegin; yyx < yyxend; ++yyx) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) ! { ! yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]); ! yycount += 1; ! if (yycount == 5) ! { ! yysize = 0; ! break; ! } ! } ! yysize += (sizeof ("syntax error, unexpected ") ! + yystrlen (yytname[yytype])); yymsg = (char *) YYSTACK_ALLOC (yysize); if (yymsg != 0) { --- 3018,3035 ---- { YYSIZE_T yysize = 0; int yytype = YYTRANSLATE (yychar); char *yymsg; ! int yyx, yycount; + yycount = 0; /* Start YYX at -YYN if negative to avoid negative indexes in YYCHECK. */ ! for (yyx = yyn < 0 ? -yyn : 0; ! yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) ! yysize += yystrlen (yytname[yyx]) + 15, yycount++; ! yysize += yystrlen ("syntax error, unexpected ") + 1; ! yysize += yystrlen (yytname[yytype]); yymsg = (char *) YYSTACK_ALLOC (yysize); if (yymsg != 0) { *************** yyerrlab: *** 3087,3099 **** if (yycount < 5) { ! yyprefix = ", expecting "; ! for (yyx = yyxbegin; yyx < yyxend; ++yyx) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) { ! yyp = yystpcpy (yyp, yyprefix); yyp = yystpcpy (yyp, yytname[yyx]); ! yyprefix = " or "; } } yyerror (yymsg); --- 3038,3053 ---- if (yycount < 5) { ! yycount = 0; ! for (yyx = yyn < 0 ? -yyn : 0; ! yyx < (int) (sizeof (yytname) / sizeof (char *)); ! yyx++) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) { ! const char *yyq = ! yycount ? ", expecting " : " or "; ! yyp = yystpcpy (yyp, yyq); yyp = yystpcpy (yyp, yytname[yyx]); ! yycount++; } } yyerror (yymsg); *************** yyerrlab: *** 3111,3168 **** if (yyerrstatus == 3) { ! /* If just tried and failed to reuse look-ahead token after an error, discard it. */ ! if (yychar <= YYEOF) { ! /* If at end of input, pop the error token, ! then the rest of the stack, then return failure. */ ! if (yychar == YYEOF) ! for (;;) ! { ! ! YYPOPSTACK; ! if (yyssp == yyss) ! YYABORT; ! yydestruct ("Error: popping", ! yystos[*yyssp], yyvsp); ! } } ! else ! { ! yydestruct ("Error: discarding", yytoken, &yylval); ! yychar = YYEMPTY; ! } } ! /* Else will try to reuse look-ahead token after shifting the error token. */ ! goto yyerrlab1; ! /*---------------------------------------------------. ! | yyerrorlab -- error raised explicitly by YYERROR. | ! `---------------------------------------------------*/ ! yyerrorlab: ! #ifdef __GNUC__ ! /* Pacify GCC when the user code never invokes YYERROR and the label ! yyerrorlab therefore never appears in user code. */ ! if (0) ! goto yyerrorlab; #endif - yyvsp -= yylen; - yyssp -= yylen; - yystate = *yyssp; - goto yyerrlab1; ! /*-------------------------------------------------------------. ! | yyerrlab1 -- common code for both syntax error and YYERROR. | ! `-------------------------------------------------------------*/ ! yyerrlab1: yyerrstatus = 3; /* Each real token shifted decrements this. */ for (;;) --- 3065,3119 ---- if (yyerrstatus == 3) { ! /* If just tried and failed to reuse lookahead token after an error, discard it. */ ! /* Return failure if at end of input. */ ! if (yychar == YYEOF) { ! /* Pop the error token. */ ! YYPOPSTACK; ! /* Pop the rest of the stack. */ ! while (yyss < yyssp) ! { ! YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); ! yydestruct (yystos[*yyssp], yyvsp); ! YYPOPSTACK; ! } ! YYABORT; } ! ! YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc); ! yydestruct (yytoken, &yylval); ! yychar = YYEMPTY; ! } ! /* Else will try to reuse lookahead token after shifting the error token. */ ! goto yyerrlab2; ! /*----------------------------------------------------. ! | yyerrlab1 -- error raised explicitly by an action. | ! `----------------------------------------------------*/ ! yyerrlab1: ! /* Suppress GCC warning that yyerrlab1 is unused when no action ! invokes YYERROR. */ ! #if defined (__GNUC_MINOR__) && 2093 <= (__GNUC__ * 1000 + __GNUC_MINOR__) \ ! && !defined __cplusplus ! __attribute__ ((__unused__)) #endif + goto yyerrlab2; ! ! /*---------------------------------------------------------------. ! | yyerrlab2 -- pop states until the error token can be shifted. | ! `---------------------------------------------------------------*/ ! yyerrlab2: yyerrstatus = 3; /* Each real token shifted decrements this. */ for (;;) *************** yyerrlab1: *** 3183,3203 **** if (yyssp == yyss) YYABORT; - yydestruct ("Error: popping", yystos[yystate], yyvsp); - YYPOPSTACK; - yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); } if (yyn == YYFINAL) YYACCEPT; ! *++yyvsp = yylval; - /* Shift the error token. */ - YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); yystate = yyn; goto yynewstate; --- 3134,3154 ---- if (yyssp == yyss) YYABORT; + YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); + yydestruct (yystos[yystate], yyvsp); + yyvsp--; + yystate = *--yyssp; YY_STACK_PRINT (yyss, yyssp); } if (yyn == YYFINAL) YYACCEPT; ! YYDPRINTF ((stderr, "Shifting error token, ")); + *++yyvsp = yylval; yystate = yyn; goto yynewstate; *************** yyacceptlab: *** 3214,3222 **** | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ yyabortlab: - yydestruct ("Error: discarding lookahead", - yytoken, &yylval); - yychar = YYEMPTY; yyresult = 1; goto yyreturn; --- 3165,3170 ---- *************** yyreturn: *** 3239,3245 **** } ! #line 1170 "/scratch/mitchell/gcc-releases/gcc-4.0.3/gcc-4.0.3/gcc/java/parse-scan.y" /* Create a new parser context */ --- 3187,3193 ---- } ! #line 1170 "/home/gdr/build/gcc-release/gcc-4.0.4/gcc-4.0.4/gcc/java/parse-scan.y" /* Create a new parser context */ diff -Nrcpad gcc-4.0.3/libffi/ChangeLog gcc-4.0.4/libffi/ChangeLog *** gcc-4.0.3/libffi/ChangeLog 2006-03-09 20:45:28.000000000 +0000 --- gcc-4.0.4/libffi/ChangeLog 2007-01-31 10:24:58.000000000 +0000 *************** *** 1,3 **** --- 1,12 ---- + 2007-01-31 Release Manager + + * GCC 4.0.4 released. + + 2006-04-10 Matthias Klose + + * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib + directory names containing underscores. + 2006-03-09 Release Manager * GCC 4.0.3 released. diff -Nrcpad gcc-4.0.3/libffi/testsuite/lib/libffi-dg.exp gcc-4.0.4/libffi/testsuite/lib/libffi-dg.exp *** gcc-4.0.3/libffi/testsuite/lib/libffi-dg.exp 2004-11-24 04:39:41.000000000 +0000 --- gcc-4.0.4/libffi/testsuite/lib/libffi-dg.exp 2006-04-10 22:01:37.000000000 +0000 *************** proc libffi-init { args } { *** 104,110 **** if { [is_remote host] == 0 && [which $compiler] != 0 } { foreach i "[exec $compiler --print-multi-lib]" { set mldir "" ! regexp -- "\[a-z0-9=/\.-\]*;" $i mldir set mldir [string trimright $mldir "\;@"] if { "$mldir" == "." } { continue --- 104,110 ---- if { [is_remote host] == 0 && [which $compiler] != 0 } { foreach i "[exec $compiler --print-multi-lib]" { set mldir "" ! regexp -- "\[a-z0-9=_/\.-\]*;" $i mldir set mldir [string trimright $mldir "\;@"] if { "$mldir" == "." } { continue diff -Nrcpad gcc-4.0.3/libjava/ChangeLog gcc-4.0.4/libjava/ChangeLog *** gcc-4.0.3/libjava/ChangeLog 2006-03-09 20:45:52.000000000 +0000 --- gcc-4.0.4/libjava/ChangeLog 2007-01-31 10:23:41.000000000 +0000 *************** *** 1,3 **** --- 1,12 ---- + 2007-01-31 Release Manager + + * GCC 4.0.4 released. + + 2006-04-10 Matthias Klose + + * testsuite/lib/libjava.exp (libjava_init): Recognize multilib + directory names containing underscores. + 2006-03-09 Release Manager * GCC 4.0.3 released. diff -Nrcpad gcc-4.0.3/libjava/libltdl/ChangeLog gcc-4.0.4/libjava/libltdl/ChangeLog *** gcc-4.0.3/libjava/libltdl/ChangeLog 2006-03-09 20:45:45.000000000 +0000 --- gcc-4.0.4/libjava/libltdl/ChangeLog 2007-01-31 10:23:34.000000000 +0000 *************** *** 1,3 **** --- 1,7 ---- + 2007-01-31 Release Manager + + * GCC 4.0.4 released. + 2006-03-09 Release Manager * GCC 4.0.3 released. diff -Nrcpad gcc-4.0.3/libjava/testsuite/lib/libjava.exp gcc-4.0.4/libjava/testsuite/lib/libjava.exp *** gcc-4.0.3/libjava/testsuite/lib/libjava.exp 2005-03-30 18:43:06.000000000 +0000 --- gcc-4.0.4/libjava/testsuite/lib/libjava.exp 2006-04-10 22:01:37.000000000 +0000 *************** proc libjava_init { args } { *** 212,218 **** if { [is_remote host] == 0 && [which $compiler] != 0 } { foreach i "[exec $compiler --print-multi-lib]" { set mldir "" ! regexp -- "\[a-z0-9=/\.-\]*;" $i mldir set mldir [string trimright $mldir "\;@"] if { "$mldir" == "." } { continue --- 212,218 ---- if { [is_remote host] == 0 && [which $compiler] != 0 } { foreach i "[exec $compiler --print-multi-lib]" { set mldir "" ! regexp -- "\[a-z0-9=_/\.-\]*;" $i mldir set mldir [string trimright $mldir "\;@"] if { "$mldir" == "." } { continue diff -Nrcpad gcc-4.0.3/zlib/ChangeLog gcc-4.0.4/zlib/ChangeLog *** gcc-4.0.3/zlib/ChangeLog 2006-03-09 20:44:48.000000000 +0000 --- gcc-4.0.4/zlib/ChangeLog 2007-01-31 10:22:51.000000000 +0000 *************** *** 1,3 **** --- 1,7 ---- + 2007-01-31 Release Manager + + * GCC 4.0.4 released. + 2006-03-09 Release Manager * GCC 4.0.3 released.