diff -Nrcpad gcc-4.1.1/boehm-gc/ChangeLog gcc-4.1.2/boehm-gc/ChangeLog *** gcc-4.1.1/boehm-gc/ChangeLog Wed May 24 23:42:41 2006 --- gcc-4.1.2/boehm-gc/ChangeLog Wed Feb 14 05:12:26 2007 *************** *** 1,3 **** --- 1,7 ---- + 2007-02-13 Release Manager + + * GCC 4.1.2 released. + 2006-05-24 Release Manager * GCC 4.1.1 released. diff -Nrcpad gcc-4.1.1/fastjar/ChangeLog gcc-4.1.2/fastjar/ChangeLog *** gcc-4.1.1/fastjar/ChangeLog Wed May 24 23:42:49 2006 --- gcc-4.1.2/fastjar/ChangeLog Wed Feb 14 05:12:39 2007 *************** *** 1,3 **** --- 1,15 ---- + 2007-02-13 Release Manager + + * GCC 4.1.2 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-05-24 Release Manager * GCC 4.1.1 released. diff -Nrcpad gcc-4.1.1/fastjar/fastjar.1 gcc-4.1.2/fastjar/fastjar.1 *** gcc-4.1.1/fastjar/fastjar.1 Thu May 25 00:33:20 2006 --- gcc-4.1.2/fastjar/fastjar.1 Wed Feb 14 06:03:57 2007 *************** *** 129,135 **** .\" ======================================================================== .\" .IX Title "FASTJAR 1" ! .TH FASTJAR 1 "2006-05-25" "gcc-4.1.1" "GNU" .SH "NAME" fastjar \- archive tool for Java archives .SH "SYNOPSIS" --- 129,135 ---- .\" ======================================================================== .\" .IX Title "FASTJAR 1" ! .TH FASTJAR 1 "2007-02-14" "gcc-4.1.2" "GNU" .SH "NAME" fastjar \- archive tool for Java archives .SH "SYNOPSIS" diff -Nrcpad gcc-4.1.1/fastjar/fastjar.info gcc-4.1.2/fastjar/fastjar.info *** gcc-4.1.1/fastjar/fastjar.info Thu May 25 00:33:17 2006 --- gcc-4.1.2/fastjar/fastjar.info Wed Feb 14 06:03:54 2007 *************** *** 1,5 **** This is fastjar.info, produced by makeinfo version 4.8 from ! /scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/fastjar/fastjar.texi. INFO-DIR-SECTION Programming START-INFO-DIR-ENTRY --- 1,5 ---- This is fastjar.info, produced by makeinfo version 4.8 from ! /scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/fastjar/fastjar.texi. INFO-DIR-SECTION Programming START-INFO-DIR-ENTRY diff -Nrcpad gcc-4.1.1/fastjar/grepjar.1 gcc-4.1.2/fastjar/grepjar.1 *** gcc-4.1.1/fastjar/grepjar.1 Thu May 25 00:33:20 2006 --- gcc-4.1.2/fastjar/grepjar.1 Wed Feb 14 06:03:57 2007 *************** *** 129,135 **** .\" ======================================================================== .\" .IX Title "GREPJAR 1" ! .TH GREPJAR 1 "2006-05-25" "gcc-4.1.1" "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-02-14" "gcc-4.1.2" "GNU" .SH "NAME" grepjar \- search files in a jar file for a pattern .SH "SYNOPSIS" diff -Nrcpad gcc-4.1.1/fastjar/jartool.c gcc-4.1.2/fastjar/jartool.c *** gcc-4.1.1/fastjar/jartool.c Wed Feb 8 05:55:47 2006 --- gcc-4.1.2/fastjar/jartool.c Sat Aug 5 09:27:11 2006 *************** int extract_jar(int fd, char **files, in *** 1736,1741 **** --- 1736,1742 ---- 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 *** 1756,1762 **** #ifdef DEBUG printf("checking the existance of %s\n", tmp_buff); #endif ! if(stat(tmp_buff, &sbuf) < 0){ if(errno != ENOENT){ perror("stat"); --- 1757,1770 ---- #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.1.1/gcc/java/ChangeLog gcc-4.1.2/gcc/java/ChangeLog *** gcc-4.1.1/gcc/java/ChangeLog Wed May 24 23:41:40 2006 --- gcc-4.1.2/gcc/java/ChangeLog Wed Feb 14 05:11:04 2007 *************** *** 1,3 **** --- 1,7 ---- + 2007-02-13 Release Manager + + * GCC 4.1.2 released. + 2006-05-24 Release Manager * GCC 4.1.1 released. diff -Nrcpad gcc-4.1.1/gcc/java/parse-scan.c gcc-4.1.2/gcc/java/parse-scan.c *** gcc-4.1.1/gcc/java/parse-scan.c Wed May 24 23:52:41 2006 --- gcc-4.1.2/gcc/java/parse-scan.c Wed Feb 14 05:22:42 2007 *************** *** 278,284 **** /* Copy the first part of user declarations. */ ! #line 38 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" #define JC1_LITE --- 278,284 ---- /* Copy the first part of user declarations. */ ! #line 38 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" #define JC1_LITE *************** void report (void); *** 383,389 **** #endif #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) ! #line 128 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" typedef union YYSTYPE { char *node; struct method_declarator *declarator; --- 383,389 ---- #endif #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) ! #line 128 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" typedef union YYSTYPE { char *node; struct method_declarator *declarator; *************** typedef union YYSTYPE { *** 399,405 **** /* Copy the second part of user declarations. */ ! #line 134 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" extern int flag_assert; --- 399,405 ---- /* Copy the second part of user declarations. */ ! #line 134 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" extern int flag_assert; *************** yyreduce: *** 2535,2541 **** switch (yyn) { case 11: ! #line 229 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { /* use preset global here. FIXME */ (yyval.node) = xstrdup ("int"); --- 2535,2541 ---- switch (yyn) { case 11: ! #line 229 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { /* use preset global here. FIXME */ (yyval.node) = xstrdup ("int"); *************** yyreduce: *** 2543,2549 **** break; case 12: ! #line 234 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { /* use preset global here. FIXME */ (yyval.node) = xstrdup ("double"); --- 2543,2549 ---- break; case 12: ! #line 234 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { /* use preset global here. FIXME */ (yyval.node) = xstrdup ("double"); *************** yyreduce: *** 2551,2557 **** break; case 13: ! #line 239 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { /* use preset global here. FIXME */ (yyval.node) = xstrdup ("boolean"); --- 2551,2557 ---- break; case 13: ! #line 239 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { /* use preset global here. FIXME */ (yyval.node) = xstrdup ("boolean"); *************** yyreduce: *** 2559,2565 **** break; case 19: ! #line 264 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { while (bracket_count-- > 0) (yyval.node) = concat ("[", (yyvsp[-1].node), NULL); --- 2559,2565 ---- break; case 19: ! #line 264 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { while (bracket_count-- > 0) (yyval.node) = concat ("[", (yyvsp[-1].node), NULL); *************** yyreduce: *** 2567,2573 **** break; case 20: ! #line 269 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { while (bracket_count-- > 0) (yyval.node) = concat ("[", (yyvsp[-1].node), NULL); --- 2567,2573 ---- break; case 20: ! #line 269 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { while (bracket_count-- > 0) (yyval.node) = concat ("[", (yyvsp[-1].node), NULL); *************** yyreduce: *** 2575,2593 **** break; case 24: ! #line 287 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/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.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { package_name = (yyvsp[-1].node); ;} break; case 46: ! #line 346 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { if ((yyvsp[0].value) == PUBLIC_TK) modifier_value++; --- 2575,2593 ---- break; case 24: ! #line 287 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/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.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { package_name = (yyvsp[-1].node); ;} break; case 46: ! #line 346 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { if ((yyvsp[0].value) == PUBLIC_TK) modifier_value++; *************** yyreduce: *** 2598,2604 **** break; case 47: ! #line 354 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { if ((yyvsp[0].value) == PUBLIC_TK) modifier_value++; --- 2598,2604 ---- break; case 47: ! #line 354 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { if ((yyvsp[0].value) == PUBLIC_TK) modifier_value++; *************** yyreduce: *** 2609,2615 **** break; case 48: ! #line 366 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { report_class_declaration((yyvsp[-2].node)); modifier_value = 0; --- 2609,2615 ---- break; case 48: ! #line 366 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { report_class_declaration((yyvsp[-2].node)); modifier_value = 0; *************** yyreduce: *** 2617,2688 **** break; case 50: ! #line 372 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { report_class_declaration((yyvsp[-2].node)); ;} break; case 56: ! #line 386 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 57: ! #line 388 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 58: ! #line 393 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { pop_class_context (); ;} break; case 59: ! #line 395 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { pop_class_context (); ;} break; case 71: ! #line 421 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 72: ! #line 423 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { modifier_value = 0; ;} break; case 77: ! #line 439 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { bracket_count = 0; USE_ABSORBER; ;} break; case 78: ! #line 441 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { ++bracket_count; ;} break; case 81: ! #line 452 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { ++method_depth; ;} break; case 82: ! #line 454 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { --method_depth; ;} break; case 83: ! #line 459 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 85: ! #line 462 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { modifier_value = 0; ;} break; case 86: ! #line 464 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { report_main_declaration ((yyvsp[-1].declarator)); modifier_value = 0; --- 2617,2688 ---- break; case 50: ! #line 372 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { report_class_declaration((yyvsp[-2].node)); ;} break; case 56: ! #line 386 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 57: ! #line 388 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 58: ! #line 393 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { pop_class_context (); ;} break; case 59: ! #line 395 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { pop_class_context (); ;} break; case 71: ! #line 421 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 72: ! #line 423 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { modifier_value = 0; ;} break; case 77: ! #line 439 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { bracket_count = 0; USE_ABSORBER; ;} break; case 78: ! #line 441 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { ++bracket_count; ;} break; case 81: ! #line 452 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { ++method_depth; ;} break; case 82: ! #line 454 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { --method_depth; ;} break; case 83: ! #line 459 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 85: ! #line 462 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { modifier_value = 0; ;} break; case 86: ! #line 464 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { report_main_declaration ((yyvsp[-1].declarator)); modifier_value = 0; *************** yyreduce: *** 2690,2696 **** break; case 87: ! #line 472 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { struct method_declarator *d; NEW_METHOD_DECLARATOR (d, (yyvsp[-2].node), NULL); --- 2690,2696 ---- break; case 87: ! #line 472 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { struct method_declarator *d; NEW_METHOD_DECLARATOR (d, (yyvsp[-2].node), NULL); *************** yyreduce: *** 2699,2705 **** break; case 88: ! #line 478 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { struct method_declarator *d; NEW_METHOD_DECLARATOR (d, (yyvsp[-3].node), (yyvsp[-1].node)); --- 2699,2705 ---- break; case 88: ! #line 478 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { struct method_declarator *d; NEW_METHOD_DECLARATOR (d, (yyvsp[-3].node), (yyvsp[-1].node)); *************** yyreduce: *** 2708,2721 **** break; case 91: ! #line 489 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/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.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { USE_ABSORBER; if (bracket_count) --- 2708,2721 ---- break; case 91: ! #line 489 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/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.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { USE_ABSORBER; if (bracket_count) *************** yyreduce: *** 2733,2739 **** break; case 93: ! #line 511 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { if (bracket_count) { --- 2733,2739 ---- break; case 93: ! #line 511 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { if (bracket_count) { *************** yyreduce: *** 2750,3021 **** break; case 96: ! #line 532 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 97: ! #line 534 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 101: ! #line 549 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 103: ! #line 560 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { modifier_value = 0; ;} break; case 105: ! #line 565 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { modifier_value = 0; ;} break; case 106: ! #line 572 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 107: ! #line 574 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 114: ! #line 591 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 115: ! #line 593 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 118: ! #line 605 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/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.1.1/gcc-4.1.1/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.1.1/gcc-4.1.1/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.1.1/gcc-4.1.1/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.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { pop_class_context (); ;} break; case 129: ! #line 627 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { pop_class_context (); ;} break; case 153: ! #line 687 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 154: ! #line 689 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { modifier_value = 0; ;} break; case 179: ! #line 730 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 190: ! #line 758 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { ++complexity; ;} break; case 191: ! #line 763 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { ++complexity; ;} break; case 192: ! #line 768 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { ++complexity; ;} break; case 200: ! #line 788 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { ++complexity; ;} break; case 205: ! #line 803 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { ++complexity; ;} break; case 209: ! #line 820 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { ++complexity; ;} break; case 215: ! #line 838 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { ++complexity; ;} break; case 226: ! #line 863 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { ++complexity; ;} break; case 229: ! #line 872 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { ++complexity; ;} break; case 232: ! #line 879 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" {yyerror ("Missing term"); RECOVER;;} break; case 233: ! #line 881 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" {yyerror ("';' expected"); RECOVER;;} break; case 236: ! #line 890 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 242: ! #line 905 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { ++complexity; ;} break; case 243: ! #line 909 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { ++complexity; ;} break; case 254: ! #line 931 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 255: ! #line 936 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 256: ! #line 938 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 257: ! #line 940 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 258: ! #line 942 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 266: ! #line 957 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { report_class_declaration (anonymous_context); ;} break; case 268: ! #line 960 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { report_class_declaration (anonymous_context); ;} break; case 270: ! #line 966 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 284: ! #line 998 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { bracket_count = 1; ;} break; case 285: ! #line 1000 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { bracket_count++; ;} break; case 288: ! #line 1013 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { USE_ABSORBER; ++complexity; ;} break; case 289: ! #line 1015 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { USE_ABSORBER; ++complexity; ;} break; case 290: ! #line 1016 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { ++complexity; ;} break; case 291: ! #line 1017 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { ++complexity; ;} break; case 292: ! #line 1018 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { ++complexity; ;} break; case 293: ! #line 1019 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { ++complexity; ;} break; case 294: ! #line 1024 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 297: ! #line 1031 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 344: ! #line 1127 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { ++complexity; ;} break; case 346: ! #line 1133 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { ++complexity; ;} break; case 348: ! #line 1139 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { ++complexity; ;} break; case 352: ! #line 1153 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; --- 2750,3021 ---- break; case 96: ! #line 532 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 97: ! #line 534 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 101: ! #line 549 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 103: ! #line 560 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { modifier_value = 0; ;} break; case 105: ! #line 565 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { modifier_value = 0; ;} break; case 106: ! #line 572 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 107: ! #line 574 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 114: ! #line 591 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 115: ! #line 593 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 118: ! #line 605 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/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.1.2/gcc-4.1.2/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.1.2/gcc-4.1.2/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.1.2/gcc-4.1.2/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.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { pop_class_context (); ;} break; case 129: ! #line 627 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { pop_class_context (); ;} break; case 153: ! #line 687 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 154: ! #line 689 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { modifier_value = 0; ;} break; case 179: ! #line 730 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 190: ! #line 758 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { ++complexity; ;} break; case 191: ! #line 763 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { ++complexity; ;} break; case 192: ! #line 768 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { ++complexity; ;} break; case 200: ! #line 788 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { ++complexity; ;} break; case 205: ! #line 803 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { ++complexity; ;} break; case 209: ! #line 820 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { ++complexity; ;} break; case 215: ! #line 838 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { ++complexity; ;} break; case 226: ! #line 863 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { ++complexity; ;} break; case 229: ! #line 872 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { ++complexity; ;} break; case 232: ! #line 879 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" {yyerror ("Missing term"); RECOVER;;} break; case 233: ! #line 881 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" {yyerror ("';' expected"); RECOVER;;} break; case 236: ! #line 890 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 242: ! #line 905 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { ++complexity; ;} break; case 243: ! #line 909 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { ++complexity; ;} break; case 254: ! #line 931 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 255: ! #line 936 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 256: ! #line 938 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 257: ! #line 940 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 258: ! #line 942 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 266: ! #line 957 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { report_class_declaration (anonymous_context); ;} break; case 268: ! #line 960 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { report_class_declaration (anonymous_context); ;} break; case 270: ! #line 966 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 284: ! #line 998 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { bracket_count = 1; ;} break; case 285: ! #line 1000 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { bracket_count++; ;} break; case 288: ! #line 1013 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { USE_ABSORBER; ++complexity; ;} break; case 289: ! #line 1015 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { USE_ABSORBER; ++complexity; ;} break; case 290: ! #line 1016 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { ++complexity; ;} break; case 291: ! #line 1017 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { ++complexity; ;} break; case 292: ! #line 1018 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { ++complexity; ;} break; case 293: ! #line 1019 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { ++complexity; ;} break; case 294: ! #line 1024 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 297: ! #line 1031 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; case 344: ! #line 1127 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { ++complexity; ;} break; case 346: ! #line 1133 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { ++complexity; ;} break; case 348: ! #line 1139 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { ++complexity; ;} break; case 352: ! #line 1153 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" { USE_ABSORBER; ;} break; *************** yyreturn: *** 3251,3257 **** } ! #line 1171 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y" /* Create a new parser context */ --- 3251,3257 ---- } ! #line 1171 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse-scan.y" /* Create a new parser context */ diff -Nrcpad gcc-4.1.1/gcc/java/parse.c gcc-4.1.2/gcc/java/parse.c *** gcc-4.1.1/gcc/java/parse.c Wed May 24 23:52:40 2006 --- gcc-4.1.2/gcc/java/parse.c Wed Feb 14 05:22:42 2007 *************** *** 286,292 **** /* Copy the first part of user declarations. */ ! #line 49 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" #include "config.h" #include "system.h" --- 286,292 ---- /* Copy the first part of user declarations. */ ! #line 49 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" #include "config.h" #include "system.h" *************** static GTY(()) tree src_parse_roots[1]; *** 703,709 **** #endif #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) ! #line 451 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" typedef union YYSTYPE { tree node; int sub_token; --- 703,709 ---- #endif #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) ! #line 451 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" typedef union YYSTYPE { tree node; int sub_token; *************** typedef union YYSTYPE { *** 727,733 **** /* Copy the second part of user declarations. */ ! #line 465 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" #ifdef USE_MAPPED_LOCATION #define SET_EXPR_LOCATION_FROM_TOKEN(EXPR, TOKEN) \ --- 727,733 ---- /* Copy the second part of user declarations. */ ! #line 465 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" #ifdef USE_MAPPED_LOCATION #define SET_EXPR_LOCATION_FROM_TOKEN(EXPR, TOKEN) \ *************** yyreduce: *** 3528,3539 **** switch (yyn) { case 2: ! #line 625 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {;} break; case 19: ! #line 669 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { int osb = pop_current_osb (ctxp); tree t = build_java_array_type (((yyvsp[-1].node)), -1); --- 3528,3539 ---- switch (yyn) { case 2: ! #line 625 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {;} break; case 19: ! #line 669 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { int osb = pop_current_osb (ctxp); tree t = build_java_array_type (((yyvsp[-1].node)), -1); *************** yyreduce: *** 3544,3550 **** break; case 20: ! #line 677 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { int osb = pop_current_osb (ctxp); tree t = (yyvsp[-1].node); --- 3544,3550 ---- break; case 20: ! #line 677 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { int osb = pop_current_osb (ctxp); tree t = (yyvsp[-1].node); *************** yyreduce: *** 3555,3602 **** break; case 24: ! #line 698 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = make_qualified_name ((yyvsp[-2].node), (yyvsp[0].node), (yyvsp[-1].operator).location); ;} break; case 26: ! #line 707 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {(yyval.node) = NULL;;} break; case 34: ! #line 719 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = NULL; ;} break; case 35: ! #line 723 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = NULL; ;} break; case 38: ! #line 735 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { ctxp->package = EXPR_WFL_NODE ((yyvsp[-1].node)); ;} break; case 39: ! #line 739 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing name"); RECOVER;;} break; case 40: ! #line 741 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 43: ! #line 751 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { tree name = EXPR_WFL_NODE ((yyvsp[-1].node)), last_name; int i = IDENTIFIER_LENGTH (name)-1; --- 3555,3602 ---- break; case 24: ! #line 698 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = make_qualified_name ((yyvsp[-2].node), (yyvsp[0].node), (yyvsp[-1].operator).location); ;} break; case 26: ! #line 707 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {(yyval.node) = NULL;;} break; case 34: ! #line 719 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = NULL; ;} break; case 35: ! #line 723 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = NULL; ;} break; case 38: ! #line 735 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { ctxp->package = EXPR_WFL_NODE ((yyvsp[-1].node)); ;} break; case 39: ! #line 739 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing name"); RECOVER;;} break; case 40: ! #line 741 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 43: ! #line 751 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { tree name = EXPR_WFL_NODE ((yyvsp[-1].node)), last_name; int i = IDENTIFIER_LENGTH (name)-1; *************** yyreduce: *** 3625,3641 **** break; case 44: ! #line 777 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing name"); RECOVER;;} break; case 45: ! #line 779 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 46: ! #line 784 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { tree name = EXPR_WFL_NODE ((yyvsp[-3].node)); tree it; --- 3625,3641 ---- break; case 44: ! #line 777 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing name"); RECOVER;;} break; case 45: ! #line 779 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 46: ! #line 784 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { tree name = EXPR_WFL_NODE ((yyvsp[-3].node)); tree it; *************** yyreduce: *** 3656,3682 **** break; case 47: ! #line 802 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("'*' expected"); RECOVER;;} break; case 48: ! #line 804 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 49: ! #line 809 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { end_class_declaration (0); ;} break; case 50: ! #line 811 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { end_class_declaration (0); ;} break; case 52: ! #line 814 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { YYERROR_NOW; yyerror ("Class or interface declaration expected"); --- 3656,3682 ---- break; case 47: ! #line 802 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("'*' expected"); RECOVER;;} break; case 48: ! #line 804 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 49: ! #line 809 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { end_class_declaration (0); ;} break; case 50: ! #line 811 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { end_class_declaration (0); ;} break; case 52: ! #line 814 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { YYERROR_NOW; yyerror ("Class or interface declaration expected"); *************** yyreduce: *** 3684,3697 **** break; case 53: ! #line 825 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.value) = (1 << (yyvsp[0].value)); ;} break; case 54: ! #line 829 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { int acc = (1 << (yyvsp[0].value)); if ((yyval.value) & acc) --- 3684,3697 ---- break; case 53: ! #line 825 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.value) = (1 << (yyvsp[0].value)); ;} break; case 54: ! #line 829 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { int acc = (1 << (yyvsp[0].value)); if ((yyval.value) & acc) *************** yyreduce: *** 3706,3742 **** break; case 55: ! #line 845 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { create_class ((yyvsp[-4].value), (yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 56: ! #line 847 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {;;} break; case 57: ! #line 849 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { create_class (0, (yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 58: ! #line 851 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {;;} break; case 59: ! #line 853 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { yyerror ("Missing class name"); RECOVER; ;} break; case 60: ! #line 855 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { yyerror ("Missing class name"); RECOVER; ;} break; case 61: ! #line 857 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { if (!ctxp->class_err) yyerror ("'{' expected"); DRECOVER(class1); --- 3706,3742 ---- break; case 55: ! #line 845 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { create_class ((yyvsp[-4].value), (yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 56: ! #line 847 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {;;} break; case 57: ! #line 849 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { create_class (0, (yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 58: ! #line 851 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {;;} break; case 59: ! #line 853 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { yyerror ("Missing class name"); RECOVER; ;} break; case 60: ! #line 855 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { yyerror ("Missing class name"); RECOVER; ;} break; case 61: ! #line 857 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { if (!ctxp->class_err) yyerror ("'{' expected"); DRECOVER(class1); *************** yyreduce: *** 3744,3785 **** break; case 62: ! #line 862 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { if (!ctxp->class_err) yyerror ("'{' expected"); RECOVER; ;} break; case 63: ! #line 866 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = NULL; ;} break; case 64: ! #line 868 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = (yyvsp[0].node); ;} break; case 65: ! #line 870 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("'{' expected"); ctxp->class_err=1;;} break; case 66: ! #line 872 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing super class name"); ctxp->class_err=1;;} break; case 67: ! #line 876 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = NULL_TREE; ;} break; case 68: ! #line 878 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = (yyvsp[0].node); ;} break; case 69: ! #line 880 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { ctxp->class_err=1; yyerror ("Missing interface name"); --- 3744,3785 ---- break; case 62: ! #line 862 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { if (!ctxp->class_err) yyerror ("'{' expected"); RECOVER; ;} break; case 63: ! #line 866 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = NULL; ;} break; case 64: ! #line 868 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = (yyvsp[0].node); ;} break; case 65: ! #line 870 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("'{' expected"); ctxp->class_err=1;;} break; case 66: ! #line 872 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing super class name"); ctxp->class_err=1;;} break; case 67: ! #line 876 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = NULL_TREE; ;} break; case 68: ! #line 878 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = (yyvsp[0].node); ;} break; case 69: ! #line 880 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { ctxp->class_err=1; yyerror ("Missing interface name"); *************** yyreduce: *** 3787,3793 **** break; case 70: ! #line 888 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { ctxp->interface_number = 1; (yyval.node) = build_tree_list ((yyvsp[0].node), NULL_TREE); --- 3787,3793 ---- break; case 70: ! #line 888 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { ctxp->interface_number = 1; (yyval.node) = build_tree_list ((yyvsp[0].node), NULL_TREE); *************** yyreduce: *** 3795,3801 **** break; case 71: ! #line 893 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { ctxp->interface_number++; (yyval.node) = chainon ((yyvsp[-2].node), build_tree_list ((yyvsp[0].node), NULL_TREE)); --- 3795,3801 ---- break; case 71: ! #line 893 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { ctxp->interface_number++; (yyval.node) = chainon ((yyvsp[-2].node), build_tree_list ((yyvsp[0].node), NULL_TREE)); *************** yyreduce: *** 3803,3828 **** break; case 72: ! #line 898 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing interface name"); RECOVER;;} break; case 73: ! #line 903 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = GET_CPC (); ;} break; case 74: ! #line 907 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = GET_CPC (); ;} break; case 80: ! #line 922 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { if (!IS_EMPTY_STMT ((yyvsp[0].node))) { --- 3803,3828 ---- break; case 72: ! #line 898 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing interface name"); RECOVER;;} break; case 73: ! #line 903 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = GET_CPC (); ;} break; case 74: ! #line 907 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = GET_CPC (); ;} break; case 80: ! #line 922 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { if (!IS_EMPTY_STMT ((yyvsp[0].node))) { *************** yyreduce: *** 3833,3854 **** break; case 83: ! #line 935 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { end_class_declaration (1); ;} break; case 84: ! #line 937 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { end_class_declaration (1); ;} break; case 86: ! #line 944 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { register_fields (0, (yyvsp[-2].node), (yyvsp[-1].node)); ;} break; case 87: ! #line 946 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { check_modifiers ("Illegal modifier %qs for field declaration", --- 3833,3854 ---- break; case 83: ! #line 935 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { end_class_declaration (1); ;} break; case 84: ! #line 937 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { end_class_declaration (1); ;} break; case 86: ! #line 944 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { register_fields (0, (yyvsp[-2].node), (yyvsp[-1].node)); ;} break; case 87: ! #line 946 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { check_modifiers ("Illegal modifier %qs for field declaration", *************** yyreduce: *** 3859,3880 **** break; case 89: ! #line 959 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = chainon ((yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 90: ! #line 961 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 91: ! #line 966 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_tree_list ((yyvsp[0].node), NULL_TREE); ;} break; case 92: ! #line 968 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { if (java_error_count) (yyvsp[0].node) = NULL_TREE; --- 3859,3880 ---- break; case 89: ! #line 959 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = chainon ((yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 90: ! #line 961 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 91: ! #line 966 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_tree_list ((yyvsp[0].node), NULL_TREE); ;} break; case 92: ! #line 968 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { if (java_error_count) (yyvsp[0].node) = NULL_TREE; *************** yyreduce: *** 3884,3890 **** break; case 93: ! #line 975 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { yyerror ("Missing variable initializer"); (yyval.node) = build_tree_list ((yyvsp[-2].node), NULL_TREE); --- 3884,3890 ---- break; case 93: ! #line 975 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { yyerror ("Missing variable initializer"); (yyval.node) = build_tree_list ((yyvsp[-2].node), NULL_TREE); *************** yyreduce: *** 3893,3899 **** break; case 94: ! #line 981 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { yyerror ("';' expected"); (yyval.node) = build_tree_list ((yyvsp[-3].node), NULL_TREE); --- 3893,3899 ---- break; case 94: ! #line 981 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { yyerror ("';' expected"); (yyval.node) = build_tree_list ((yyvsp[-3].node), NULL_TREE); *************** yyreduce: *** 3902,3918 **** break; case 96: ! #line 991 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_unresolved_array_type ((yyvsp[-2].node)); ;} break; case 97: ! #line 993 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Invalid declaration"); DRECOVER(vdi);;} break; case 98: ! #line 995 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { yyerror ("']' expected"); DRECOVER(vdi); --- 3902,3918 ---- break; case 96: ! #line 991 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_unresolved_array_type ((yyvsp[-2].node)); ;} break; case 97: ! #line 993 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Invalid declaration"); DRECOVER(vdi);;} break; case 98: ! #line 995 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { yyerror ("']' expected"); DRECOVER(vdi); *************** yyreduce: *** 3920,3931 **** break; case 99: ! #line 1000 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Unbalanced ']'"); DRECOVER(vdi);;} break; case 102: ! #line 1011 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { current_function_decl = (yyvsp[0].node); if (current_function_decl --- 3920,3931 ---- break; case 99: ! #line 1000 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Unbalanced ']'"); DRECOVER(vdi);;} break; case 102: ! #line 1011 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { current_function_decl = (yyvsp[0].node); if (current_function_decl *************** yyreduce: *** 3937,3973 **** break; case 103: ! #line 1020 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { finish_method_declaration ((yyvsp[0].node)); ;} break; case 104: ! #line 1022 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {YYNOT_TWICE yyerror ("'{' expected"); RECOVER;;} break; case 105: ! #line 1027 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = method_header (0, (yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 106: ! #line 1029 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = method_header (0, void_type_node, (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 107: ! #line 1031 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = method_header ((yyvsp[-3].value), (yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 108: ! #line 1033 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = method_header ((yyvsp[-3].value), void_type_node, (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 109: ! #line 1035 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { yyerror ("Invalid method declaration, method name required"); (yyval.node) = NULL_TREE; --- 3937,3973 ---- break; case 103: ! #line 1020 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { finish_method_declaration ((yyvsp[0].node)); ;} break; case 104: ! #line 1022 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {YYNOT_TWICE yyerror ("'{' expected"); RECOVER;;} break; case 105: ! #line 1027 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = method_header (0, (yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 106: ! #line 1029 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = method_header (0, void_type_node, (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 107: ! #line 1031 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = method_header ((yyvsp[-3].value), (yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 108: ! #line 1033 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = method_header ((yyvsp[-3].value), void_type_node, (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 109: ! #line 1035 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { yyerror ("Invalid method declaration, method name required"); (yyval.node) = NULL_TREE; *************** yyreduce: *** 3976,3982 **** break; case 110: ! #line 1041 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { yyerror ("Identifier expected"); (yyval.node) = NULL_TREE; --- 3976,3982 ---- break; case 110: ! #line 1041 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { yyerror ("Identifier expected"); (yyval.node) = NULL_TREE; *************** yyreduce: *** 3985,3991 **** break; case 111: ! #line 1047 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { yyerror ("Identifier expected"); (yyval.node) = NULL_TREE; --- 3985,3991 ---- break; case 111: ! #line 1047 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { yyerror ("Identifier expected"); (yyval.node) = NULL_TREE; *************** yyreduce: *** 3994,4000 **** break; case 112: ! #line 1053 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { yyerror ("Identifier expected"); (yyval.node) = NULL_TREE; --- 3994,4000 ---- break; case 112: ! #line 1053 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { yyerror ("Identifier expected"); (yyval.node) = NULL_TREE; *************** yyreduce: *** 4003,4009 **** break; case 113: ! #line 1059 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { yyerror ("Invalid method declaration, return type required"); (yyval.node) = NULL_TREE; --- 4003,4009 ---- break; case 113: ! #line 1059 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { yyerror ("Invalid method declaration, return type required"); (yyval.node) = NULL_TREE; *************** yyreduce: *** 4012,4018 **** break; case 114: ! #line 1068 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { ctxp->formal_parameter_number = 0; (yyval.node) = method_declarator ((yyvsp[-2].node), NULL_TREE); --- 4012,4018 ---- break; case 114: ! #line 1068 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { ctxp->formal_parameter_number = 0; (yyval.node) = method_declarator ((yyvsp[-2].node), NULL_TREE); *************** yyreduce: *** 4020,4031 **** break; case 115: ! #line 1073 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = method_declarator ((yyvsp[-3].node), (yyvsp[-1].node)); ;} break; case 116: ! #line 1075 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { SET_EXPR_LOCATION_FROM_TOKEN (wfl_operator, (yyvsp[-1].operator)); TREE_PURPOSE ((yyvsp[-2].node)) = --- 4020,4031 ---- break; case 115: ! #line 1073 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = method_declarator ((yyvsp[-3].node), (yyvsp[-1].node)); ;} break; case 116: ! #line 1075 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { SET_EXPR_LOCATION_FROM_TOKEN (wfl_operator, (yyvsp[-1].operator)); TREE_PURPOSE ((yyvsp[-2].node)) = *************** yyreduce: *** 4037,4060 **** break; case 117: ! #line 1084 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("')' expected"); DRECOVER(method_declarator);;} break; case 118: ! #line 1086 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("']' expected"); RECOVER;;} break; case 119: ! #line 1091 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { ctxp->formal_parameter_number = 1; ;} break; case 120: ! #line 1095 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { ctxp->formal_parameter_number += 1; (yyval.node) = chainon ((yyvsp[-2].node), (yyvsp[0].node)); --- 4037,4060 ---- break; case 117: ! #line 1084 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("')' expected"); DRECOVER(method_declarator);;} break; case 118: ! #line 1086 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("']' expected"); RECOVER;;} break; case 119: ! #line 1091 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { ctxp->formal_parameter_number = 1; ;} break; case 120: ! #line 1095 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { ctxp->formal_parameter_number += 1; (yyval.node) = chainon ((yyvsp[-2].node), (yyvsp[0].node)); *************** yyreduce: *** 4062,4080 **** break; case 121: ! #line 1100 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { yyerror ("Missing formal parameter term"); RECOVER; ;} break; case 122: ! #line 1105 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_tree_list ((yyvsp[0].node), (yyvsp[-1].node)); ;} break; case 123: ! #line 1109 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_tree_list ((yyvsp[0].node), (yyvsp[-1].node)); ARG_FINAL_P ((yyval.node)) = 1; --- 4062,4080 ---- break; case 121: ! #line 1100 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { yyerror ("Missing formal parameter term"); RECOVER; ;} break; case 122: ! #line 1105 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_tree_list ((yyvsp[0].node), (yyvsp[-1].node)); ;} break; case 123: ! #line 1109 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_tree_list ((yyvsp[0].node), (yyvsp[-1].node)); ARG_FINAL_P ((yyval.node)) = 1; *************** yyreduce: *** 4082,4088 **** break; case 124: ! #line 1114 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { yyerror ("Missing identifier"); RECOVER; (yyval.node) = NULL_TREE; --- 4082,4088 ---- break; case 124: ! #line 1114 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { yyerror ("Missing identifier"); RECOVER; (yyval.node) = NULL_TREE; *************** yyreduce: *** 4090,4096 **** break; case 125: ! #line 1119 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { yyerror ("Missing identifier"); RECOVER; (yyval.node) = NULL_TREE; --- 4090,4096 ---- break; case 125: ! #line 1119 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { yyerror ("Missing identifier"); RECOVER; (yyval.node) = NULL_TREE; *************** yyreduce: *** 4098,4104 **** break; case 126: ! #line 1127 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { check_modifiers ("Illegal modifier %qs. Only % was expected here", (yyvsp[0].value), ACC_FINAL); --- 4098,4104 ---- break; case 126: ! #line 1127 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { check_modifiers ("Illegal modifier %qs. Only % was expected here", (yyvsp[0].value), ACC_FINAL); *************** yyreduce: *** 4108,4149 **** break; case 127: ! #line 1136 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = NULL_TREE; ;} break; case 128: ! #line 1138 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = (yyvsp[0].node); ;} break; case 129: ! #line 1140 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing class type term"); RECOVER;;} break; case 130: ! #line 1145 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_tree_list ((yyvsp[0].node), (yyvsp[0].node)); ;} break; case 131: ! #line 1147 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = tree_cons ((yyvsp[0].node), (yyvsp[0].node), (yyvsp[-2].node)); ;} break; case 132: ! #line 1149 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing class type term"); RECOVER;;} break; case 134: ! #line 1154 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = NULL_TREE; ;} break; case 135: ! #line 1160 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { TREE_CHAIN ((yyvsp[0].node)) = CPC_STATIC_INITIALIZER_STMT (ctxp); SET_CPC_STATIC_INITIALIZER_STMT (ctxp, (yyvsp[0].node)); --- 4108,4149 ---- break; case 127: ! #line 1136 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = NULL_TREE; ;} break; case 128: ! #line 1138 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = (yyvsp[0].node); ;} break; case 129: ! #line 1140 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing class type term"); RECOVER;;} break; case 130: ! #line 1145 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_tree_list ((yyvsp[0].node), (yyvsp[0].node)); ;} break; case 131: ! #line 1147 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = tree_cons ((yyvsp[0].node), (yyvsp[0].node), (yyvsp[-2].node)); ;} break; case 132: ! #line 1149 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing class type term"); RECOVER;;} break; case 134: ! #line 1154 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = NULL_TREE; ;} break; case 135: ! #line 1160 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { TREE_CHAIN ((yyvsp[0].node)) = CPC_STATIC_INITIALIZER_STMT (ctxp); SET_CPC_STATIC_INITIALIZER_STMT (ctxp, (yyvsp[0].node)); *************** yyreduce: *** 4152,4158 **** break; case 136: ! #line 1169 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/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 */ --- 4152,4158 ---- break; case 136: ! #line 1169 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/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 */ *************** yyreduce: *** 4167,4173 **** break; case 137: ! #line 1185 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { current_function_decl = (yyvsp[0].node); source_start_java_method (current_function_decl); --- 4167,4173 ---- break; case 137: ! #line 1185 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { current_function_decl = (yyvsp[0].node); source_start_java_method (current_function_decl); *************** yyreduce: *** 4175,4196 **** break; case 138: ! #line 1190 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { finish_method_declaration ((yyvsp[0].node)); ;} break; case 139: ! #line 1195 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = method_header (0, NULL_TREE, (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 140: ! #line 1197 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = method_header ((yyvsp[-2].value), NULL_TREE, (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 141: ! #line 1202 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { ctxp->formal_parameter_number = 0; (yyval.node) = method_declarator ((yyvsp[-2].node), NULL_TREE); --- 4175,4196 ---- break; case 138: ! #line 1190 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { finish_method_declaration ((yyvsp[0].node)); ;} break; case 139: ! #line 1195 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = method_header (0, NULL_TREE, (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 140: ! #line 1197 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = method_header ((yyvsp[-2].value), NULL_TREE, (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 141: ! #line 1202 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { ctxp->formal_parameter_number = 0; (yyval.node) = method_declarator ((yyvsp[-2].node), NULL_TREE); *************** yyreduce: *** 4198,4209 **** break; case 142: ! #line 1207 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = method_declarator ((yyvsp[-3].node), (yyvsp[-1].node)); ;} break; case 143: ! #line 1215 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { BLOCK_EXPR_BODY ((yyvsp[0].node)) = build_java_empty_stmt (); (yyval.node) = (yyvsp[0].node); --- 4198,4209 ---- break; case 142: ! #line 1207 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = method_declarator ((yyvsp[-3].node), (yyvsp[-1].node)); ;} break; case 143: ! #line 1215 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { BLOCK_EXPR_BODY ((yyvsp[0].node)) = build_java_empty_stmt (); (yyval.node) = (yyvsp[0].node); *************** yyreduce: *** 4211,4232 **** break; case 144: ! #line 1220 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = (yyvsp[0].node); ;} break; case 145: ! #line 1222 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = (yyvsp[0].node); ;} break; case 146: ! #line 1224 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = (yyvsp[0].node); ;} break; case 148: ! #line 1234 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/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)); --- 4211,4232 ---- break; case 144: ! #line 1220 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = (yyvsp[0].node); ;} break; case 145: ! #line 1222 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = (yyvsp[0].node); ;} break; case 146: ! #line 1224 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = (yyvsp[0].node); ;} break; case 148: ! #line 1234 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/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)); *************** yyreduce: *** 4235,4241 **** break; case 149: ! #line 1240 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/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)); --- 4235,4241 ---- break; case 149: ! #line 1240 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/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)); *************** yyreduce: *** 4244,4260 **** break; case 150: ! #line 1248 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {(yyval.node) = parse_jdk1_1_error ("explicit constructor invocation"); ;} break; case 151: ! #line 1250 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {(yyval.node) = parse_jdk1_1_error ("explicit constructor invocation"); ;} break; case 152: ! #line 1255 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { tree wfl = build_wfl_node (this_identifier_node); SET_EXPR_LOCATION_FROM_TOKEN (wfl, (yyvsp[0].operator)); --- 4244,4260 ---- break; case 150: ! #line 1248 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {(yyval.node) = parse_jdk1_1_error ("explicit constructor invocation"); ;} break; case 151: ! #line 1250 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {(yyval.node) = parse_jdk1_1_error ("explicit constructor invocation"); ;} break; case 152: ! #line 1255 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { tree wfl = build_wfl_node (this_identifier_node); SET_EXPR_LOCATION_FROM_TOKEN (wfl, (yyvsp[0].operator)); *************** yyreduce: *** 4263,4269 **** break; case 153: ! #line 1261 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { tree wfl = build_wfl_node (super_identifier_node); SET_EXPR_LOCATION_FROM_TOKEN (wfl, (yyvsp[0].operator)); --- 4263,4269 ---- break; case 153: ! #line 1261 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { tree wfl = build_wfl_node (super_identifier_node); SET_EXPR_LOCATION_FROM_TOKEN (wfl, (yyvsp[0].operator)); *************** yyreduce: *** 4272,4328 **** break; case 154: ! #line 1272 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { create_interface (0, (yyvsp[0].node), NULL_TREE); ;} break; case 155: ! #line 1274 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { ; ;} break; case 156: ! #line 1276 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { create_interface ((yyvsp[-2].value), (yyvsp[0].node), NULL_TREE); ;} break; case 157: ! #line 1278 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { ; ;} break; case 158: ! #line 1280 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { create_interface (0, (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 159: ! #line 1282 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { ; ;} break; case 160: ! #line 1284 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { create_interface ((yyvsp[-3].value), (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 161: ! #line 1286 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { ; ;} break; case 162: ! #line 1288 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { yyerror ("'{' expected"); RECOVER; ;} break; case 163: ! #line 1290 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { yyerror ("'{' expected"); RECOVER; ;} break; case 164: ! #line 1295 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { ctxp->interface_number = 1; (yyval.node) = build_tree_list ((yyvsp[0].node), NULL_TREE); --- 4272,4328 ---- break; case 154: ! #line 1272 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { create_interface (0, (yyvsp[0].node), NULL_TREE); ;} break; case 155: ! #line 1274 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { ; ;} break; case 156: ! #line 1276 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { create_interface ((yyvsp[-2].value), (yyvsp[0].node), NULL_TREE); ;} break; case 157: ! #line 1278 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { ; ;} break; case 158: ! #line 1280 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { create_interface (0, (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 159: ! #line 1282 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { ; ;} break; case 160: ! #line 1284 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { create_interface ((yyvsp[-3].value), (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 161: ! #line 1286 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { ; ;} break; case 162: ! #line 1288 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { yyerror ("'{' expected"); RECOVER; ;} break; case 163: ! #line 1290 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { yyerror ("'{' expected"); RECOVER; ;} break; case 164: ! #line 1295 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { ctxp->interface_number = 1; (yyval.node) = build_tree_list ((yyvsp[0].node), NULL_TREE); *************** yyreduce: *** 4330,4336 **** break; case 165: ! #line 1300 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { ctxp->interface_number++; (yyval.node) = chainon ((yyvsp[-2].node), build_tree_list ((yyvsp[0].node), NULL_TREE)); --- 4330,4336 ---- break; case 165: ! #line 1300 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { ctxp->interface_number++; (yyval.node) = chainon ((yyvsp[-2].node), build_tree_list ((yyvsp[0].node), NULL_TREE)); *************** yyreduce: *** 4338,4374 **** break; case 166: ! #line 1305 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Invalid interface type"); RECOVER;;} break; case 167: ! #line 1307 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 168: ! #line 1312 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = NULL_TREE; ;} break; case 169: ! #line 1314 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = NULL_TREE; ;} break; case 174: ! #line 1326 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { end_class_declaration (1); ;} break; case 175: ! #line 1328 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { end_class_declaration (1); ;} break; case 178: ! #line 1338 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { check_abstract_method_header ((yyvsp[-1].node)); current_function_decl = NULL_TREE; /* FIXME ? */ --- 4338,4374 ---- break; case 166: ! #line 1305 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Invalid interface type"); RECOVER;;} break; case 167: ! #line 1307 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 168: ! #line 1312 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = NULL_TREE; ;} break; case 169: ! #line 1314 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = NULL_TREE; ;} break; case 174: ! #line 1326 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { end_class_declaration (1); ;} break; case 175: ! #line 1328 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { end_class_declaration (1); ;} break; case 178: ! #line 1338 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { check_abstract_method_header ((yyvsp[-1].node)); current_function_decl = NULL_TREE; /* FIXME ? */ *************** yyreduce: *** 4376,4407 **** break; case 179: ! #line 1343 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 180: ! #line 1349 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_new_array_init ((yyvsp[-1].operator).location, NULL_TREE); ;} break; case 181: ! #line 1351 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_new_array_init ((yyvsp[-2].operator).location, NULL_TREE); ;} break; case 182: ! #line 1353 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_new_array_init ((yyvsp[-2].operator).location, (yyvsp[-1].node)); ;} break; case 183: ! #line 1355 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_new_array_init ((yyvsp[-3].operator).location, (yyvsp[-2].node)); ;} break; case 184: ! #line 1360 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = tree_cons (maybe_build_array_element_wfl ((yyvsp[0].node)), (yyvsp[0].node), NULL_TREE); --- 4376,4407 ---- break; case 179: ! #line 1343 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 180: ! #line 1349 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_new_array_init ((yyvsp[-1].operator).location, NULL_TREE); ;} break; case 181: ! #line 1351 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_new_array_init ((yyvsp[-2].operator).location, NULL_TREE); ;} break; case 182: ! #line 1353 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_new_array_init ((yyvsp[-2].operator).location, (yyvsp[-1].node)); ;} break; case 183: ! #line 1355 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_new_array_init ((yyvsp[-3].operator).location, (yyvsp[-2].node)); ;} break; case 184: ! #line 1360 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = tree_cons (maybe_build_array_element_wfl ((yyvsp[0].node)), (yyvsp[0].node), NULL_TREE); *************** yyreduce: *** 4409,4442 **** break; case 185: ! #line 1365 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = tree_cons (maybe_build_array_element_wfl ((yyvsp[0].node)), (yyvsp[0].node), (yyvsp[-2].node)); ;} break; case 186: ! #line 1369 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 187: ! #line 1375 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = (yyvsp[0].node); ;} break; case 188: ! #line 1377 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = (yyvsp[0].node); ;} break; case 189: ! #line 1382 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { enter_block (); ;} break; case 190: ! #line 1387 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { maybe_absorb_scoping_blocks (); (yyval.node) = exit_block (); --- 4409,4442 ---- break; case 185: ! #line 1365 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = tree_cons (maybe_build_array_element_wfl ((yyvsp[0].node)), (yyvsp[0].node), (yyvsp[-2].node)); ;} break; case 186: ! #line 1369 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 187: ! #line 1375 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = (yyvsp[0].node); ;} break; case 188: ! #line 1377 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = (yyvsp[0].node); ;} break; case 189: ! #line 1382 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { enter_block (); ;} break; case 190: ! #line 1387 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { maybe_absorb_scoping_blocks (); (yyval.node) = exit_block (); *************** yyreduce: *** 4446,4457 **** break; case 194: ! #line 1403 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { java_method_add_stmt (current_function_decl, (yyvsp[0].node)); ;} break; case 195: ! #line 1405 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { LOCAL_CLASS_P (TREE_TYPE (GET_CPC ())) = 1; end_class_declaration (1); --- 4446,4457 ---- break; case 194: ! #line 1403 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { java_method_add_stmt (current_function_decl, (yyvsp[0].node)); ;} break; case 195: ! #line 1405 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { LOCAL_CLASS_P (TREE_TYPE (GET_CPC ())) = 1; end_class_declaration (1); *************** yyreduce: *** 4459,4485 **** break; case 197: ! #line 1417 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { declare_local_variables (0, (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 198: ! #line 1419 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { declare_local_variables ((yyvsp[-2].value), (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 204: ! #line 1429 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = exit_block (); ;} break; case 209: ! #line 1438 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = exit_block (); ;} break; case 222: ! #line 1458 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { if (flag_extraneous_semicolon && ! current_static_block --- 4459,4485 ---- break; case 197: ! #line 1417 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { declare_local_variables (0, (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 198: ! #line 1419 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { declare_local_variables ((yyvsp[-2].value), (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 204: ! #line 1429 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = exit_block (); ;} break; case 209: ! #line 1438 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = exit_block (); ;} break; case 222: ! #line 1458 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { if (flag_extraneous_semicolon && ! current_static_block *************** yyreduce: *** 4501,4507 **** break; case 223: ! #line 1480 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_labeled_block (EXPR_WFL_LINECOL ((yyvsp[-1].node)), EXPR_WFL_NODE ((yyvsp[-1].node))); --- 4501,4507 ---- break; case 223: ! #line 1480 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_labeled_block (EXPR_WFL_LINECOL ((yyvsp[-1].node)), EXPR_WFL_NODE ((yyvsp[-1].node))); *************** yyreduce: *** 4512,4533 **** break; case 224: ! #line 1491 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = finish_labeled_statement ((yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 225: ! #line 1493 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("':' expected"); RECOVER;;} break; case 226: ! #line 1498 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = finish_labeled_statement ((yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 227: ! #line 1505 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { /* We have a statement. Generate a WFL around it so we can debug it */ --- 4512,4533 ---- break; case 224: ! #line 1491 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = finish_labeled_statement ((yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 225: ! #line 1493 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("':' expected"); RECOVER;;} break; case 226: ! #line 1498 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = finish_labeled_statement ((yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 227: ! #line 1505 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { /* We have a statement. Generate a WFL around it so we can debug it */ *************** yyreduce: *** 4543,4549 **** break; case 228: ! #line 1518 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { YYNOT_TWICE yyerror ("Invalid expression statement"); DRECOVER (expr_stmt); --- 4543,4549 ---- break; case 228: ! #line 1518 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { YYNOT_TWICE yyerror ("Invalid expression statement"); DRECOVER (expr_stmt); *************** yyreduce: *** 4551,4557 **** break; case 229: ! #line 1523 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { YYNOT_TWICE yyerror ("Invalid expression statement"); DRECOVER (expr_stmt); --- 4551,4557 ---- break; case 229: ! #line 1523 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { YYNOT_TWICE yyerror ("Invalid expression statement"); DRECOVER (expr_stmt); *************** yyreduce: *** 4559,4565 **** break; case 230: ! #line 1528 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { YYNOT_TWICE yyerror ("Invalid expression statement"); DRECOVER (expr_stmt); --- 4559,4565 ---- break; case 230: ! #line 1528 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { YYNOT_TWICE yyerror ("Invalid expression statement"); DRECOVER (expr_stmt); *************** yyreduce: *** 4567,4578 **** break; case 231: ! #line 1533 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;;} break; case 232: ! #line 1535 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { parse_ctor_invocation_error (); RECOVER; --- 4567,4578 ---- break; case 231: ! #line 1533 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;;} break; case 232: ! #line 1535 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { parse_ctor_invocation_error (); RECOVER; *************** yyreduce: *** 4580,4591 **** break; case 233: ! #line 1540 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;;} break; case 234: ! #line 1542 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { parse_ctor_invocation_error (); RECOVER; --- 4580,4591 ---- break; case 233: ! #line 1540 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;;} break; case 234: ! #line 1542 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { parse_ctor_invocation_error (); RECOVER; *************** yyreduce: *** 4593,4624 **** break; case 235: ! #line 1547 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER;;} break; case 236: ! #line 1549 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;;} break; case 237: ! #line 1551 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;;} break; case 238: ! #line 1553 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 239: ! #line 1555 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 247: ! #line 1570 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_if_else_statement ((yyvsp[-3].operator).location, (yyvsp[-2].node), (yyvsp[0].node), NULL_TREE); --- 4593,4624 ---- break; case 235: ! #line 1547 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER;;} break; case 236: ! #line 1549 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;;} break; case 237: ! #line 1551 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;;} break; case 238: ! #line 1553 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 239: ! #line 1555 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 247: ! #line 1570 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_if_else_statement ((yyvsp[-3].operator).location, (yyvsp[-2].node), (yyvsp[0].node), NULL_TREE); *************** yyreduce: *** 4626,4664 **** break; case 248: ! #line 1575 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER;;} break; case 249: ! #line 1577 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 250: ! #line 1579 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;;} break; case 251: ! #line 1584 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/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 1589 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/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 253: ! #line 1594 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { enter_block (); ;} break; case 254: ! #line 1598 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { /* Make into "proper list" of COMPOUND_EXPRs. I.e. make the last statement also have its own --- 4626,4664 ---- break; case 248: ! #line 1575 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER;;} break; case 249: ! #line 1577 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 250: ! #line 1579 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;;} break; case 251: ! #line 1584 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/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 1589 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/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 253: ! #line 1594 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { enter_block (); ;} break; case 254: ! #line 1598 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { /* Make into "proper list" of COMPOUND_EXPRs. I.e. make the last statement also have its own *************** yyreduce: *** 4670,4676 **** break; case 255: ! #line 1610 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build3 (SWITCH_EXPR, NULL_TREE, (yyvsp[-1].node), NULL_TREE, NULL_TREE); --- 4670,4676 ---- break; case 255: ! #line 1610 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build3 (SWITCH_EXPR, NULL_TREE, (yyvsp[-1].node), NULL_TREE, NULL_TREE); *************** yyreduce: *** 4679,4720 **** break; case 256: ! #line 1616 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER;;} break; case 257: ! #line 1618 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term or ')'"); DRECOVER(switch_statement);;} break; case 258: ! #line 1620 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("'{' expected"); RECOVER;;} break; case 259: ! #line 1628 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = NULL_TREE; ;} break; case 260: ! #line 1630 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = NULL_TREE; ;} break; case 261: ! #line 1632 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = NULL_TREE; ;} break; case 262: ! #line 1634 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = NULL_TREE; ;} break; case 268: ! #line 1653 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { tree lab = build1 (CASE_EXPR, NULL_TREE, (yyvsp[-1].node)); SET_EXPR_LOCATION_FROM_TOKEN (lab, (yyvsp[-2].operator)); --- 4679,4720 ---- break; case 256: ! #line 1616 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER;;} break; case 257: ! #line 1618 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term or ')'"); DRECOVER(switch_statement);;} break; case 258: ! #line 1620 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("'{' expected"); RECOVER;;} break; case 259: ! #line 1628 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = NULL_TREE; ;} break; case 260: ! #line 1630 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = NULL_TREE; ;} break; case 261: ! #line 1632 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = NULL_TREE; ;} break; case 262: ! #line 1634 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = NULL_TREE; ;} break; case 268: ! #line 1653 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { tree lab = build1 (CASE_EXPR, NULL_TREE, (yyvsp[-1].node)); SET_EXPR_LOCATION_FROM_TOKEN (lab, (yyvsp[-2].operator)); *************** yyreduce: *** 4723,4729 **** break; case 269: ! #line 1659 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { tree lab = make_node (DEFAULT_EXPR); SET_EXPR_LOCATION_FROM_TOKEN (lab, (yyvsp[-1].operator)); --- 4723,4729 ---- break; case 269: ! #line 1659 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { tree lab = make_node (DEFAULT_EXPR); SET_EXPR_LOCATION_FROM_TOKEN (lab, (yyvsp[-1].operator)); *************** yyreduce: *** 4732,4753 **** break; case 270: ! #line 1665 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing or invalid constant expression"); RECOVER;;} break; case 271: ! #line 1667 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("':' expected"); RECOVER;;} break; case 272: ! #line 1669 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("':' expected"); RECOVER;;} break; case 273: ! #line 1674 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { tree body = build_loop_body ((yyvsp[-2].operator).location, (yyvsp[-1].node), 0); (yyval.node) = build_new_loop (body); --- 4732,4753 ---- break; case 270: ! #line 1665 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing or invalid constant expression"); RECOVER;;} break; case 271: ! #line 1667 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("':' expected"); RECOVER;;} break; case 272: ! #line 1669 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("':' expected"); RECOVER;;} break; case 273: ! #line 1674 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { tree body = build_loop_body ((yyvsp[-2].operator).location, (yyvsp[-1].node), 0); (yyval.node) = build_new_loop (body); *************** yyreduce: *** 4755,4786 **** break; case 274: ! #line 1682 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = finish_loop_body (0, NULL_TREE, (yyvsp[0].node), 0); ;} break; case 275: ! #line 1684 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {YYERROR_NOW; yyerror ("'(' expected"); RECOVER;;} break; case 276: ! #line 1686 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term and ')' expected"); RECOVER;;} break; case 277: ! #line 1688 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;;} break; case 278: ! #line 1693 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = finish_loop_body (0, NULL_TREE, (yyvsp[0].node), 0); ;} break; case 279: ! #line 1698 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { tree body = build_loop_body (0, NULL_TREE, 1); (yyval.node) = build_new_loop (body); --- 4755,4786 ---- break; case 274: ! #line 1682 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = finish_loop_body (0, NULL_TREE, (yyvsp[0].node), 0); ;} break; case 275: ! #line 1684 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {YYERROR_NOW; yyerror ("'(' expected"); RECOVER;;} break; case 276: ! #line 1686 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term and ')' expected"); RECOVER;;} break; case 277: ! #line 1688 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;;} break; case 278: ! #line 1693 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = finish_loop_body (0, NULL_TREE, (yyvsp[0].node), 0); ;} break; case 279: ! #line 1698 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { tree body = build_loop_body (0, NULL_TREE, 1); (yyval.node) = build_new_loop (body); *************** yyreduce: *** 4788,4799 **** break; case 280: ! #line 1707 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = finish_loop_body ((yyvsp[-3].operator).location, (yyvsp[-2].node), (yyvsp[-5].node), 1); ;} break; case 281: ! #line 1712 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { if (CONSTANT_CLASS_P ((yyvsp[-4].node))) (yyvsp[-4].node) = build_wfl_node ((yyvsp[-4].node)); --- 4788,4799 ---- break; case 280: ! #line 1707 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = finish_loop_body ((yyvsp[-3].operator).location, (yyvsp[-2].node), (yyvsp[-5].node), 1); ;} break; case 281: ! #line 1712 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { if (CONSTANT_CLASS_P ((yyvsp[-4].node))) (yyvsp[-4].node) = build_wfl_node ((yyvsp[-4].node)); *************** yyreduce: *** 4802,4808 **** break; case 282: ! #line 1718 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/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 */ --- 4802,4808 ---- break; case 282: ! #line 1718 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/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 */ *************** yyreduce: *** 4812,4838 **** break; case 283: ! #line 1725 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Invalid control expression"); RECOVER;;} break; case 284: ! #line 1727 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Invalid update expression"); RECOVER;;} break; case 285: ! #line 1729 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Invalid update expression"); RECOVER;;} break; case 286: ! #line 1734 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/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 287: ! #line 1736 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/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 */ --- 4812,4838 ---- break; case 283: ! #line 1725 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Invalid control expression"); RECOVER;;} break; case 284: ! #line 1727 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Invalid update expression"); RECOVER;;} break; case 285: ! #line 1729 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Invalid update expression"); RECOVER;;} break; case 286: ! #line 1734 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/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 287: ! #line 1736 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/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 */ *************** yyreduce: *** 4842,4848 **** break; case 288: ! #line 1746 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { /* This scope defined for local variable that may be defined within the scope of the for loop */ --- 4842,4848 ---- break; case 288: ! #line 1746 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { /* This scope defined for local variable that may be defined within the scope of the for loop */ *************** yyreduce: *** 4851,4867 **** break; case 289: ! #line 1752 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("'(' expected"); DRECOVER(for_1);;} break; case 290: ! #line 1754 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Invalid init statement"); RECOVER;;} break; case 291: ! #line 1759 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { /* We now declare the loop body. The loop is declared as a for loop. */ --- 4851,4867 ---- break; case 289: ! #line 1752 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("'(' expected"); DRECOVER(for_1);;} break; case 290: ! #line 1754 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Invalid init statement"); RECOVER;;} break; case 291: ! #line 1759 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { /* We now declare the loop body. The loop is declared as a for loop. */ *************** yyreduce: *** 4875,4886 **** break; case 292: ! #line 1771 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_java_empty_stmt (); ;} break; case 293: ! #line 1773 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { /* Init statement recorded within the previously defined block scope */ --- 4875,4886 ---- break; case 292: ! #line 1771 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_java_empty_stmt (); ;} break; case 293: ! #line 1773 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { /* Init statement recorded within the previously defined block scope */ *************** yyreduce: *** 4889,4895 **** break; case 294: ! #line 1779 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { /* Local variable are recorded within the previously defined block scope */ --- 4889,4895 ---- break; case 294: ! #line 1779 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { /* Local variable are recorded within the previously defined block scope */ *************** yyreduce: *** 4898,4994 **** break; case 295: ! #line 1785 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("';' expected"); DRECOVER(for_init_1);;} break; case 296: ! #line 1789 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {(yyval.node) = build_java_empty_stmt ();;} break; case 297: ! #line 1791 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_debugable_stmt (BUILD_LOCATION (), (yyvsp[0].node)); ;} break; case 298: ! #line 1796 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = add_stmt_to_compound (NULL_TREE, NULL_TREE, (yyvsp[0].node)); ;} break; case 299: ! #line 1798 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = add_stmt_to_compound ((yyvsp[-2].node), NULL_TREE, (yyvsp[0].node)); ;} break; case 300: ! #line 1800 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 301: ! #line 1805 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_bc_statement ((yyvsp[-1].operator).location, 1, NULL_TREE); ;} break; case 302: ! #line 1807 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_bc_statement ((yyvsp[-2].operator).location, 1, (yyvsp[-1].node)); ;} break; case 303: ! #line 1809 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 304: ! #line 1811 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 305: ! #line 1816 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_bc_statement ((yyvsp[-1].operator).location, 0, NULL_TREE); ;} break; case 306: ! #line 1818 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_bc_statement ((yyvsp[-2].operator).location, 0, (yyvsp[-1].node)); ;} break; case 307: ! #line 1820 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 308: ! #line 1822 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 309: ! #line 1827 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_return ((yyvsp[-1].operator).location, NULL_TREE); ;} break; case 310: ! #line 1829 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_return ((yyvsp[-2].operator).location, (yyvsp[-1].node)); ;} break; case 311: ! #line 1831 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 312: ! #line 1833 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 313: ! #line 1838 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build1 (THROW_EXPR, NULL_TREE, (yyvsp[-1].node)); SET_EXPR_LOCATION_FROM_TOKEN ((yyval.node), (yyvsp[-2].operator)); --- 4898,4994 ---- break; case 295: ! #line 1785 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("';' expected"); DRECOVER(for_init_1);;} break; case 296: ! #line 1789 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {(yyval.node) = build_java_empty_stmt ();;} break; case 297: ! #line 1791 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_debugable_stmt (BUILD_LOCATION (), (yyvsp[0].node)); ;} break; case 298: ! #line 1796 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = add_stmt_to_compound (NULL_TREE, NULL_TREE, (yyvsp[0].node)); ;} break; case 299: ! #line 1798 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = add_stmt_to_compound ((yyvsp[-2].node), NULL_TREE, (yyvsp[0].node)); ;} break; case 300: ! #line 1800 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 301: ! #line 1805 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_bc_statement ((yyvsp[-1].operator).location, 1, NULL_TREE); ;} break; case 302: ! #line 1807 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_bc_statement ((yyvsp[-2].operator).location, 1, (yyvsp[-1].node)); ;} break; case 303: ! #line 1809 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 304: ! #line 1811 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 305: ! #line 1816 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_bc_statement ((yyvsp[-1].operator).location, 0, NULL_TREE); ;} break; case 306: ! #line 1818 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_bc_statement ((yyvsp[-2].operator).location, 0, (yyvsp[-1].node)); ;} break; case 307: ! #line 1820 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 308: ! #line 1822 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 309: ! #line 1827 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_return ((yyvsp[-1].operator).location, NULL_TREE); ;} break; case 310: ! #line 1829 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_return ((yyvsp[-2].operator).location, (yyvsp[-1].node)); ;} break; case 311: ! #line 1831 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 312: ! #line 1833 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 313: ! #line 1838 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build1 (THROW_EXPR, NULL_TREE, (yyvsp[-1].node)); SET_EXPR_LOCATION_FROM_TOKEN ((yyval.node), (yyvsp[-2].operator)); *************** yyreduce: *** 4996,5036 **** break; case 314: ! #line 1843 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 315: ! #line 1845 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 316: ! #line 1850 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_assertion ((yyvsp[-4].operator).location, (yyvsp[-3].node), (yyvsp[-1].node)); ;} break; case 317: ! #line 1854 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_assertion ((yyvsp[-2].operator).location, (yyvsp[-1].node), NULL_TREE); ;} break; case 318: ! #line 1858 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 319: ! #line 1860 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 320: ! #line 1865 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build2 (SYNCHRONIZED_EXPR, NULL_TREE, (yyvsp[-2].node), (yyvsp[0].node)); EXPR_WFL_LINECOL ((yyval.node)) = --- 4996,5036 ---- break; case 314: ! #line 1843 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 315: ! #line 1845 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 316: ! #line 1850 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_assertion ((yyvsp[-4].operator).location, (yyvsp[-3].node), (yyvsp[-1].node)); ;} break; case 317: ! #line 1854 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_assertion ((yyvsp[-2].operator).location, (yyvsp[-1].node), NULL_TREE); ;} break; case 318: ! #line 1858 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 319: ! #line 1860 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("';' expected"); RECOVER;;} break; case 320: ! #line 1865 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build2 (SYNCHRONIZED_EXPR, NULL_TREE, (yyvsp[-2].node), (yyvsp[0].node)); EXPR_WFL_LINECOL ((yyval.node)) = *************** yyreduce: *** 5039,5065 **** break; case 321: ! #line 1871 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("'{' expected"); RECOVER;;} break; case 322: ! #line 1873 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER;;} break; case 323: ! #line 1875 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 324: ! #line 1877 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 325: ! #line 1882 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { check_modifiers ( "Illegal modifier %qs. Only % was expected here", --- 5039,5065 ---- break; case 321: ! #line 1871 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("'{' expected"); RECOVER;;} break; case 322: ! #line 1873 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER;;} break; case 323: ! #line 1875 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 324: ! #line 1877 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 325: ! #line 1882 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { check_modifiers ( "Illegal modifier %qs. Only % was expected here", *************** yyreduce: *** 5071,5087 **** break; case 326: ! #line 1894 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_try_statement ((yyvsp[-2].operator).location, (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 327: ! #line 1896 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_try_finally_statement ((yyvsp[-2].operator).location, (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 328: ! #line 1898 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/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)); --- 5071,5087 ---- break; case 326: ! #line 1894 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_try_statement ((yyvsp[-2].operator).location, (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 327: ! #line 1896 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_try_finally_statement ((yyvsp[-2].operator).location, (yyvsp[-1].node), (yyvsp[0].node)); ;} break; case 328: ! #line 1898 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/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)); *************** yyreduce: *** 5089,5100 **** break; case 329: ! #line 1903 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("'{' expected"); DRECOVER (try_statement);;} break; case 331: ! #line 1909 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { TREE_CHAIN ((yyvsp[0].node)) = (yyvsp[-1].node); (yyval.node) = (yyvsp[0].node); --- 5089,5100 ---- break; case 329: ! #line 1903 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("'{' expected"); DRECOVER (try_statement);;} break; case 331: ! #line 1909 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { TREE_CHAIN ((yyvsp[0].node)) = (yyvsp[-1].node); (yyval.node) = (yyvsp[0].node); *************** yyreduce: *** 5102,5108 **** break; case 332: ! #line 1917 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { java_method_add_stmt (current_function_decl, (yyvsp[0].node)); exit_block (); --- 5102,5108 ---- break; case 332: ! #line 1917 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { java_method_add_stmt (current_function_decl, (yyvsp[0].node)); exit_block (); *************** yyreduce: *** 5111,5117 **** break; case 333: ! #line 1926 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { /* We add a block to define a scope for formal_parameter (CCBP). The formal parameter is --- 5111,5117 ---- break; case 333: ! #line 1926 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { /* We add a block to define a scope for formal_parameter (CCBP). The formal parameter is *************** yyreduce: *** 5139,5150 **** break; case 334: ! #line 1951 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER; (yyval.node) = NULL_TREE;;} break; case 335: ! #line 1953 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { yyerror ("Missing term or ')' expected"); RECOVER; (yyval.node) = NULL_TREE; --- 5139,5150 ---- break; case 334: ! #line 1951 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("'(' expected"); RECOVER; (yyval.node) = NULL_TREE;;} break; case 335: ! #line 1953 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { yyerror ("Missing term or ')' expected"); RECOVER; (yyval.node) = NULL_TREE; *************** yyreduce: *** 5152,5183 **** break; case 336: ! #line 1958 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER; (yyval.node) = NULL_TREE;;} break; case 337: ! #line 1963 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = (yyvsp[0].node); ;} break; case 338: ! #line 1965 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("'{' expected"); RECOVER; ;} break; case 343: ! #line 1978 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_this ((yyvsp[0].operator).location); ;} break; case 344: ! #line 1980 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {(yyval.node) = (yyvsp[-1].node);;} break; case 350: ! #line 1990 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/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))); --- 5152,5183 ---- break; case 336: ! #line 1958 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER; (yyval.node) = NULL_TREE;;} break; case 337: ! #line 1963 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = (yyvsp[0].node); ;} break; case 338: ! #line 1965 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("'{' expected"); RECOVER; ;} break; case 343: ! #line 1978 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_this ((yyvsp[0].operator).location); ;} break; case 344: ! #line 1980 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {(yyval.node) = (yyvsp[-1].node);;} break; case 350: ! #line 1990 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/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))); *************** yyreduce: *** 5185,5226 **** break; case 351: ! #line 1995 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;;} break; case 352: ! #line 1997 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("'class' or 'this' expected" ); RECOVER;;} break; case 353: ! #line 1999 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("'class' expected" ); RECOVER;;} break; case 354: ! #line 2001 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("'class' expected" ); RECOVER;;} break; case 355: ! #line 2006 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_incomplete_class_ref ((yyvsp[-1].operator).location, (yyvsp[-2].node)); ;} break; case 356: ! #line 2008 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_incomplete_class_ref ((yyvsp[-1].operator).location, (yyvsp[-2].node)); ;} break; case 357: ! #line 2010 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_incomplete_class_ref ((yyvsp[-1].operator).location, (yyvsp[-2].node)); ;} break; case 358: ! #line 2012 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_incomplete_class_ref ((yyvsp[-1].operator).location, void_type_node); --- 5185,5226 ---- break; case 351: ! #line 1995 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("')' expected"); RECOVER;;} break; case 352: ! #line 1997 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("'class' or 'this' expected" ); RECOVER;;} break; case 353: ! #line 1999 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("'class' expected" ); RECOVER;;} break; case 354: ! #line 2001 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("'class' expected" ); RECOVER;;} break; case 355: ! #line 2006 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_incomplete_class_ref ((yyvsp[-1].operator).location, (yyvsp[-2].node)); ;} break; case 356: ! #line 2008 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_incomplete_class_ref ((yyvsp[-1].operator).location, (yyvsp[-2].node)); ;} break; case 357: ! #line 2010 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_incomplete_class_ref ((yyvsp[-1].operator).location, (yyvsp[-2].node)); ;} break; case 358: ! #line 2012 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_incomplete_class_ref ((yyvsp[-1].operator).location, void_type_node); *************** yyreduce: *** 5228,5244 **** break; case 359: ! #line 2020 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_new_invocation ((yyvsp[-3].node), (yyvsp[-1].node)); ;} break; case 360: ! #line 2022 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_new_invocation ((yyvsp[-2].node), NULL_TREE); ;} break; case 362: ! #line 2028 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { tree ctor = build_new_invocation ((yyvsp[-2].node), NULL_TREE); (yyval.node) = make_qualified_primary ((yyvsp[-3].node), ctor, --- 5228,5244 ---- break; case 359: ! #line 2020 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_new_invocation ((yyvsp[-3].node), (yyvsp[-1].node)); ;} break; case 360: ! #line 2022 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_new_invocation ((yyvsp[-2].node), NULL_TREE); ;} break; case 362: ! #line 2028 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { tree ctor = build_new_invocation ((yyvsp[-2].node), NULL_TREE); (yyval.node) = make_qualified_primary ((yyvsp[-3].node), ctor, *************** yyreduce: *** 5247,5253 **** break; case 364: ! #line 2035 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { tree ctor = build_new_invocation ((yyvsp[-3].node), (yyvsp[-1].node)); (yyval.node) = make_qualified_primary ((yyvsp[-4].node), ctor, --- 5247,5253 ---- break; case 364: ! #line 2035 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { tree ctor = build_new_invocation ((yyvsp[-3].node), (yyvsp[-1].node)); (yyval.node) = make_qualified_primary ((yyvsp[-4].node), ctor, *************** yyreduce: *** 5256,5282 **** break; case 366: ! #line 2042 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {(yyval.node) = NULL_TREE; yyerror ("'(' expected"); DRECOVER(new_1);;} break; case 367: ! #line 2044 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {(yyval.node) = NULL_TREE; yyerror ("'(' expected"); RECOVER;;} break; case 368: ! #line 2046 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {(yyval.node) = NULL_TREE; yyerror ("')' or term expected"); RECOVER;;} break; case 369: ! #line 2048 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {(yyval.node) = NULL_TREE; yyerror ("')' expected"); RECOVER;;} break; case 370: ! #line 2050 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = NULL_TREE; YYERROR_NOW; --- 5256,5282 ---- break; case 366: ! #line 2042 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {(yyval.node) = NULL_TREE; yyerror ("'(' expected"); DRECOVER(new_1);;} break; case 367: ! #line 2044 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {(yyval.node) = NULL_TREE; yyerror ("'(' expected"); RECOVER;;} break; case 368: ! #line 2046 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {(yyval.node) = NULL_TREE; yyerror ("')' or term expected"); RECOVER;;} break; case 369: ! #line 2048 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {(yyval.node) = NULL_TREE; yyerror ("')' expected"); RECOVER;;} break; case 370: ! #line 2050 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = NULL_TREE; YYERROR_NOW; *************** yyreduce: *** 5286,5302 **** break; case 371: ! #line 2057 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {(yyval.node) = NULL_TREE; yyerror ("'(' expected"); RECOVER;;} break; case 372: ! #line 2067 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { create_anonymous_class ((yyvsp[-3].node)); ;} break; case 373: ! #line 2069 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { tree id = build_wfl_node (DECL_NAME (GET_CPC ())); EXPR_WFL_LINECOL (id) = EXPR_WFL_LINECOL ((yyvsp[-5].node)); --- 5286,5302 ---- break; case 371: ! #line 2057 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {(yyval.node) = NULL_TREE; yyerror ("'(' expected"); RECOVER;;} break; case 372: ! #line 2067 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { create_anonymous_class ((yyvsp[-3].node)); ;} break; case 373: ! #line 2069 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { tree id = build_wfl_node (DECL_NAME (GET_CPC ())); EXPR_WFL_LINECOL (id) = EXPR_WFL_LINECOL ((yyvsp[-5].node)); *************** yyreduce: *** 5330,5341 **** break; case 374: ! #line 2100 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { create_anonymous_class ((yyvsp[-2].node)); ;} break; case 375: ! #line 2102 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { tree id = build_wfl_node (DECL_NAME (GET_CPC ())); EXPR_WFL_LINECOL (id) = EXPR_WFL_LINECOL ((yyvsp[-4].node)); --- 5330,5341 ---- break; case 374: ! #line 2100 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { create_anonymous_class ((yyvsp[-2].node)); ;} break; case 375: ! #line 2102 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { tree id = build_wfl_node (DECL_NAME (GET_CPC ())); EXPR_WFL_LINECOL (id) = EXPR_WFL_LINECOL ((yyvsp[-4].node)); *************** yyreduce: *** 5351,5367 **** break; case 376: ! #line 2118 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = (yyvsp[-2].node); ;} break; case 377: ! #line 2120 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = (yyvsp[-2].node); ;} break; case 378: ! #line 2125 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = tree_cons (NULL_TREE, (yyvsp[0].node), NULL_TREE); ctxp->formal_parameter_number = 1; --- 5351,5367 ---- break; case 376: ! #line 2118 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = (yyvsp[-2].node); ;} break; case 377: ! #line 2120 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = (yyvsp[-2].node); ;} break; case 378: ! #line 2125 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = tree_cons (NULL_TREE, (yyvsp[0].node), NULL_TREE); ctxp->formal_parameter_number = 1; *************** yyreduce: *** 5369,5375 **** break; case 379: ! #line 2130 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { ctxp->formal_parameter_number += 1; (yyval.node) = tree_cons (NULL_TREE, (yyvsp[0].node), (yyvsp[-2].node)); --- 5369,5375 ---- break; case 379: ! #line 2130 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { ctxp->formal_parameter_number += 1; (yyval.node) = tree_cons (NULL_TREE, (yyvsp[0].node), (yyvsp[-2].node)); *************** yyreduce: *** 5377,5418 **** break; case 380: ! #line 2135 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 381: ! #line 2140 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_newarray_node ((yyvsp[-1].node), (yyvsp[0].node), 0); ;} break; case 382: ! #line 2142 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_newarray_node ((yyvsp[-1].node), (yyvsp[0].node), 0); ;} break; case 383: ! #line 2144 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_newarray_node ((yyvsp[-2].node), (yyvsp[-1].node), pop_current_osb (ctxp));;} break; case 384: ! #line 2146 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_newarray_node ((yyvsp[-2].node), (yyvsp[-1].node), pop_current_osb (ctxp));;} break; case 385: ! #line 2148 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("'[' expected"); DRECOVER ("]");;} break; case 386: ! #line 2150 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("']' expected"); RECOVER;;} break; case 387: ! #line 2157 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { char *sig; int osb = pop_current_osb (ctxp); --- 5377,5418 ---- break; case 380: ! #line 2135 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 381: ! #line 2140 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_newarray_node ((yyvsp[-1].node), (yyvsp[0].node), 0); ;} break; case 382: ! #line 2142 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_newarray_node ((yyvsp[-1].node), (yyvsp[0].node), 0); ;} break; case 383: ! #line 2144 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_newarray_node ((yyvsp[-2].node), (yyvsp[-1].node), pop_current_osb (ctxp));;} break; case 384: ! #line 2146 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_newarray_node ((yyvsp[-2].node), (yyvsp[-1].node), pop_current_osb (ctxp));;} break; case 385: ! #line 2148 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("'[' expected"); DRECOVER ("]");;} break; case 386: ! #line 2150 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("']' expected"); RECOVER;;} break; case 387: ! #line 2157 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { char *sig; int osb = pop_current_osb (ctxp); *************** yyreduce: *** 5426,5432 **** break; case 388: ! #line 2168 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { int osb = pop_current_osb (ctxp); tree type = (yyvsp[-2].node); --- 5426,5432 ---- break; case 388: ! #line 2168 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { int osb = pop_current_osb (ctxp); tree type = (yyvsp[-2].node); *************** yyreduce: *** 5438,5464 **** break; case 389: ! #line 2177 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("'[' expected"); DRECOVER ("]");;} break; case 390: ! #line 2179 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("']' expected"); RECOVER;;} break; case 391: ! #line 2184 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_tree_list (NULL_TREE, (yyvsp[0].node)); ;} break; case 392: ! #line 2186 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = tree_cons (NULL_TREE, (yyvsp[0].node), (yyval.node)); ;} break; case 393: ! #line 2191 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { if (JNUMERIC_TYPE_P (TREE_TYPE ((yyvsp[-1].node)))) { --- 5438,5464 ---- break; case 389: ! #line 2177 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("'[' expected"); DRECOVER ("]");;} break; case 390: ! #line 2179 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("']' expected"); RECOVER;;} break; case 391: ! #line 2184 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_tree_list (NULL_TREE, (yyvsp[0].node)); ;} break; case 392: ! #line 2186 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = tree_cons (NULL_TREE, (yyvsp[0].node), (yyval.node)); ;} break; case 393: ! #line 2191 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { if (JNUMERIC_TYPE_P (TREE_TYPE ((yyvsp[-1].node)))) { *************** yyreduce: *** 5471,5482 **** break; case 394: ! #line 2201 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("']' expected"); RECOVER;;} break; case 395: ! #line 2203 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { yyerror ("Missing term"); yyerror ("']' expected"); --- 5471,5482 ---- break; case 394: ! #line 2201 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("']' expected"); RECOVER;;} break; case 395: ! #line 2203 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { yyerror ("Missing term"); yyerror ("']' expected"); *************** yyreduce: *** 5485,5491 **** break; case 396: ! #line 2212 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { int allocate = 0; /* If not initialized, allocate memory for the osb --- 5485,5491 ---- break; case 396: ! #line 2212 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { int allocate = 0; /* If not initialized, allocate memory for the osb *************** yyreduce: *** 5514,5535 **** break; case 397: ! #line 2238 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { CURRENT_OSB (ctxp)++; ;} break; case 398: ! #line 2240 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { yyerror ("']' expected"); RECOVER;;} break; case 399: ! #line 2245 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = make_qualified_primary ((yyvsp[-2].node), (yyvsp[0].node), (yyvsp[-1].operator).location); ;} break; case 400: ! #line 2249 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { tree super_wfl = build_wfl_node (super_identifier_node); SET_EXPR_LOCATION_FROM_TOKEN (super_wfl, (yyvsp[-2].operator)); --- 5514,5535 ---- break; case 397: ! #line 2238 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { CURRENT_OSB (ctxp)++; ;} break; case 398: ! #line 2240 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { yyerror ("']' expected"); RECOVER;;} break; case 399: ! #line 2245 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = make_qualified_primary ((yyvsp[-2].node), (yyvsp[0].node), (yyvsp[-1].operator).location); ;} break; case 400: ! #line 2249 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { tree super_wfl = build_wfl_node (super_identifier_node); SET_EXPR_LOCATION_FROM_TOKEN (super_wfl, (yyvsp[-2].operator)); *************** yyreduce: *** 5538,5559 **** break; case 401: ! #line 2255 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Field expected"); DRECOVER (super_field_acces);;} break; case 402: ! #line 2260 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_method_invocation ((yyvsp[-2].node), NULL_TREE); ;} break; case 403: ! #line 2262 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_method_invocation ((yyvsp[-3].node), (yyvsp[-1].node)); ;} break; case 404: ! #line 2264 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { if (TREE_CODE ((yyvsp[-4].node)) == THIS_EXPR) (yyval.node) = build_this_super_qualified_invocation --- 5538,5559 ---- break; case 401: ! #line 2255 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Field expected"); DRECOVER (super_field_acces);;} break; case 402: ! #line 2260 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_method_invocation ((yyvsp[-2].node), NULL_TREE); ;} break; case 403: ! #line 2262 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_method_invocation ((yyvsp[-3].node), (yyvsp[-1].node)); ;} break; case 404: ! #line 2264 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { if (TREE_CODE ((yyvsp[-4].node)) == THIS_EXPR) (yyval.node) = build_this_super_qualified_invocation *************** yyreduce: *** 5567,5573 **** break; case 405: ! #line 2275 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { if (TREE_CODE ((yyvsp[-5].node)) == THIS_EXPR) (yyval.node) = build_this_super_qualified_invocation --- 5567,5573 ---- break; case 405: ! #line 2275 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { if (TREE_CODE ((yyvsp[-5].node)) == THIS_EXPR) (yyval.node) = build_this_super_qualified_invocation *************** yyreduce: *** 5581,5587 **** break; case 406: ! #line 2286 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/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); --- 5581,5587 ---- break; case 406: ! #line 2286 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/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); *************** yyreduce: *** 5589,5595 **** break; case 407: ! #line 2291 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/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); --- 5589,5595 ---- break; case 407: ! #line 2291 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/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); *************** yyreduce: *** 5597,5628 **** break; case 408: ! #line 2300 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { yyerror ("'(' expected"); DRECOVER (method_invocation); ;} break; case 409: ! #line 2302 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { yyerror ("'(' expected"); DRECOVER (method_invocation); ;} break; case 410: ! #line 2307 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_array_ref ((yyvsp[-2].operator).location, (yyvsp[-3].node), (yyvsp[-1].node)); ;} break; case 411: ! #line 2309 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_array_ref ((yyvsp[-2].operator).location, (yyvsp[-3].node), (yyvsp[-1].node)); ;} break; case 412: ! #line 2311 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_array_ref ((yyvsp[-2].operator).location, (yyvsp[-3].node), (yyvsp[-1].node)); ;} break; case 413: ! #line 2313 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { yyerror ("Missing term and ']' expected"); DRECOVER(array_access); --- 5597,5628 ---- break; case 408: ! #line 2300 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { yyerror ("'(' expected"); DRECOVER (method_invocation); ;} break; case 409: ! #line 2302 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { yyerror ("'(' expected"); DRECOVER (method_invocation); ;} break; case 410: ! #line 2307 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_array_ref ((yyvsp[-2].operator).location, (yyvsp[-3].node), (yyvsp[-1].node)); ;} break; case 411: ! #line 2309 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_array_ref ((yyvsp[-2].operator).location, (yyvsp[-3].node), (yyvsp[-1].node)); ;} break; case 412: ! #line 2311 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_array_ref ((yyvsp[-2].operator).location, (yyvsp[-3].node), (yyvsp[-1].node)); ;} break; case 413: ! #line 2313 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { yyerror ("Missing term and ']' expected"); DRECOVER(array_access); *************** yyreduce: *** 5630,5636 **** break; case 414: ! #line 2318 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { yyerror ("']' expected"); DRECOVER(array_access); --- 5630,5636 ---- break; case 414: ! #line 2318 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { yyerror ("']' expected"); DRECOVER(array_access); *************** yyreduce: *** 5638,5644 **** break; case 415: ! #line 2323 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { yyerror ("Missing term and ']' expected"); DRECOVER(array_access); --- 5638,5644 ---- break; case 415: ! #line 2323 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { yyerror ("Missing term and ']' expected"); DRECOVER(array_access); *************** yyreduce: *** 5646,5652 **** break; case 416: ! #line 2328 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { yyerror ("']' expected"); DRECOVER(array_access); --- 5646,5652 ---- break; case 416: ! #line 2328 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { yyerror ("']' expected"); DRECOVER(array_access); *************** yyreduce: *** 5654,5660 **** break; case 417: ! #line 2333 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { yyerror ("Missing term and ']' expected"); DRECOVER(array_access); --- 5654,5660 ---- break; case 417: ! #line 2333 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { yyerror ("Missing term and ']' expected"); DRECOVER(array_access); *************** yyreduce: *** 5662,5668 **** break; case 418: ! #line 2338 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { yyerror ("']' expected"); DRECOVER(array_access); --- 5662,5668 ---- break; case 418: ! #line 2338 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { yyerror ("']' expected"); DRECOVER(array_access); *************** yyreduce: *** 5670,5696 **** break; case 423: ! #line 2353 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_incdec ((yyvsp[0].operator).token, (yyvsp[0].operator).location, (yyvsp[-1].node), 1); ;} break; case 424: ! #line 2358 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_incdec ((yyvsp[0].operator).token, (yyvsp[0].operator).location, (yyvsp[-1].node), 1); ;} break; case 427: ! #line 2365 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {(yyval.node) = build_unaryop ((yyvsp[-1].operator).token, (yyvsp[-1].operator).location, (yyvsp[0].node)); ;} break; case 429: ! #line 2368 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;} break; case 430: ! #line 2373 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { if ((yyvsp[0].node)) error_if_numeric_overflow ((yyvsp[0].node)); --- 5670,5696 ---- break; case 423: ! #line 2353 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_incdec ((yyvsp[0].operator).token, (yyvsp[0].operator).location, (yyvsp[-1].node), 1); ;} break; case 424: ! #line 2358 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_incdec ((yyvsp[0].operator).token, (yyvsp[0].operator).location, (yyvsp[-1].node), 1); ;} break; case 427: ! #line 2365 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {(yyval.node) = build_unaryop ((yyvsp[-1].operator).token, (yyvsp[-1].operator).location, (yyvsp[0].node)); ;} break; case 429: ! #line 2368 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;} break; case 430: ! #line 2373 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { if ((yyvsp[0].node)) error_if_numeric_overflow ((yyvsp[0].node)); *************** yyreduce: *** 5699,5755 **** break; case 431: ! #line 2379 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {(yyval.node) = build_unaryop ((yyvsp[-1].operator).token, (yyvsp[-1].operator).location, (yyvsp[0].node)); ;} break; case 432: ! #line 2381 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;} break; case 433: ! #line 2386 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {(yyval.node) = build_incdec ((yyvsp[-1].operator).token, (yyvsp[-1].operator).location, (yyvsp[0].node), 0); ;} break; case 434: ! #line 2388 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;} break; case 435: ! #line 2393 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {(yyval.node) = build_incdec ((yyvsp[-1].operator).token, (yyvsp[-1].operator).location, (yyvsp[0].node), 0); ;} break; case 436: ! #line 2395 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;} break; case 438: ! #line 2401 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {(yyval.node) = build_unaryop ((yyvsp[-1].operator).token, (yyvsp[-1].operator).location, (yyvsp[0].node)); ;} break; case 439: ! #line 2403 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {(yyval.node) = build_unaryop ((yyvsp[-1].operator).token, (yyvsp[-1].operator).location, (yyvsp[0].node)); ;} break; case 441: ! #line 2406 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;} break; case 442: ! #line 2408 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;} break; case 443: ! #line 2413 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { tree type = (yyvsp[-3].node); int osb = pop_current_osb (ctxp); --- 5699,5755 ---- break; case 431: ! #line 2379 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {(yyval.node) = build_unaryop ((yyvsp[-1].operator).token, (yyvsp[-1].operator).location, (yyvsp[0].node)); ;} break; case 432: ! #line 2381 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;} break; case 433: ! #line 2386 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {(yyval.node) = build_incdec ((yyvsp[-1].operator).token, (yyvsp[-1].operator).location, (yyvsp[0].node), 0); ;} break; case 434: ! #line 2388 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;} break; case 435: ! #line 2393 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {(yyval.node) = build_incdec ((yyvsp[-1].operator).token, (yyvsp[-1].operator).location, (yyvsp[0].node), 0); ;} break; case 436: ! #line 2395 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;} break; case 438: ! #line 2401 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {(yyval.node) = build_unaryop ((yyvsp[-1].operator).token, (yyvsp[-1].operator).location, (yyvsp[0].node)); ;} break; case 439: ! #line 2403 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {(yyval.node) = build_unaryop ((yyvsp[-1].operator).token, (yyvsp[-1].operator).location, (yyvsp[0].node)); ;} break; case 441: ! #line 2406 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;} break; case 442: ! #line 2408 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;} break; case 443: ! #line 2413 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { tree type = (yyvsp[-3].node); int osb = pop_current_osb (ctxp); *************** yyreduce: *** 5760,5776 **** break; case 444: ! #line 2421 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_cast ((yyvsp[-3].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 445: ! #line 2423 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_cast ((yyvsp[-3].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 446: ! #line 2425 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { const char *ptr; int osb = pop_current_osb (ctxp); --- 5760,5776 ---- break; case 444: ! #line 2421 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_cast ((yyvsp[-3].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 445: ! #line 2423 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_cast ((yyvsp[-3].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 446: ! #line 2425 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { const char *ptr; int osb = pop_current_osb (ctxp); *************** yyreduce: *** 5787,5798 **** break; case 447: ! #line 2439 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("']' expected, invalid type expression");;} break; case 448: ! #line 2441 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { YYNOT_TWICE yyerror ("Invalid type expression"); RECOVER; RECOVER; --- 5787,5798 ---- break; case 447: ! #line 2439 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("']' expected, invalid type expression");;} break; case 448: ! #line 2441 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { YYNOT_TWICE yyerror ("Invalid type expression"); RECOVER; RECOVER; *************** yyreduce: *** 5800,5821 **** break; case 449: ! #line 2446 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 450: ! #line 2448 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 451: ! #line 2450 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 453: ! #line 2456 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); --- 5800,5821 ---- break; case 449: ! #line 2446 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 450: ! #line 2448 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 451: ! #line 2450 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 453: ! #line 2456 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); *************** yyreduce: *** 5823,5829 **** break; case 454: ! #line 2461 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); --- 5823,5829 ---- break; case 454: ! #line 2461 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); *************** yyreduce: *** 5831,5837 **** break; case 455: ! #line 2466 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); --- 5831,5837 ---- break; case 455: ! #line 2466 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); *************** yyreduce: *** 5839,5860 **** break; case 456: ! #line 2471 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 457: ! #line 2473 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 458: ! #line 2475 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 460: ! #line 2481 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); --- 5839,5860 ---- break; case 456: ! #line 2471 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 457: ! #line 2473 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 458: ! #line 2475 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 460: ! #line 2481 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); *************** yyreduce: *** 5862,5868 **** break; case 461: ! #line 2486 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); --- 5862,5868 ---- break; case 461: ! #line 2486 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); *************** yyreduce: *** 5870,5886 **** break; case 462: ! #line 2491 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 463: ! #line 2493 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 465: ! #line 2499 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); --- 5870,5886 ---- break; case 462: ! #line 2491 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 463: ! #line 2493 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 465: ! #line 2499 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); *************** yyreduce: *** 5888,5894 **** break; case 466: ! #line 2504 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); --- 5888,5894 ---- break; case 466: ! #line 2504 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); *************** yyreduce: *** 5896,5902 **** break; case 467: ! #line 2509 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); --- 5896,5902 ---- break; case 467: ! #line 2509 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); *************** yyreduce: *** 5904,5925 **** break; case 468: ! #line 2514 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 469: ! #line 2516 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 470: ! #line 2518 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 472: ! #line 2524 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); --- 5904,5925 ---- break; case 468: ! #line 2514 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 469: ! #line 2516 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 470: ! #line 2518 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 472: ! #line 2524 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); *************** yyreduce: *** 5927,5933 **** break; case 473: ! #line 2529 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); --- 5927,5933 ---- break; case 473: ! #line 2529 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); *************** yyreduce: *** 5935,5941 **** break; case 474: ! #line 2534 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); --- 5935,5941 ---- break; case 474: ! #line 2534 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); *************** yyreduce: *** 5943,5949 **** break; case 475: ! #line 2539 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); --- 5943,5949 ---- break; case 475: ! #line 2539 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); *************** yyreduce: *** 5951,5987 **** break; case 476: ! #line 2544 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_binop (INSTANCEOF_EXPR, (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 477: ! #line 2546 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 478: ! #line 2548 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 479: ! #line 2550 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 480: ! #line 2552 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 481: ! #line 2554 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Invalid reference type"); RECOVER;;} break; case 483: ! #line 2560 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); --- 5951,5987 ---- break; case 476: ! #line 2544 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_binop (INSTANCEOF_EXPR, (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 477: ! #line 2546 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 478: ! #line 2548 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 479: ! #line 2550 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 480: ! #line 2552 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 481: ! #line 2554 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Invalid reference type"); RECOVER;;} break; case 483: ! #line 2560 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); *************** yyreduce: *** 5989,5995 **** break; case 484: ! #line 2565 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); --- 5989,5995 ---- break; case 484: ! #line 2565 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); *************** yyreduce: *** 5997,6013 **** break; case 485: ! #line 2570 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 486: ! #line 2572 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 488: ! #line 2578 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); --- 5997,6013 ---- break; case 485: ! #line 2570 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 486: ! #line 2572 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 488: ! #line 2578 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); *************** yyreduce: *** 6015,6026 **** break; case 489: ! #line 2583 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 491: ! #line 2589 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); --- 6015,6026 ---- break; case 489: ! #line 2583 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 491: ! #line 2589 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); *************** yyreduce: *** 6028,6039 **** break; case 492: ! #line 2594 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 494: ! #line 2600 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); --- 6028,6039 ---- break; case 492: ! #line 2594 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 494: ! #line 2600 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); *************** yyreduce: *** 6041,6052 **** break; case 495: ! #line 2605 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 497: ! #line 2611 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); --- 6041,6052 ---- break; case 495: ! #line 2605 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 497: ! #line 2611 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); *************** yyreduce: *** 6054,6065 **** break; case 498: ! #line 2616 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 500: ! #line 2622 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); --- 6054,6065 ---- break; case 498: ! #line 2616 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 500: ! #line 2622 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_binop (BINOP_LOOKUP ((yyvsp[-1].operator).token), (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); *************** yyreduce: *** 6067,6078 **** break; case 501: ! #line 2627 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 503: ! #line 2633 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/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)); --- 6067,6078 ---- break; case 501: ! #line 2627 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); RECOVER;;} break; case 503: ! #line 2633 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/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)); *************** yyreduce: *** 6080,6086 **** break; case 504: ! #line 2638 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { YYERROR_NOW; yyerror ("Missing term"); --- 6080,6086 ---- break; case 504: ! #line 2638 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { YYERROR_NOW; yyerror ("Missing term"); *************** yyreduce: *** 6089,6110 **** break; case 505: ! #line 2644 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); DRECOVER (2);;} break; case 506: ! #line 2646 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" {yyerror ("Missing term"); DRECOVER (3);;} break; case 509: ! #line 2656 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { (yyval.node) = build_assignment ((yyvsp[-1].operator).token, (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 510: ! #line 2658 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" { YYNOT_TWICE yyerror ("Missing term"); DRECOVER (assign); --- 6089,6110 ---- break; case 505: ! #line 2644 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); DRECOVER (2);;} break; case 506: ! #line 2646 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" {yyerror ("Missing term"); DRECOVER (3);;} break; case 509: ! #line 2656 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { (yyval.node) = build_assignment ((yyvsp[-1].operator).token, (yyvsp[-1].operator).location, (yyvsp[-2].node), (yyvsp[0].node)); ;} break; case 510: ! #line 2658 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" { YYNOT_TWICE yyerror ("Missing term"); DRECOVER (assign); *************** yyreturn: *** 6343,6349 **** } ! #line 2683 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse.y" /* Helper function to retrieve an OSB count. Should be used when the --- 6343,6349 ---- } ! #line 2683 "/scratch/mitchell/gcc-releases/gcc-4.1.2/gcc-4.1.2/gcc/java/parse.y" /* Helper function to retrieve an OSB count. Should be used when the diff -Nrcpad gcc-4.1.1/libffi/ChangeLog gcc-4.1.2/libffi/ChangeLog *** gcc-4.1.1/libffi/ChangeLog Wed May 24 23:42:52 2006 --- gcc-4.1.2/libffi/ChangeLog Wed Feb 14 05:12:43 2007 *************** *** 1,3 **** --- 1,59 ---- + 2007-02-13 Release Manager + + * GCC 4.1.2 released. + + 2006-06-22 John David Anglin + + Backport from trunk: + 2006-05-18 John David Anglin + + * pa/ffi.c (ffi_prep_args_LINUX): Load floating point arguments + from stack slot. + + Backport from trunk: + 2006-04-22 Andreas Tobler + + * src/pa/ffi.c: Remove lint directives. + + Backport from trunk linux relevant portions of following change: + 2006-04-05 John David Anglin + Andreas Tobler + + * src/pa/ffitarget.h: + (FFI_TYPE_SMALL_STRUCT2): Define. + (FFI_TYPE_SMALL_STRUCT4): Likewise. + (FFI_TYPE_SMALL_STRUCT8): Likewise. + (FFI_TYPE_SMALL_STRUCT3): Redefine. + (FFI_TYPE_SMALL_STRUCT5): Likewise. + (FFI_TYPE_SMALL_STRUCT6): Likewise. + (FFI_TYPE_SMALL_STRUCT7): Likewise. + * src/pa/ffi.c (ROUND_DOWN): Delete. + (fldw, fstw, fldd, fstd): Use '__asm__'. + (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2, + FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8. + (ffi_prep_args_LINUX): Update comment. + Simplify incrementing of stack slot variable. Change type of local + 'n' to unsigned int. + (ffi_closure_inner_LINUX): Change return type to ffi_status. + Simplify incrementing of stack slot variable. Reformat debug + statement. Add support for FFI_TYPE_SMALL_STRUCT2, + FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8. + (ffi_closure_LINUX): Add 'extern' to declaration. + (ffi_prep_closure): Add nops to cache flush. + * src/pa/linux.S (ffi_call_LINUX): Localize labels. Add support + for 2, 4 and 8-byte small structs. Handle unaligned destinations + in 3, 5, 6 and 7-byte small structs. Order argument type checks + so that common argument types appear first. + + 2006-05-27 James E Wilson + + PR libgcj/26483 + * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros. + (hfa_type_load): Call stf_spill. + (hfa_type_store): Call ldf_fill. + (ffi_call): Adjust calls to above routines. Add local temps for + macro result. + 2006-05-24 Release Manager * GCC 4.1.1 released. diff -Nrcpad gcc-4.1.1/libffi/src/ia64/ffi.c gcc-4.1.2/libffi/src/ia64/ffi.c *** gcc-4.1.1/libffi/src/ia64/ffi.c Fri Dec 31 20:11:17 2004 --- gcc-4.1.2/libffi/src/ia64/ffi.c Thu Jun 1 22:36:19 2006 *************** endian_adjust (void *addr, size_t len) *** 69,92 **** #endif } ! /* Store VALUE to ADDR in the current cpu implementation's fp spill format. */ ! static inline void ! stf_spill(fpreg *addr, __float80 value) ! { asm ("stf.spill %0 = %1%P0" : "=m" (*addr) : "f"(value)); - } /* Load a value from ADDR, which is in the current cpu implementation's ! fp spill format. */ ! static inline __float80 ! ldf_fill(fpreg *addr) ! { ! __float80 ret; ! asm ("ldf.fill %0 = %1%P1" : "=f"(ret) : "m"(*addr)); ! return ret; ! } /* Return the size of the C type associated with with TYPE. Which will be one of the FFI_IA64_TYPE_HFA_* values. */ --- 69,87 ---- #endif } ! /* Store VALUE to ADDR in the current cpu implementation's fp spill format. ! This is a macro instead of a function, so that it works for all 3 floating ! point types without type conversions. Type conversion to long double breaks ! the denorm support. */ ! #define stf_spill(addr, value) \ asm ("stf.spill %0 = %1%P0" : "=m" (*addr) : "f"(value)); /* Load a value from ADDR, which is in the current cpu implementation's ! fp spill format. As above, this must also be a macro. */ ! #define ldf_fill(result, addr) \ ! asm ("ldf.fill %0 = %1%P1" : "=f"(result) : "m"(*addr)); /* Return the size of the C type associated with with TYPE. Which will be one of the FFI_IA64_TYPE_HFA_* values. */ *************** hfa_type_size (int type) *** 110,126 **** /* Load from ADDR a value indicated by TYPE. Which will be one of the FFI_IA64_TYPE_HFA_* values. */ ! static __float80 ! hfa_type_load (int type, void *addr) { switch (type) { case FFI_IA64_TYPE_HFA_FLOAT: ! return *(float *) addr; case FFI_IA64_TYPE_HFA_DOUBLE: ! return *(double *) addr; case FFI_IA64_TYPE_HFA_LDOUBLE: ! return *(__float80 *) addr; default: abort (); } --- 105,124 ---- /* Load from ADDR a value indicated by TYPE. Which will be one of the FFI_IA64_TYPE_HFA_* values. */ ! static void ! hfa_type_load (fpreg *fpaddr, int type, void *addr) { switch (type) { case FFI_IA64_TYPE_HFA_FLOAT: ! stf_spill (fpaddr, *(float *) addr); ! return; case FFI_IA64_TYPE_HFA_DOUBLE: ! stf_spill (fpaddr, *(double *) addr); ! return; case FFI_IA64_TYPE_HFA_LDOUBLE: ! stf_spill (fpaddr, *(__float80 *) addr); ! return; default: abort (); } *************** hfa_type_load (int type, void *addr) *** 130,148 **** the FFI_IA64_TYPE_HFA_* values. */ static void ! hfa_type_store (int type, void *addr, __float80 value) { switch (type) { case FFI_IA64_TYPE_HFA_FLOAT: ! *(float *) addr = value; ! break; case FFI_IA64_TYPE_HFA_DOUBLE: ! *(double *) addr = value; ! break; case FFI_IA64_TYPE_HFA_LDOUBLE: ! *(__float80 *) addr = value; ! break; default: abort (); } --- 128,158 ---- the FFI_IA64_TYPE_HFA_* values. */ static void ! hfa_type_store (int type, void *addr, fpreg *fpaddr) { switch (type) { case FFI_IA64_TYPE_HFA_FLOAT: ! { ! float result; ! ldf_fill (result, fpaddr); ! *(float *) addr = result; ! break; ! } case FFI_IA64_TYPE_HFA_DOUBLE: ! { ! double result; ! ldf_fill (result, fpaddr); ! *(double *) addr = result; ! break; ! } case FFI_IA64_TYPE_HFA_LDOUBLE: ! { ! __float80 result; ! ldf_fill (result, fpaddr); ! *(__float80 *) addr = result; ! break; ! } default: abort (); } *************** ffi_call(ffi_cif *cif, void (*fn)(), voi *** 351,358 **** && offset < size && gp_offset < 8 * 8) { ! stf_spill (&stack->fp_regs[fpcount], ! hfa_type_load (hfa_type, avalue[i] + offset)); offset += hfa_size; gp_offset += hfa_size; fpcount += 1; --- 361,368 ---- && offset < size && gp_offset < 8 * 8) { ! hfa_type_load (&stack->fp_regs[fpcount], hfa_type, ! avalue[i] + offset); offset += hfa_size; gp_offset += hfa_size; fpcount += 1; *************** ffi_closure_unix_inner (ffi_closure *clo *** 475,483 **** case FFI_TYPE_FLOAT: if (gpcount < 8 && fpcount < 8) { ! void *addr = &stack->fp_regs[fpcount++]; avalue[i] = addr; ! *(float *)addr = ldf_fill (addr); } else avalue[i] = endian_adjust(&stack->gp_regs[gpcount], 4); --- 485,495 ---- case FFI_TYPE_FLOAT: if (gpcount < 8 && fpcount < 8) { ! fpreg *addr = &stack->fp_regs[fpcount++]; ! float result; avalue[i] = addr; ! ldf_fill (result, addr); ! *(float *)addr = result; } else avalue[i] = endian_adjust(&stack->gp_regs[gpcount], 4); *************** ffi_closure_unix_inner (ffi_closure *clo *** 487,495 **** case FFI_TYPE_DOUBLE: if (gpcount < 8 && fpcount < 8) { ! void *addr = &stack->fp_regs[fpcount++]; avalue[i] = addr; ! *(double *)addr = ldf_fill (addr); } else avalue[i] = &stack->gp_regs[gpcount]; --- 499,509 ---- case FFI_TYPE_DOUBLE: if (gpcount < 8 && fpcount < 8) { ! fpreg *addr = &stack->fp_regs[fpcount++]; ! double result; avalue[i] = addr; ! ldf_fill (result, addr); ! *(double *)addr = result; } else avalue[i] = &stack->gp_regs[gpcount]; *************** ffi_closure_unix_inner (ffi_closure *clo *** 501,509 **** gpcount++; if (LDBL_MANT_DIG == 64 && gpcount < 8 && fpcount < 8) { ! void *addr = &stack->fp_regs[fpcount++]; avalue[i] = addr; ! *(__float80 *)addr = ldf_fill (addr); } else avalue[i] = &stack->gp_regs[gpcount]; --- 515,525 ---- gpcount++; if (LDBL_MANT_DIG == 64 && gpcount < 8 && fpcount < 8) { ! fpreg *addr = &stack->fp_regs[fpcount++]; ! __float80 result; avalue[i] = addr; ! ldf_fill (result, addr); ! *(__float80 *)addr = result; } else avalue[i] = &stack->gp_regs[gpcount]; *************** ffi_closure_unix_inner (ffi_closure *clo *** 533,540 **** && offset < size && gp_offset < 8 * 8) { ! hfa_type_store (hfa_type, addr + offset, ! ldf_fill (&stack->fp_regs[fpcount])); offset += hfa_size; gp_offset += hfa_size; fpcount += 1; --- 549,556 ---- && offset < size && gp_offset < 8 * 8) { ! hfa_type_store (hfa_type, addr + offset, ! &stack->fp_regs[fpcount]); offset += hfa_size; gp_offset += hfa_size; fpcount += 1; diff -Nrcpad gcc-4.1.1/libffi/src/pa/ffi.c gcc-4.1.2/libffi/src/pa/ffi.c *** gcc-4.1.1/libffi/src/pa/ffi.c Wed Jul 6 03:37:20 2005 --- gcc-4.1.2/libffi/src/pa/ffi.c Fri Jun 23 02:23:44 2006 *************** *** 30,44 **** #include #define ROUND_UP(v, a) (((size_t)(v) + (a) - 1) & ~((a) - 1)) ! #define ROUND_DOWN(v, a) (((size_t)(v) - (a) + 1) & ~((a) - 1)) #define MIN_STACK_SIZE 64 #define FIRST_ARG_SLOT 9 #define DEBUG_LEVEL 0 ! #define fldw(addr, fpreg) asm volatile ("fldw 0(%0), %%" #fpreg "L" : : "r"(addr) : #fpreg) ! #define fstw(fpreg, addr) asm volatile ("fstw %%" #fpreg "L, 0(%0)" : : "r"(addr)) ! #define fldd(addr, fpreg) asm volatile ("fldd 0(%0), %%" #fpreg : : "r"(addr) : #fpreg) ! #define fstd(fpreg, addr) asm volatile ("fstd %%" #fpreg "L, 0(%0)" : : "r"(addr)) #define debug(lvl, x...) do { if (lvl <= DEBUG_LEVEL) { printf(x); } } while (0) --- 30,48 ---- #include #define ROUND_UP(v, a) (((size_t)(v) + (a) - 1) & ~((a) - 1)) ! #define MIN_STACK_SIZE 64 #define FIRST_ARG_SLOT 9 #define DEBUG_LEVEL 0 ! #define fldw(addr, fpreg) \ ! __asm__ volatile ("fldw 0(%0), %%" #fpreg "L" : : "r"(addr) : #fpreg) ! #define fstw(fpreg, addr) \ ! __asm__ volatile ("fstw %%" #fpreg "L, 0(%0)" : : "r"(addr)) ! #define fldd(addr, fpreg) \ ! __asm__ volatile ("fldd 0(%0), %%" #fpreg : : "r"(addr) : #fpreg) ! #define fstd(fpreg, addr) \ ! __asm__ volatile ("fstd %%" #fpreg "L, 0(%0)" : : "r"(addr)) #define debug(lvl, x...) do { if (lvl <= DEBUG_LEVEL) { printf(x); } } while (0) *************** static inline int ffi_struct_type(ffi_ty *** 47,62 **** size_t sz = t->size; /* Small structure results are passed in registers, ! larger ones are passed by pointer. */ if (sz <= 1) return FFI_TYPE_UINT8; else if (sz == 2) ! return FFI_TYPE_UINT16; else if (sz == 3) return FFI_TYPE_SMALL_STRUCT3; else if (sz == 4) ! return FFI_TYPE_UINT32; else if (sz == 5) return FFI_TYPE_SMALL_STRUCT5; else if (sz == 6) --- 51,69 ---- size_t sz = t->size; /* Small structure results are passed in registers, ! larger ones are passed by pointer. Note that ! small structures of size 2, 4 and 8 differ from ! the corresponding integer types in that they have ! different alignment requirements. */ if (sz <= 1) return FFI_TYPE_UINT8; else if (sz == 2) ! return FFI_TYPE_SMALL_STRUCT2; else if (sz == 3) return FFI_TYPE_SMALL_STRUCT3; else if (sz == 4) ! return FFI_TYPE_SMALL_STRUCT4; else if (sz == 5) return FFI_TYPE_SMALL_STRUCT5; else if (sz == 6) *************** static inline int ffi_struct_type(ffi_ty *** 64,124 **** else if (sz == 7) return FFI_TYPE_SMALL_STRUCT7; else if (sz <= 8) ! return FFI_TYPE_UINT64; else return FFI_TYPE_STRUCT; /* else, we pass it by pointer. */ } /* PA has a downward growing stack, which looks like this: ! Offset ! [ Variable args ] SP = (4*(n+9)) arg word N ... SP-52 arg word 4 ! [ Fixed args ] SP-48 arg word 3 SP-44 arg word 2 SP-40 arg word 1 SP-36 arg word 0 ! [ Frame marker ] ... SP-20 RP SP-4 previous SP ! ! First 4 non-FP 32-bit args are passed in gr26, gr25, gr24 and gr23 ! First 2 non-FP 64-bit args are passed in register pairs, starting ! on an even numbered register (i.e. r26/r25 and r24+r23) ! First 4 FP 32-bit arguments are passed in fr4L, fr5L, fr6L and fr7L ! First 2 FP 64-bit arguments are passed in fr5 and fr7 ! The rest are passed on the stack starting at SP-52, but 64-bit ! arguments need to be aligned to an 8-byte boundary ! This means we can have holes either in the register allocation, or in the stack. */ /* ffi_prep_args is called by the assembly routine once stack space has been allocated for the function's arguments ! The following code will put everything into the stack frame (which was allocated by the asm routine), and on return the asm routine will load the arguments that should be passed by register into the appropriate registers ! NOTE: We load floating point args in this function... that means we assume gcc will not mess with fp regs in here. */ - /*@-exportheader@*/ void ffi_prep_args_LINUX(UINT32 *stack, extended_cif *ecif, unsigned bytes) - /*@=exportheader@*/ { register unsigned int i; register ffi_type **p_arg; register void **p_argv; ! unsigned int slot = FIRST_ARG_SLOT - 1; char *dest_cpy; ! debug(1, "%s: stack = %p, ecif = %p, bytes = %u\n", __FUNCTION__, stack, ecif, bytes); p_arg = ecif->cif->arg_types; p_argv = ecif->avalue; --- 71,150 ---- else if (sz == 7) return FFI_TYPE_SMALL_STRUCT7; else if (sz <= 8) ! return FFI_TYPE_SMALL_STRUCT8; else return FFI_TYPE_STRUCT; /* else, we pass it by pointer. */ } /* PA has a downward growing stack, which looks like this: ! Offset ! [ Variable args ] SP = (4*(n+9)) arg word N ... SP-52 arg word 4 ! [ Fixed args ] SP-48 arg word 3 SP-44 arg word 2 SP-40 arg word 1 SP-36 arg word 0 ! [ Frame marker ] ... SP-20 RP SP-4 previous SP ! ! The first four argument words on the stack are reserved for use by ! the callee. Instead, the general and floating registers replace ! the first four argument slots. Non FP arguments are passed solely ! in the general registers. FP arguments are passed in both general ! and floating registers when using libffi. ! ! Non-FP 32-bit args are passed in gr26, gr25, gr24 and gr23. ! Non-FP 64-bit args are passed in register pairs, starting ! on an odd numbered register (i.e. r25+r26 and r23+r24). ! FP 32-bit arguments are passed in fr4L, fr5L, fr6L and fr7L. ! FP 64-bit arguments are passed in fr5 and fr7. ! ! The registers are allocated in the same manner as stack slots. ! This allows the callee to save its arguments on the stack if ! necessary: ! ! arg word 3 -> gr23 or fr7L ! arg word 2 -> gr24 or fr6L or fr7R ! arg word 1 -> gr25 or fr5L ! arg word 0 -> gr26 or fr4L or fr5R ! ! Note that fr4R and fr6R are never used for arguments (i.e., ! doubles are not passed in fr4 or fr6). ! ! The rest of the arguments are passed on the stack starting at SP-52, ! but 64-bit arguments need to be aligned to an 8-byte boundary ! This means we can have holes either in the register allocation, or in the stack. */ /* ffi_prep_args is called by the assembly routine once stack space has been allocated for the function's arguments ! The following code will put everything into the stack frame (which was allocated by the asm routine), and on return the asm routine will load the arguments that should be passed by register into the appropriate registers ! NOTE: We load floating point args in this function... that means we assume gcc will not mess with fp regs in here. */ void ffi_prep_args_LINUX(UINT32 *stack, extended_cif *ecif, unsigned bytes) { register unsigned int i; register ffi_type **p_arg; register void **p_argv; ! unsigned int slot = FIRST_ARG_SLOT; char *dest_cpy; + size_t len; ! debug(1, "%s: stack = %p, ecif = %p, bytes = %u\n", __FUNCTION__, stack, ! ecif, bytes); p_arg = ecif->cif->arg_types; p_argv = ecif->avalue; *************** void ffi_prep_args_LINUX(UINT32 *stack, *** 130,202 **** switch (type) { case FFI_TYPE_SINT8: - slot++; *(SINT32 *)(stack - slot) = *(SINT8 *)(*p_argv); break; case FFI_TYPE_UINT8: - slot++; *(UINT32 *)(stack - slot) = *(UINT8 *)(*p_argv); break; case FFI_TYPE_SINT16: - slot++; *(SINT32 *)(stack - slot) = *(SINT16 *)(*p_argv); break; case FFI_TYPE_UINT16: - slot++; *(UINT32 *)(stack - slot) = *(UINT16 *)(*p_argv); break; case FFI_TYPE_UINT32: case FFI_TYPE_SINT32: case FFI_TYPE_POINTER: ! slot++; ! debug(3, "Storing UINT32 %u in slot %u\n", *(UINT32 *)(*p_argv), slot); *(UINT32 *)(stack - slot) = *(UINT32 *)(*p_argv); break; case FFI_TYPE_UINT64: case FFI_TYPE_SINT64: ! slot += 2; ! if (slot & 1) ! slot++; ! ! *(UINT32 *)(stack - slot) = (*(UINT64 *)(*p_argv)) >> 32; ! *(UINT32 *)(stack - slot + 1) = (*(UINT64 *)(*p_argv)) & 0xffffffffUL; break; case FFI_TYPE_FLOAT: ! /* First 4 args go in fr4L - fr7L */ ! slot++; switch (slot - FIRST_ARG_SLOT) { ! case 0: fldw(*p_argv, fr4); break; ! case 1: fldw(*p_argv, fr5); break; ! case 2: fldw(*p_argv, fr6); break; ! case 3: fldw(*p_argv, fr7); break; ! default: ! /* Other ones are just passed on the stack. */ ! debug(3, "Storing UINT32(float) in slot %u\n", slot); ! *(UINT32 *)(stack - slot) = *(UINT32 *)(*p_argv); ! break; } ! break; case FFI_TYPE_DOUBLE: ! slot += 2; ! if (slot & 1) ! slot++; ! switch (slot - FIRST_ARG_SLOT + 1) { ! /* First 2 args go in fr5, fr7 */ ! case 2: fldd(*p_argv, fr5); break; ! case 4: fldd(*p_argv, fr7); break; ! default: ! debug(3, "Storing UINT64(double) at slot %u\n", slot); ! *(UINT64 *)(stack - slot) = *(UINT64 *)(*p_argv); ! break; } break; --- 156,215 ---- switch (type) { case FFI_TYPE_SINT8: *(SINT32 *)(stack - slot) = *(SINT8 *)(*p_argv); break; case FFI_TYPE_UINT8: *(UINT32 *)(stack - slot) = *(UINT8 *)(*p_argv); break; case FFI_TYPE_SINT16: *(SINT32 *)(stack - slot) = *(SINT16 *)(*p_argv); break; case FFI_TYPE_UINT16: *(UINT32 *)(stack - slot) = *(UINT16 *)(*p_argv); break; case FFI_TYPE_UINT32: case FFI_TYPE_SINT32: case FFI_TYPE_POINTER: ! debug(3, "Storing UINT32 %u in slot %u\n", *(UINT32 *)(*p_argv), ! slot); *(UINT32 *)(stack - slot) = *(UINT32 *)(*p_argv); break; case FFI_TYPE_UINT64: case FFI_TYPE_SINT64: ! /* Align slot for 64-bit type. */ ! slot += (slot & 1) ? 1 : 2; ! *(UINT64 *)(stack - slot) = *(UINT64 *)(*p_argv); break; case FFI_TYPE_FLOAT: ! /* First 4 args go in fr4L - fr7L. */ ! debug(3, "Storing UINT32(float) in slot %u\n", slot); ! *(UINT32 *)(stack - slot) = *(UINT32 *)(*p_argv); switch (slot - FIRST_ARG_SLOT) { ! /* First 4 args go in fr4L - fr7L. */ ! case 0: fldw(stack - slot, fr4); break; ! case 1: fldw(stack - slot, fr5); break; ! case 2: fldw(stack - slot, fr6); break; ! case 3: fldw(stack - slot, fr7); break; } ! break; case FFI_TYPE_DOUBLE: ! /* Align slot for 64-bit type. */ ! slot += (slot & 1) ? 1 : 2; ! debug(3, "Storing UINT64(double) at slot %u\n", slot); ! *(UINT64 *)(stack - slot) = *(UINT64 *)(*p_argv); ! switch (slot - FIRST_ARG_SLOT) { ! /* First 2 args go in fr5, fr7. */ ! case 1: fldd(stack - slot, fr5); break; ! case 3: fldd(stack - slot, fr7); break; } break; *************** void ffi_prep_args_LINUX(UINT32 *stack, *** 206,245 **** register. Structs smaller or equal 8 bytes are passed in two registers. Larger structures are passed by pointer. */ ! if((*p_arg)->size <= 4) { ! slot++; ! dest_cpy = (char *)(stack - slot); ! dest_cpy += 4 - (*p_arg)->size; ! memcpy((char *)dest_cpy, (char *)*p_argv, (*p_arg)->size); } ! else if ((*p_arg)->size <= 8) ! { ! slot += 2; ! if (slot & 1) ! slot++; ! dest_cpy = (char *)(stack - slot); ! dest_cpy += 8 - (*p_arg)->size; ! memcpy((char *)dest_cpy, (char *)*p_argv, (*p_arg)->size); ! } ! else { ! slot++; ! *(UINT32 *)(stack - slot) = (UINT32)(*p_argv); } break; default: FFI_ASSERT(0); } p_arg++; p_argv++; } /* Make sure we didn't mess up and scribble on the stack. */ { ! int n; debug(5, "Stack setup:\n"); for (n = 0; n < (bytes + 3) / 4; n++) --- 219,252 ---- register. Structs smaller or equal 8 bytes are passed in two registers. Larger structures are passed by pointer. */ ! len = (*p_arg)->size; ! if (len <= 4) { ! dest_cpy = (char *)(stack - slot) + 4 - len; ! memcpy(dest_cpy, (char *)*p_argv, len); } ! else if (len <= 8) { ! slot += (slot & 1) ? 1 : 2; ! dest_cpy = (char *)(stack - slot) + 8 - len; ! memcpy(dest_cpy, (char *)*p_argv, len); } + else + *(UINT32 *)(stack - slot) = (UINT32)(*p_argv); break; default: FFI_ASSERT(0); } + slot++; p_arg++; p_argv++; } /* Make sure we didn't mess up and scribble on the stack. */ { ! unsigned int n; debug(5, "Stack setup:\n"); for (n = 0; n < (bytes + 3) / 4; n++) *************** ffi_status ffi_prep_cif_machdep(ffi_cif *** 339,358 **** return FFI_OK; } - /*@-declundef@*/ - /*@-exportheader@*/ extern void ffi_call_LINUX(void (*)(UINT32 *, extended_cif *, unsigned), ! /*@out@*/ extended_cif *, ! unsigned, unsigned, ! /*@out@*/ unsigned *, ! void (*fn)()); ! /*@=declundef@*/ ! /*@=exportheader@*/ ! void ffi_call(/*@dependent@*/ ffi_cif *cif, ! void (*fn)(), ! /*@out@*/ void *rvalue, ! /*@dependent@*/ void **avalue) { extended_cif ecif; --- 346,356 ---- return FFI_OK; } extern void ffi_call_LINUX(void (*)(UINT32 *, extended_cif *, unsigned), ! extended_cif *, unsigned, unsigned, unsigned *, ! void (*fn)()); ! void ffi_call(ffi_cif *cif, void (*fn)(), void *rvalue, void **avalue) { extended_cif ecif; *************** void ffi_call(/*@dependent@*/ ffi_cif *c *** 362,374 **** /* If the return value is a struct and we don't have a return value address then we need to make one. */ ! if ((rvalue == NULL) && ! (cif->rtype->type == FFI_TYPE_STRUCT)) ! { ! /*@-sysunrecog@*/ ! ecif.rvalue = alloca(cif->rtype->size); ! /*@=sysunrecog@*/ ! } else ecif.rvalue = rvalue; --- 360,367 ---- /* If the return value is a struct and we don't have a return value address then we need to make one. */ ! if (rvalue == NULL && cif->rtype->type == FFI_TYPE_STRUCT) ! ecif.rvalue = alloca(cif->rtype->size); else ecif.rvalue = rvalue; *************** void ffi_call(/*@dependent@*/ ffi_cif *c *** 376,386 **** switch (cif->abi) { case FFI_LINUX: ! /*@-usedef@*/ ! debug(2, "Calling ffi_call_LINUX: ecif=%p, bytes=%u, flags=%u, rvalue=%p, fn=%p\n", &ecif, cif->bytes, cif->flags, ecif.rvalue, (void *)fn); ffi_call_LINUX(ffi_prep_args_LINUX, &ecif, cif->bytes, cif->flags, ecif.rvalue, fn); - /*@=usedef@*/ break; default: --- 369,377 ---- switch (cif->abi) { case FFI_LINUX: ! debug(3, "Calling ffi_call_LINUX: ecif=%p, bytes=%u, flags=%u, rvalue=%p, fn=%p\n", &ecif, cif->bytes, cif->flags, ecif.rvalue, (void *)fn); ffi_call_LINUX(ffi_prep_args_LINUX, &ecif, cif->bytes, cif->flags, ecif.rvalue, fn); break; default: *************** void ffi_call(/*@dependent@*/ ffi_cif *c *** 394,400 **** the stack, and we need to fill them into a cif structure and invoke the user function. This really ought to be in asm to make sure the compiler doesn't do things we don't expect. */ ! UINT32 ffi_closure_inner_LINUX(ffi_closure *closure, UINT32 *stack) { ffi_cif *cif; void **avalue; --- 385,391 ---- the stack, and we need to fill them into a cif structure and invoke the user function. This really ought to be in asm to make sure the compiler doesn't do things we don't expect. */ ! ffi_status ffi_closure_inner_LINUX(ffi_closure *closure, UINT32 *stack) { ffi_cif *cif; void **avalue; *************** UINT32 ffi_closure_inner_LINUX(ffi_closu *** 402,408 **** UINT32 ret[2]; /* function can return up to 64-bits in registers */ ffi_type **p_arg; char *tmp; ! int i, avn, slot = FIRST_ARG_SLOT - 1; register UINT32 r28 asm("r28"); cif = closure->cif; --- 393,400 ---- UINT32 ret[2]; /* function can return up to 64-bits in registers */ ffi_type **p_arg; char *tmp; ! int i, avn; ! unsigned int slot = FIRST_ARG_SLOT; register UINT32 r28 asm("r28"); cif = closure->cif; *************** UINT32 ffi_closure_inner_LINUX(ffi_closu *** 430,449 **** case FFI_TYPE_SINT32: case FFI_TYPE_UINT32: case FFI_TYPE_POINTER: - slot++; avalue[i] = (char *)(stack - slot) + sizeof(UINT32) - (*p_arg)->size; break; case FFI_TYPE_SINT64: case FFI_TYPE_UINT64: ! slot += 2; ! if (slot & 1) ! slot++; avalue[i] = (void *)(stack - slot); break; case FFI_TYPE_FLOAT: ! slot++; switch (slot - FIRST_ARG_SLOT) { case 0: fstw(fr4, (void *)(stack - slot)); break; --- 422,443 ---- case FFI_TYPE_SINT32: case FFI_TYPE_UINT32: case FFI_TYPE_POINTER: avalue[i] = (char *)(stack - slot) + sizeof(UINT32) - (*p_arg)->size; break; case FFI_TYPE_SINT64: case FFI_TYPE_UINT64: ! slot += (slot & 1) ? 1 : 2; avalue[i] = (void *)(stack - slot); break; case FFI_TYPE_FLOAT: ! /* The closure call is indirect. In Linux, floating point ! arguments in indirect calls with a prototype are passed ! in the floating point registers instead of the general ! registers. So, we need to replace what was previously ! stored in the current slot with the value in the ! corresponding floating point register. */ switch (slot - FIRST_ARG_SLOT) { case 0: fstw(fr4, (void *)(stack - slot)); break; *************** UINT32 ffi_closure_inner_LINUX(ffi_closu *** 455,467 **** break; case FFI_TYPE_DOUBLE: ! slot += 2; ! if (slot & 1) ! slot++; ! switch (slot - FIRST_ARG_SLOT + 1) { ! case 2: fstd(fr5, (void *)(stack - slot)); break; ! case 4: fstd(fr7, (void *)(stack - slot)); break; } avalue[i] = (void *)(stack - slot); break; --- 449,460 ---- break; case FFI_TYPE_DOUBLE: ! slot += (slot & 1) ? 1 : 2; ! /* See previous comment for FFI_TYPE_FLOAT. */ ! switch (slot - FIRST_ARG_SLOT) { ! case 1: fstd(fr5, (void *)(stack - slot)); break; ! case 3: fstd(fr7, (void *)(stack - slot)); break; } avalue[i] = (void *)(stack - slot); break; *************** UINT32 ffi_closure_inner_LINUX(ffi_closu *** 470,504 **** /* Structs smaller or equal than 4 bytes are passed in one register. Structs smaller or equal 8 bytes are passed in two registers. Larger structures are passed by pointer. */ ! if((*p_arg)->size <= 4) { ! slot++; ! avalue[i] = (void *)(stack - slot) + sizeof(UINT32) - ! (*p_arg)->size; ! } else if ((*p_arg)->size <= 8) { ! slot += 2; ! if (slot & 1) ! slot++; ! avalue[i] = (void *)(stack - slot) + sizeof(UINT64) - ! (*p_arg)->size; ! } else { ! slot++; avalue[i] = (void *) *(stack - slot); - } break; default: FFI_ASSERT(0); } p_arg++; } /* Invoke the closure. */ (closure->fun) (cif, rvalue, avalue, closure->user_data); ! debug(3, "after calling function, ret[0] = %08x, ret[1] = %08x\n", ret[0], ret[1]); ! /* Store the result */ switch (cif->flags) { case FFI_TYPE_UINT8: --- 463,498 ---- /* Structs smaller or equal than 4 bytes are passed in one register. Structs smaller or equal 8 bytes are passed in two registers. Larger structures are passed by pointer. */ ! if((*p_arg)->size <= 4) ! { ! avalue[i] = (void *)(stack - slot) + sizeof(UINT32) - ! (*p_arg)->size; ! } ! else if ((*p_arg)->size <= 8) ! { ! slot += (slot & 1) ? 1 : 2; ! avalue[i] = (void *)(stack - slot) + sizeof(UINT64) - ! (*p_arg)->size; ! } ! else avalue[i] = (void *) *(stack - slot); break; default: FFI_ASSERT(0); } + slot++; p_arg++; } /* Invoke the closure. */ (closure->fun) (cif, rvalue, avalue, closure->user_data); ! debug(3, "after calling function, ret[0] = %08x, ret[1] = %08x\n", ret[0], ! ret[1]); ! /* Store the result using the lower 2 bytes of the flags. */ switch (cif->flags) { case FFI_TYPE_UINT8: *************** UINT32 ffi_closure_inner_LINUX(ffi_closu *** 536,542 **** --- 530,538 ---- /* Don't need a return value, done by caller. */ break; + case FFI_TYPE_SMALL_STRUCT2: case FFI_TYPE_SMALL_STRUCT3: + case FFI_TYPE_SMALL_STRUCT4: tmp = (void*)(stack - FIRST_ARG_SLOT); tmp += 4 - cif->rtype->size; memcpy((void*)tmp, &ret[0], cif->rtype->size); *************** UINT32 ffi_closure_inner_LINUX(ffi_closu *** 545,550 **** --- 541,547 ---- case FFI_TYPE_SMALL_STRUCT5: case FFI_TYPE_SMALL_STRUCT6: case FFI_TYPE_SMALL_STRUCT7: + case FFI_TYPE_SMALL_STRUCT8: { unsigned int ret2[2]; int off; *************** UINT32 ffi_closure_inner_LINUX(ffi_closu *** 582,588 **** cif specifies the argument and result types for fun. The cif must already be prep'ed. */ ! void ffi_closure_LINUX(void); ffi_status ffi_prep_closure (ffi_closure* closure, --- 579,585 ---- cif specifies the argument and result types for fun. The cif must already be prep'ed. */ ! extern void ffi_closure_LINUX(void); ffi_status ffi_prep_closure (ffi_closure* closure, *************** ffi_prep_closure (ffi_closure* closure, *** 597,620 **** /* Make a small trampoline that will branch to our handler function. Use PC-relative addressing. */ ! tramp[0] = 0xeaa00000; /* b,l .+8, %r21 ; %r21 <- pc+8 */ ! tramp[1] = 0xd6a01c1e; /* depi 0,31,2, %r21 ; mask priv bits */ ! tramp[2] = 0x4aa10028; /* ldw 20(%r21), %r1 ; load plabel */ ! tramp[3] = 0x36b53ff1; /* ldo -8(%r21), %r21 ; get closure addr */ ! tramp[4] = 0x0c201096; /* ldw 0(%r1), %r22 ; address of handler */ ! tramp[5] = 0xeac0c000; /* bv %r0(%r22) ; branch to handler */ ! tramp[6] = 0x0c281093; /* ldw 4(%r1), %r19 ; GP of handler */ tramp[7] = ((UINT32)(ffi_closure_LINUX) & ~2); /* Flush d/icache -- have to flush up 2 two lines because of alignment. */ ! asm volatile ( ! "fdc 0(%0)\n" ! "fdc %1(%0)\n" ! "fic 0(%%sr4, %0)\n" ! "fic %1(%%sr4, %0)\n" ! "sync\n" ! : : "r"((unsigned long)tramp & ~31), "r"(32 /* stride */)); closure->cif = cif; closure->user_data = user_data; --- 594,627 ---- /* Make a small trampoline that will branch to our handler function. Use PC-relative addressing. */ ! tramp[0] = 0xeaa00000; /* b,l .+8,%r21 ; %r21 <- pc+8 */ ! tramp[1] = 0xd6a01c1e; /* depi 0,31,2,%r21 ; mask priv bits */ ! tramp[2] = 0x4aa10028; /* ldw 20(%r21),%r1 ; load plabel */ ! tramp[3] = 0x36b53ff1; /* ldo -8(%r21),%r21 ; get closure addr */ ! tramp[4] = 0x0c201096; /* ldw 0(%r1),%r22 ; address of handler */ ! tramp[5] = 0xeac0c000; /* bv%r0(%r22) ; branch to handler */ ! tramp[6] = 0x0c281093; /* ldw 4(%r1),%r19 ; GP of handler */ tramp[7] = ((UINT32)(ffi_closure_LINUX) & ~2); /* Flush d/icache -- have to flush up 2 two lines because of alignment. */ ! __asm__ volatile( ! "fdc 0(%0)\n\t" ! "fdc %1(%0)\n\t" ! "fic 0(%%sr4, %0)\n\t" ! "fic %1(%%sr4, %0)\n\t" ! "sync\n\t" ! "nop\n\t" ! "nop\n\t" ! "nop\n\t" ! "nop\n\t" ! "nop\n\t" ! "nop\n\t" ! "nop\n" ! : ! : "r"((unsigned long)tramp & ~31), ! "r"(32 /* stride */) ! : "memory"); closure->cif = cif; closure->user_data = user_data; diff -Nrcpad gcc-4.1.1/libffi/src/pa/ffitarget.h gcc-4.1.2/libffi/src/pa/ffitarget.h *** gcc-4.1.1/libffi/src/pa/ffitarget.h Wed Jul 6 03:37:20 2005 --- gcc-4.1.2/libffi/src/pa/ffitarget.h Fri Jun 23 02:23:44 2006 *************** typedef enum ffi_abi { *** 51,59 **** #define FFI_TRAMPOLINE_SIZE 32 ! #define FFI_TYPE_SMALL_STRUCT3 -1 ! #define FFI_TYPE_SMALL_STRUCT5 -2 ! #define FFI_TYPE_SMALL_STRUCT6 -3 ! #define FFI_TYPE_SMALL_STRUCT7 -4 #endif - --- 51,61 ---- #define FFI_TRAMPOLINE_SIZE 32 ! #define FFI_TYPE_SMALL_STRUCT2 -1 ! #define FFI_TYPE_SMALL_STRUCT3 -2 ! #define FFI_TYPE_SMALL_STRUCT4 -3 ! #define FFI_TYPE_SMALL_STRUCT5 -4 ! #define FFI_TYPE_SMALL_STRUCT6 -5 ! #define FFI_TYPE_SMALL_STRUCT7 -6 ! #define FFI_TYPE_SMALL_STRUCT8 -7 #endif diff -Nrcpad gcc-4.1.1/libffi/src/pa/linux.S gcc-4.1.2/libffi/src/pa/linux.S *** gcc-4.1.1/libffi/src/pa/linux.S Wed Jul 6 03:37:20 2005 --- gcc-4.1.2/libffi/src/pa/linux.S Fri Jun 23 02:23:44 2006 *************** ffi_call_LINUX: *** 73,80 **** .LCFI13: copy %sp, %r4 ! addl %arg2, %r4, %arg0 /* arg stack */ ! stw %arg3, -48(%r3) /* save flags; we need it later */ /* Call prep_args: %arg0(stack) -- set up above --- 73,80 ---- .LCFI13: copy %sp, %r4 ! addl %arg2, %r4, %arg0 /* arg stack */ ! stw %arg3, -48(%r3) /* save flags; we need it later */ /* Call prep_args: %arg0(stack) -- set up above *************** ffi_call_LINUX: *** 106,195 **** /* Store the result according to the return type. */ ! checksmst3: ! comib,<>,n FFI_TYPE_SMALL_STRUCT3, %r21, checksmst567 ! /* 3-byte structs are returned in ret0 as ??xxyyzz. Shift ! left 8 bits to write to the result structure. */ ! zdep %ret0, 23, 24, %r22 ! b done ! stw %r22, 0(%r20) ! ! checksmst567: ! /* 5-7 byte values are returned right justified: ! ret0 ret1 ! 5: ??????aa bbccddee ! 6: ????aabb ccddeeff ! 7: ??aabbcc ddeeffgg ! ! To store this in the result, write the first 4 bytes into a temp ! register using shrpw (t1 = aabbccdd), followed by a rotation of ! ret1: ! ! ret0 ret1 ret1 ! 5: ??????aa bbccddee -> eebbccdd (rotate 8) ! 6: ????aabb ccddeeff -> eeffccdd (rotate 16) ! 7: ??aabbcc ddeeffgg -> eeffggdd (rotate 24) ! then we write (t1, ret1) into the result. */ ! addi,<> -FFI_TYPE_SMALL_STRUCT5,%r21,%r0 ! ldi 8, %r22 ! addi,<> -FFI_TYPE_SMALL_STRUCT6,%r21,%r0 ! ldi 16, %r22 ! addi,<> -FFI_TYPE_SMALL_STRUCT7,%r21,%r0 ! ldi 24, %r22 ! /* This relies on all the FFI_TYPE_*_STRUCT* defines being <0 */ ! cmpib,<=,n 0, %r21, checkint8 ! mtsar %r22 ! shrpw %ret0, %ret1, %sar, %ret0 /* ret0 = aabbccdd */ ! shrpw %ret1, %ret1, %sar, %ret1 /* rotate ret1 */ ! ! stw %ret0, 0(%r20) ! b done ! stw %ret1, 4(%r20) ! checkint8: ! comib,<>,n FFI_TYPE_UINT8, %r21, checkint16 ! b done ! stb %ret0, 0(%r20) ! checkint16: ! comib,<>,n FFI_TYPE_UINT16, %r21, checkint32 ! b done ! sth %ret0, 0(%r20) ! checkint32: ! comib,<>,n FFI_TYPE_UINT32, %r21, checkint ! b done ! stw %ret0, 0(%r20) ! checkint: ! comib,<>,n FFI_TYPE_INT, %r21, checkll ! b done ! stw %ret0, 0(%r20) ! checkll: ! comib,<>,n FFI_TYPE_UINT64, %r21, checkdbl ! stw %ret0, 0(%r20) ! b done ! stw %ret1, 4(%r20) ! checkdbl: ! comib,<>,n FFI_TYPE_DOUBLE, %r21, checkfloat ! b done ! fstd %fr4,0(%r20) ! checkfloat: ! comib,<>,n FFI_TYPE_FLOAT, %r21, done ! fstw %fr4L,0(%r20) ! /* structure returns are either handled by one of the ! INT/UINT64 cases above, or, if passed by pointer, ! is handled by the callee. */ ! done: /* all done, return */ copy %r4, %sp /* pop arg stack */ ldw 12(%r3), %r4 --- 106,244 ---- /* Store the result according to the return type. */ ! .Lcheckint: ! comib,<>,n FFI_TYPE_INT, %r21, .Lcheckint8 ! b .Ldone ! stw %ret0, 0(%r20) ! .Lcheckint8: ! comib,<>,n FFI_TYPE_UINT8, %r21, .Lcheckint16 ! b .Ldone ! stb %ret0, 0(%r20) ! .Lcheckint16: ! comib,<>,n FFI_TYPE_UINT16, %r21, .Lcheckdbl ! b .Ldone ! sth %ret0, 0(%r20) ! .Lcheckdbl: ! comib,<>,n FFI_TYPE_DOUBLE, %r21, .Lcheckfloat ! b .Ldone ! fstd %fr4,0(%r20) ! .Lcheckfloat: ! comib,<>,n FFI_TYPE_FLOAT, %r21, .Lcheckll ! b .Ldone ! fstw %fr4L,0(%r20) ! .Lcheckll: ! comib,<>,n FFI_TYPE_UINT64, %r21, .Lchecksmst2 ! stw %ret0, 0(%r20) ! b .Ldone ! stw %ret1, 4(%r20) ! .Lchecksmst2: ! comib,<>,n FFI_TYPE_SMALL_STRUCT2, %r21, .Lchecksmst3 ! /* 2-byte structs are returned in ret0 as ????xxyy. */ ! extru %ret0, 23, 8, %r22 ! stbs,ma %r22, 1(%r20) ! b .Ldone ! stb %ret0, 0(%r20) ! .Lchecksmst3: ! comib,<>,n FFI_TYPE_SMALL_STRUCT3, %r21, .Lchecksmst4 ! /* 3-byte structs are returned in ret0 as ??xxyyzz. */ ! extru %ret0, 15, 8, %r22 ! stbs,ma %r22, 1(%r20) ! extru %ret0, 23, 8, %r22 ! stbs,ma %r22, 1(%r20) ! b .Ldone ! stb %ret0, 0(%r20) ! .Lchecksmst4: ! comib,<>,n FFI_TYPE_SMALL_STRUCT4, %r21, .Lchecksmst5 ! /* 4-byte structs are returned in ret0 as wwxxyyzz. */ ! extru %ret0, 7, 8, %r22 ! stbs,ma %r22, 1(%r20) ! extru %ret0, 15, 8, %r22 ! stbs,ma %r22, 1(%r20) ! extru %ret0, 23, 8, %r22 ! stbs,ma %r22, 1(%r20) ! b .Ldone ! stb %ret0, 0(%r20) ! .Lchecksmst5: ! comib,<>,n FFI_TYPE_SMALL_STRUCT5, %r21, .Lchecksmst6 ! /* 5 byte values are returned right justified: ! ret0 ret1 ! 5: ??????aa bbccddee */ ! stbs,ma %ret0, 1(%r20) ! extru %ret1, 7, 8, %r22 ! stbs,ma %r22, 1(%r20) ! extru %ret1, 15, 8, %r22 ! stbs,ma %r22, 1(%r20) ! extru %ret1, 23, 8, %r22 ! stbs,ma %r22, 1(%r20) ! b .Ldone ! stb %ret1, 0(%r20) ! .Lchecksmst6: ! comib,<>,n FFI_TYPE_SMALL_STRUCT6, %r21, .Lchecksmst7 ! /* 6 byte values are returned right justified: ! ret0 ret1 ! 6: ????aabb ccddeeff */ ! extru %ret0, 23, 8, %r22 ! stbs,ma %r22, 1(%r20) ! stbs,ma %ret0, 1(%r20) ! extru %ret1, 7, 8, %r22 ! stbs,ma %r22, 1(%r20) ! extru %ret1, 15, 8, %r22 ! stbs,ma %r22, 1(%r20) ! extru %ret1, 23, 8, %r22 ! stbs,ma %r22, 1(%r20) ! b .Ldone ! stb %ret1, 0(%r20) ! .Lchecksmst7: ! comib,<>,n FFI_TYPE_SMALL_STRUCT7, %r21, .Lchecksmst8 ! /* 7 byte values are returned right justified: ! ret0 ret1 ! 7: ??aabbcc ddeeffgg */ ! extru %ret0, 15, 8, %r22 ! stbs,ma %r22, 1(%r20) ! extru %ret0, 23, 8, %r22 ! stbs,ma %r22, 1(%r20) ! stbs,ma %ret0, 1(%r20) ! extru %ret1, 7, 8, %r22 ! stbs,ma %r22, 1(%r20) ! extru %ret1, 15, 8, %r22 ! stbs,ma %r22, 1(%r20) ! extru %ret1, 23, 8, %r22 ! stbs,ma %r22, 1(%r20) ! b .Ldone ! stb %ret1, 0(%r20) ! .Lchecksmst8: ! comib,<>,n FFI_TYPE_SMALL_STRUCT8, %r21, .Ldone ! /* 8 byte values are returned right justified: ! ret0 ret1 ! 8: aabbccdd eeffgghh */ ! extru %ret0, 7, 8, %r22 ! stbs,ma %r22, 1(%r20) ! extru %ret0, 15, 8, %r22 ! stbs,ma %r22, 1(%r20) ! extru %ret0, 23, 8, %r22 ! stbs,ma %r22, 1(%r20) ! stbs,ma %ret0, 1(%r20) ! extru %ret1, 7, 8, %r22 ! stbs,ma %r22, 1(%r20) ! extru %ret1, 15, 8, %r22 ! stbs,ma %r22, 1(%r20) ! extru %ret1, 23, 8, %r22 ! stbs,ma %r22, 1(%r20) ! stb %ret1, 0(%r20) ! .Ldone: /* all done, return */ copy %r4, %sp /* pop arg stack */ ldw 12(%r3), %r4 *************** ffi_closure_LINUX: *** 299,305 **** .sleb128 -5 .byte 0x4 ;# DW_CFA_advance_loc4 ! .word .LCFI12-.LCFI11 .byte 0xd ;# DW_CFA_def_cfa_register = r3 .uleb128 0x3 --- 348,354 ---- .sleb128 -5 .byte 0x4 ;# DW_CFA_advance_loc4 ! .word .LCFI22-.LCFI21 .byte 0xd ;# DW_CFA_def_cfa_register = r3 .uleb128 0x3 diff -Nrcpad gcc-4.1.1/libjava/ChangeLog gcc-4.1.2/libjava/ChangeLog *** gcc-4.1.1/libjava/ChangeLog Wed May 24 23:43:16 2006 --- gcc-4.1.2/libjava/ChangeLog Wed Feb 14 05:13:13 2007 *************** *** 1,3 **** --- 1,48 ---- + 2007-02-13 Release Manager + + * GCC 4.1.2 released. + + 2006-07-13 Anthony Green + + * java/io/natFilePosix.cc (performSetLastModified): Return true on + success, false otherwise. + + 2006-06-27 Tom Tromey + + PR libgcj/28178: + * jni.cc (_Jv_JNI_DeleteLocalRef): Ignore null argument. + (_Jv_JNI_DeleteGlobalRef): Likewise. + * testsuite/libjava.jni/PR28178.java: New file. + * testsuite/libjava.jni/PR28178.c: New file. + * testsuite/libjava.jni/PR28178.out: New file. + + 2006-06-22 John David Anglin + + * configure.host (hppa-*): Change to 'hppa*-*'. Set + 'enable_hash_synchronization_default' to no. + + 2006-04-05 Ranjit Mathew + + * configure.host: Add -fno-omit-frame-pointer to libgcj_flags for + MinGW since EBP is used for backtracking through call frames on this + platform. + + 2006-04-25 Tom Tromey + + * gnu/gcj/runtime/natSharedLibLoader.cc: Include gc.h later. + Include platform.h. Set GC_DEBUG before including gc.h, if + needed. + + 2006-06-01 Alan Modra + + * stacktrace.cc (_Jv_StackTrace::UpdateNCodeMap): Don't add + interpreted classes. + + 2006-05-15 Andreas Tobler + * stacktrace.cc (StackTrace::FillInFrameInfo): Use + UNWRAP_FUNCTION_DESCRIPTOR to compare frame->start_ip against the + klass->methods[j].ncode. + 2006-05-24 Release Manager * GCC 4.1.1 released. diff -Nrcpad gcc-4.1.1/libjava/classpath/ChangeLog gcc-4.1.2/libjava/classpath/ChangeLog *** gcc-4.1.1/libjava/classpath/ChangeLog Wed May 24 23:43:13 2006 --- gcc-4.1.2/libjava/classpath/ChangeLog Wed Feb 14 05:13:09 2007 *************** *** 1,3 **** --- 1,20 ---- + 2007-02-13 Release Manager + + * GCC 4.1.2 released. + + 2007-02-09 Jakub Jelinek + + PR 23566 + * scripts/timezones.pl: Parse each file in 2 passes, in one parse + just Rule lines, in the other everything else. Pass 0 instead of + $savings as second argument to parseRule when parsing the start + rule. + * java/util/TimeZone.java (timezones): Regenerate from tzdata2007a. + + 2006-07-04 Peter O'Gorman + + * ltconfig: chmod 644 before ranlib during install. + 2006-05-24 Release Manager * GCC 4.1.1 released. diff -Nrcpad gcc-4.1.1/libjava/classpath/ChangeLog.gcj gcc-4.1.2/libjava/classpath/ChangeLog.gcj *** gcc-4.1.1/libjava/classpath/ChangeLog.gcj Fri Apr 21 21:53:27 2006 --- gcc-4.1.2/libjava/classpath/ChangeLog.gcj Fri Aug 18 17:36:28 2006 *************** *** 1,3 **** --- 1,30 ---- + 2006-08-18 Tom Tromey + + * gnu/java/util/prefs/NodeWriter.java (writeParents): Removed + debugging prints. + * gnu/java/util/prefs/NodeReader.java (readNodes): Removed debugging + print. + (readEntries): Likewise. + + 2006-07-12 Tom Tromey + + * java/util/zip/ZipFile.java (getInputStream): Call addDummyByte + on PartialInputStream. + (PartialInputStream.addDummyByte): New field. + (PartialInputStream.singleByte): Likewise. + (PartialInputStream): Initialize new fields. + (PartialInputStream.read()): Rewrote. + (PartialInputStream.read(byte[],int,int)): Handle dummy byte, if + added. + (PartialInputStream.addDummyByte): New method. + + 2006-06-14 Tom Tromey + + PR java/28024: + * aclocal.m4, configure: Rebuilt. + * m4/acinclude.m4 (REGEN_WITH_JAY): Use backquote, not $(...). + * configure.ac (QT_INCLUDE_DIR): Use backquote, not $(...). + 2006-04-21 Tom Tromey PR classpath/27163: diff -Nrcpad gcc-4.1.1/libjava/classpath/aclocal.m4 gcc-4.1.2/libjava/classpath/aclocal.m4 *** gcc-4.1.1/libjava/classpath/aclocal.m4 Thu Mar 16 19:12:29 2006 --- gcc-4.1.2/libjava/classpath/aclocal.m4 Wed Jun 14 13:46:33 2006 *************** *** 1,7 **** ! # generated automatically by aclocal 1.9.3 -*- Autoconf -*- ! # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 ! # Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. --- 1,7 ---- ! # generated automatically by aclocal 1.9.6 -*- Autoconf -*- ! # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, ! # 2005 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. *************** *** 11,33 **** # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. ! # -*- Autoconf -*- ! # Copyright (C) 2002, 2003 Free Software Foundation, Inc. ! # Generated from amversion.in; do not edit by hand. ! ! # 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 ! # the Free Software Foundation; either version 2, or (at your option) ! # any later version. ! ! # This program is distributed in the hope that it will be useful, ! # but WITHOUT ANY WARRANTY; without even the implied warranty of ! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! # GNU General Public License for more details. ! ! # You should have received a copy of the GNU General Public License ! # along with this program; if not, write to the Free Software ! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- --- 11,21 ---- # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. ! # Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. ! # ! # This file is free software; the Free Software Foundation ! # gives unlimited permission to copy and/or distribute it, ! # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- *************** AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api *** 40,65 **** # Call AM_AUTOMAKE_VERSION so it can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], ! [AM_AUTOMAKE_VERSION([1.9.3])]) ! ! # AM_AUX_DIR_EXPAND ! ! # Copyright (C) 2001, 2003 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 ! # the Free Software Foundation; either version 2, or (at your option) ! # any later version. ! # This program is distributed in the hope that it will be useful, ! # but WITHOUT ANY WARRANTY; without even the implied warranty of ! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! # GNU General Public License for more details. ! # You should have received a copy of the GNU General Public License ! # along with this program; if not, write to the Free Software ! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ! # 02111-1307, USA. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to --- 28,42 ---- # Call AM_AUTOMAKE_VERSION so it can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], ! [AM_AUTOMAKE_VERSION([1.9.6])]) ! # AM_AUX_DIR_EXPAND -*- Autoconf -*- ! # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. ! # ! # This file is free software; the Free Software Foundation ! # gives unlimited permission to copy and/or distribute it, ! # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to *************** AC_PREREQ([2.50])dnl *** 106,131 **** am_aux_dir=`cd $ac_aux_dir && pwd` ]) ! # AM_CONDITIONAL -*- Autoconf -*- ! ! # Copyright (C) 1997, 2000, 2001, 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 ! # the Free Software Foundation; either version 2, or (at your option) ! # any later version. ! ! # This program is distributed in the hope that it will be useful, ! # but WITHOUT ANY WARRANTY; without even the implied warranty of ! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! # GNU General Public License for more details. ! # You should have received a copy of the GNU General Public License ! # along with this program; if not, write to the Free Software ! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ! # 02111-1307, USA. ! # serial 6 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- --- 83,98 ---- am_aux_dir=`cd $ac_aux_dir && pwd` ]) ! # AM_CONDITIONAL -*- Autoconf -*- ! # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005 ! # Free Software Foundation, Inc. ! # ! # This file is free software; the Free Software Foundation ! # gives unlimited permission to copy and/or distribute it, ! # with or without modifications, as long as this notice is preserved. ! # serial 7 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- *************** AC_CONFIG_COMMANDS_PRE( *** 149,174 **** Usually this means the macro was only invoked conditionally.]]) fi])]) - # serial 7 -*- Autoconf -*- ! # Copyright (C) 1999, 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 ! # the Free Software Foundation; either version 2, or (at your option) ! # any later version. ! ! # This program is distributed in the hope that it will be useful, ! # but WITHOUT ANY WARRANTY; without even the implied warranty of ! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! # GNU General Public License for more details. ! ! # You should have received a copy of the GNU General Public License ! # along with this program; if not, write to the Free Software ! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ! # 02111-1307, USA. ! # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, --- 116,130 ---- Usually this means the macro was only invoked conditionally.]]) fi])]) ! # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 # Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, + # with or without modifications, as long as this notice is preserved. ! # serial 8 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, *************** fi])]) *** 177,183 **** # CC etc. in the Makefile, will ask for an AC_PROG_CC use... - # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. --- 133,138 ---- *************** AM_CONDITIONAL([AMDEP], [test "x$enable_ *** 317,343 **** AC_SUBST([AMDEPBACKSLASH]) ]) ! # Generate code to set up dependency tracking. -*- Autoconf -*- ! ! # Copyright (C) 1999, 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 ! # the Free Software Foundation; either version 2, or (at your option) ! # any later version. ! ! # This program is distributed in the hope that it will be useful, ! # but WITHOUT ANY WARRANTY; without even the implied warranty of ! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! # GNU General Public License for more details. ! # You should have received a copy of the GNU General Public License ! # along with this program; if not, write to the Free Software ! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ! # 02111-1307, USA. ! #serial 2 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ --- 272,287 ---- AC_SUBST([AMDEPBACKSLASH]) ]) ! # Generate code to set up dependency tracking. -*- Autoconf -*- ! # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 ! # Free Software Foundation, Inc. ! # ! # This file is free software; the Free Software Foundation ! # gives unlimited permission to copy and/or distribute it, ! # with or without modifications, as long as this notice is preserved. ! #serial 3 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ *************** AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS] *** 396,425 **** [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) ! # Do all the work for Automake. -*- Autoconf -*- ! ! # This macro actually does too much some checks are only needed if ! # your package does certain things. But this isn't really a big deal. ! # Copyright (C) 1996, 1997, 1998, 1999, 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 ! # the Free Software Foundation; either version 2, or (at your option) ! # any later version. ! ! # This program is distributed in the hope that it will be useful, ! # but WITHOUT ANY WARRANTY; without even the implied warranty of ! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! # GNU General Public License for more details. ! ! # You should have received a copy of the GNU General Public License ! # along with this program; if not, write to the Free Software ! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ! # 02111-1307, USA. ! # serial 11 # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) --- 340,358 ---- [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) ! # Do all the work for Automake. -*- Autoconf -*- ! # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 # Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, + # with or without modifications, as long as this notice is preserved. ! # serial 12 ! # This macro actually does too much. Some checks are only needed if ! # your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) *************** for _am_header in $config_headers :; do *** 521,574 **** done echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. - - # Copyright (C) 2001, 2003 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 - # the Free Software Foundation; either version 2, or (at your option) - # any later version. - - # This program is distributed in the hope that it will be useful, - # but WITHOUT ANY WARRANTY; without even the implied warranty of - # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - # GNU General Public License for more details. - - # You should have received a copy of the GNU General Public License - # along with this program; if not, write to the Free Software - # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - # 02111-1307, USA. - AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl install_sh=${install_sh-"$am_aux_dir/install-sh"} AC_SUBST(install_sh)]) ! # Add --enable-maintainer-mode option to configure. # From Jim Meyering ! # Copyright (C) 1996, 1998, 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 ! # the Free Software Foundation; either version 2, or (at your option) ! # any later version. ! ! # This program is distributed in the hope that it will be useful, ! # but WITHOUT ANY WARRANTY; without even the implied warranty of ! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! # GNU General Public License for more details. ! ! # You should have received a copy of the GNU General Public License ! # along with this program; if not, write to the Free Software ! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ! # 02111-1307, USA. ! ! # serial 3 AC_DEFUN([AM_MAINTAINER_MODE], [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) --- 454,484 ---- done echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) + # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, + # with or without modifications, as long as this notice is preserved. + # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl install_sh=${install_sh-"$am_aux_dir/install-sh"} AC_SUBST(install_sh)]) ! # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering ! # Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005 # Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, + # with or without modifications, as long as this notice is preserved. ! # serial 4 AC_DEFUN([AM_MAINTAINER_MODE], [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) *************** AC_DEFUN([AM_MAINTAINER_MODE], *** 587,612 **** AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) ! # Check to see how 'make' treats includes. -*- Autoconf -*- ! ! # Copyright (C) 2001, 2002, 2003 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 ! # the Free Software Foundation; either version 2, or (at your option) ! # any later version. ! ! # This program is distributed in the hope that it will be useful, ! # but WITHOUT ANY WARRANTY; without even the implied warranty of ! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! # GNU General Public License for more details. ! # You should have received a copy of the GNU General Public License ! # along with this program; if not, write to the Free Software ! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ! # 02111-1307, USA. ! # serial 2 # AM_MAKE_INCLUDE() # ----------------- --- 497,511 ---- AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) ! # Check to see how 'make' treats includes. -*- Autoconf -*- ! # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. ! # ! # This file is free software; the Free Software Foundation ! # gives unlimited permission to copy and/or distribute it, ! # with or without modifications, as long as this notice is preserved. ! # serial 3 # AM_MAKE_INCLUDE() # ----------------- *************** AC_MSG_RESULT([$_am_result]) *** 650,676 **** rm -f confinc confmf ]) ! # -*- Autoconf -*- ! ! ! # Copyright (C) 1997, 1999, 2000, 2001, 2003 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 ! # the Free Software Foundation; either version 2, or (at your option) ! # any later version. ! ! # This program is distributed in the hope that it will be useful, ! # but WITHOUT ANY WARRANTY; without even the implied warranty of ! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! # GNU General Public License for more details. ! # You should have received a copy of the GNU General Public License ! # along with this program; if not, write to the Free Software ! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ! # 02111-1307, USA. ! # serial 3 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ --- 549,564 ---- rm -f confinc confmf ]) ! # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- ! # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005 ! # Free Software Foundation, Inc. ! # ! # This file is free software; the Free Software Foundation ! # gives unlimited permission to copy and/or distribute it, ! # with or without modifications, as long as this notice is preserved. ! # serial 4 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ *************** else *** 696,722 **** fi ]) # AM_PROG_MKDIR_P # --------------- # Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. ! ! # Copyright (C) 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 ! # the Free Software Foundation; either version 2, or (at your option) ! # any later version. ! ! # This program is distributed in the hope that it will be useful, ! # but WITHOUT ANY WARRANTY; without even the implied warranty of ! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! # GNU General Public License for more details. ! ! # You should have received a copy of the GNU General Public License ! # along with this program; if not, write to the Free Software ! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ! # 02111-1307, USA. ! # Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories # created by `make install' are always world readable, even if the # installer happens to have an overly restrictive umask (e.g. 077). --- 584,599 ---- fi ]) + # Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, + # with or without modifications, as long as this notice is preserved. + # AM_PROG_MKDIR_P # --------------- # Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. ! # # Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories # created by `make install' are always world readable, even if the # installer happens to have an overly restrictive umask (e.g. 077). *************** else *** 770,795 **** fi AC_SUBST([mkdir_p])]) ! # Helper functions for option handling. -*- Autoconf -*- ! ! # Copyright (C) 2001, 2002, 2003 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 ! # the Free Software Foundation; either version 2, or (at your option) ! # any later version. ! ! # This program is distributed in the hope that it will be useful, ! # but WITHOUT ANY WARRANTY; without even the implied warranty of ! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! # GNU General Public License for more details. ! # You should have received a copy of the GNU General Public License ! # along with this program; if not, write to the Free Software ! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ! # 02111-1307, USA. ! # serial 2 # _AM_MANGLE_OPTION(NAME) # ----------------------- --- 647,661 ---- fi AC_SUBST([mkdir_p])]) ! # Helper functions for option handling. -*- Autoconf -*- ! # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. ! # ! # This file is free software; the Free Software Foundation ! # gives unlimited permission to copy and/or distribute it, ! # with or without modifications, as long as this notice is preserved. ! # serial 3 # _AM_MANGLE_OPTION(NAME) # ----------------------- *************** AC_DEFUN([_AM_SET_OPTIONS], *** 814,835 **** AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) ! # Copyright (C) 2001, 2003 Free Software Foundation, Inc. -*- Autoconf -*- ! ! # 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 ! # the Free Software Foundation; either version 2, or (at your option) ! # any later version. ! ! # This program is distributed in the hope that it will be useful, ! # but WITHOUT ANY WARRANTY; without even the implied warranty of ! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! # GNU General Public License for more details. ! ! # You should have received a copy of the GNU General Public License ! # along with this program; if not, write to the Free Software ! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ! # 02111-1307, USA. # AM_RUN_LOG(COMMAND) # ------------------- --- 680,690 ---- AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) ! # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. ! # ! # This file is free software; the Free Software Foundation ! # gives unlimited permission to copy and/or distribute it, ! # with or without modifications, as long as this notice is preserved. # AM_RUN_LOG(COMMAND) # ------------------- *************** AC_DEFUN([AM_RUN_LOG], *** 842,869 **** echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD (exit $ac_status); }]) ! # ! # Check to make sure that the build environment is sane. ! # ! ! # Copyright (C) 1996, 1997, 2000, 2001, 2003 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 ! # the Free Software Foundation; either version 2, or (at your option) ! # any later version. ! ! # This program is distributed in the hope that it will be useful, ! # but WITHOUT ANY WARRANTY; without even the implied warranty of ! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! # GNU General Public License for more details. ! # You should have received a copy of the GNU General Public License ! # along with this program; if not, write to the Free Software ! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ! # 02111-1307, USA. ! # serial 3 # AM_SANITY_CHECK # --------------- --- 697,712 ---- echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD (exit $ac_status); }]) ! # Check to make sure that the build environment is sane. -*- Autoconf -*- ! # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 ! # Free Software Foundation, Inc. ! # ! # This file is free software; the Free Software Foundation ! # gives unlimited permission to copy and/or distribute it, ! # with or without modifications, as long as this notice is preserved. ! # serial 4 # AM_SANITY_CHECK # --------------- *************** Check your system clock]) *** 906,930 **** fi AC_MSG_RESULT(yes)]) ! # AM_PROG_INSTALL_STRIP ! ! # Copyright (C) 2001, 2003 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 ! # the Free Software Foundation; either version 2, or (at your option) ! # any later version. ! ! # This program is distributed in the hope that it will be useful, ! # but WITHOUT ANY WARRANTY; without even the implied warranty of ! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! # GNU General Public License for more details. ! ! # You should have received a copy of the GNU General Public License ! # along with this program; if not, write to the Free Software ! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ! # 02111-1307, USA. # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip --- 749,762 ---- fi AC_MSG_RESULT(yes)]) ! # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. ! # ! # This file is free software; the Free Software Foundation ! # gives unlimited permission to copy and/or distribute it, ! # with or without modifications, as long as this notice is preserved. + # AM_PROG_INSTALL_STRIP + # --------------------- # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip *************** AC_SUBST([INSTALL_STRIP_PROGRAM])]) *** 947,971 **** # Check how to create a tarball. -*- Autoconf -*- ! # Copyright (C) 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 ! # the Free Software Foundation; either version 2, or (at your option) ! # any later version. ! ! # This program is distributed in the hope that it will be useful, ! # but WITHOUT ANY WARRANTY; without even the implied warranty of ! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! # GNU General Public License for more details. ! ! # You should have received a copy of the GNU General Public License ! # along with this program; if not, write to the Free Software ! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ! # 02111-1307, USA. ! ! # serial 1 # _AM_PROG_TAR(FORMAT) # -------------------- --- 779,791 ---- # Check how to create a tarball. -*- Autoconf -*- ! # Copyright (C) 2004, 2005 Free Software Foundation, Inc. ! # ! # This file is free software; the Free Software Foundation ! # gives unlimited permission to copy and/or distribute it, ! # with or without modifications, as long as this notice is preserved. + # serial 2 # _AM_PROG_TAR(FORMAT) # -------------------- diff -Nrcpad gcc-4.1.1/libjava/classpath/configure gcc-4.1.2/libjava/classpath/configure *** gcc-4.1.1/libjava/classpath/configure Thu Mar 16 19:12:29 2006 --- gcc-4.1.2/libjava/classpath/configure Wed Jun 14 13:46:33 2006 *************** echo "${ECHO_T}$QT_LIBS" >&6 *** 11737,11743 **** fi if test "x$HAVE_QT4" = "xyes"; then ! QT_INCLUDE_DIR=$($PKG_CONFIG --variable=includedir QtGui) EXTRA_QT_INCLUDE_DIR="$QT_INCLUDE_DIR/Qt" as_ac_File=`echo "ac_cv_file_$QT_INCLUDE_DIR/QWidget" | $as_tr_sh` echo "$as_me:$LINENO: checking for $QT_INCLUDE_DIR/QWidget" >&5 --- 11737,11743 ---- fi if test "x$HAVE_QT4" = "xyes"; then ! QT_INCLUDE_DIR=`$PKG_CONFIG --variable=includedir QtGui` EXTRA_QT_INCLUDE_DIR="$QT_INCLUDE_DIR/Qt" as_ac_File=`echo "ac_cv_file_$QT_INCLUDE_DIR/QWidget" | $as_tr_sh` echo "$as_me:$LINENO: checking for $QT_INCLUDE_DIR/QWidget" >&5 *************** echo "$as_me: error: \"jay executable no *** 14483,14489 **** { (exit 1); exit 1; }; }; fi else ! JAY_DIR_PATH=$(dirname "${withval}") JAY="${withval}" fi --- 14483,14489 ---- { (exit 1); exit 1; }; }; fi else ! JAY_DIR_PATH=`dirname "${withval}"` JAY="${withval}" fi *************** echo "${ECHO_T}`eval echo '${'$as_ac_Fil *** 14509,14516 **** if test `eval echo '${'$as_ac_File'}'` = yes; then : else ! { { echo "$as_me:$LINENO: error: \"Expected skeleton file in $(dirname ${withval})\"" >&5 ! echo "$as_me: error: \"Expected skeleton file in $(dirname ${withval})\"" >&2;} { (exit 1); exit 1; }; } fi --- 14509,14516 ---- if test `eval echo '${'$as_ac_File'}'` = yes; then : else ! { { echo "$as_me:$LINENO: error: \"Expected skeleton file in \`dirname ${withval}\`\"" >&5 ! echo "$as_me: error: \"Expected skeleton file in \`dirname ${withval}\`\"" >&2;} { (exit 1); exit 1; }; } fi diff -Nrcpad gcc-4.1.1/libjava/classpath/configure.ac gcc-4.1.2/libjava/classpath/configure.ac *** gcc-4.1.1/libjava/classpath/configure.ac Thu Mar 16 19:12:29 2006 --- gcc-4.1.2/libjava/classpath/configure.ac Wed Jun 14 13:46:33 2006 *************** if test "x${COMPILE_JNI}" = xyes; then *** 374,380 **** if test "x$HAVE_QT4" = "xyes"; then dnl Check needed because in some cases the QtGui includedir dnl doesn't contain the subsystem dir. ! QT_INCLUDE_DIR=$($PKG_CONFIG --variable=includedir QtGui) EXTRA_QT_INCLUDE_DIR="$QT_INCLUDE_DIR/Qt" AC_CHECK_FILE([$QT_INCLUDE_DIR/QWidget], AC_MSG_NOTICE([No extra QT_INCLUDE_DIR needed]), --- 374,380 ---- if test "x$HAVE_QT4" = "xyes"; then dnl Check needed because in some cases the QtGui includedir dnl doesn't contain the subsystem dir. ! QT_INCLUDE_DIR=`$PKG_CONFIG --variable=includedir QtGui` EXTRA_QT_INCLUDE_DIR="$QT_INCLUDE_DIR/Qt" AC_CHECK_FILE([$QT_INCLUDE_DIR/QWidget], AC_MSG_NOTICE([No extra QT_INCLUDE_DIR needed]), diff -Nrcpad gcc-4.1.1/libjava/classpath/gnu/java/util/prefs/NodeReader.java gcc-4.1.2/libjava/classpath/gnu/java/util/prefs/NodeReader.java *** gcc-4.1.1/libjava/classpath/gnu/java/util/prefs/NodeReader.java Fri Sep 23 17:31:48 2005 --- gcc-4.1.2/libjava/classpath/gnu/java/util/prefs/NodeReader.java Fri Aug 18 17:36:28 2006 *************** public class NodeReader { *** 124,130 **** skipTill("name=\""); String name = readTill("\""); Preferences subnode = node.node(name); - System.out.println("Found subnode: " + subnode.absolutePath()); readMap(subnode); readNodes(subnode); skipTill(""); --- 124,129 ---- *************** public class NodeReader { *** 160,166 **** String key = readTill("\""); skipTill("value=\""); String value = readTill("\""); - System.out.println("Key: " + key + " Value: " + value); node.put(key, value); } } --- 159,164 ---- diff -Nrcpad gcc-4.1.1/libjava/classpath/gnu/java/util/prefs/NodeWriter.java gcc-4.1.2/libjava/classpath/gnu/java/util/prefs/NodeWriter.java *** gcc-4.1.1/libjava/classpath/gnu/java/util/prefs/NodeWriter.java Fri Sep 23 17:31:48 2005 --- gcc-4.1.2/libjava/classpath/gnu/java/util/prefs/NodeWriter.java Fri Aug 18 17:36:28 2006 *************** public class NodeWriter { *** 198,206 **** StringTokenizer st = new StringTokenizer(path); parents = st.countTokens(); - System.out.println("path: " + path); - System.out.println("parents: " + parents); - for (int i=0; i end - filepos) { len = (int) (end - filepos); --- 585,611 ---- return Integer.MAX_VALUE; return (int) amount; } ! public int read() throws IOException { ! int r = read(singleByte, 0, 1); ! if (r != 1) ! return r; ! return singleByte[0] & 0xff; } public int read(byte[] b, int off, int len) throws IOException { + if (end - filepos == 0) + { + if (len > 0 && addDummyByte) + { + addDummyByte = false; + b[0] = 0; + return 1; + } + } + if (len > end - filepos) { len = (int) (end - filepos); *************** public class ZipFile implements ZipConst *** 618,622 **** --- 631,640 ---- filepos += amount; return amount; } + + public void addDummyByte() + { + addDummyByte = true; + } } } diff -Nrcpad gcc-4.1.1/libjava/classpath/ltconfig gcc-4.1.2/libjava/classpath/ltconfig *** gcc-4.1.1/libjava/classpath/ltconfig Fri Sep 23 21:31:04 2005 --- gcc-4.1.2/libjava/classpath/ltconfig Tue Jul 4 20:30:34 2006 *************** old_postuninstall_cmds= *** 626,632 **** if test -n "$RANLIB"; then old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" ! old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" fi # Source the script associated with the $tagname tag configuration. --- 626,632 ---- if test -n "$RANLIB"; then old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" ! old_postinstall_cmds="\$old_postinstall_cmds~$RANLIB \$oldlib" fi # Source the script associated with the $tagname tag configuration. diff -Nrcpad gcc-4.1.1/libjava/classpath/m4/acinclude.m4 gcc-4.1.2/libjava/classpath/m4/acinclude.m4 *** gcc-4.1.1/libjava/classpath/m4/acinclude.m4 Tue Nov 15 23:20:01 2005 --- gcc-4.1.2/libjava/classpath/m4/acinclude.m4 Wed Jun 14 13:46:33 2006 *************** AC_DEFUN([REGEN_WITH_JAY], *** 389,401 **** AC_MSG_ERROR("jay executable not found"); fi else ! JAY_DIR_PATH=$(dirname "${withval}") JAY="${withval}" AC_SUBST(JAY) fi JAY_SKELETON="${JAY_DIR_PATH}/skeleton" AC_CHECK_FILE(${JAY_SKELETON}, AC_SUBST(JAY_SKELETON), ! AC_MSG_ERROR("Expected skeleton file in $(dirname ${withval})")) JAY_FOUND=yes ], [ --- 389,401 ---- AC_MSG_ERROR("jay executable not found"); fi else ! JAY_DIR_PATH=`dirname "${withval}"` JAY="${withval}" AC_SUBST(JAY) fi JAY_SKELETON="${JAY_DIR_PATH}/skeleton" AC_CHECK_FILE(${JAY_SKELETON}, AC_SUBST(JAY_SKELETON), ! AC_MSG_ERROR("Expected skeleton file in `dirname ${withval}`")) JAY_FOUND=yes ], [ diff -Nrcpad gcc-4.1.1/libjava/classpath/scripts/timezones.pl gcc-4.1.2/libjava/classpath/scripts/timezones.pl *** gcc-4.1.1/libjava/classpath/scripts/timezones.pl Fri Sep 23 21:31:04 2005 --- gcc-4.1.2/libjava/classpath/scripts/timezones.pl Mon Feb 12 16:19:05 2007 *************** foreach $file (@TIMEZONEFILES) { *** 213,218 **** --- 213,222 ---- # print STDERR "$file\n"; open INPUT, "$TIMEZONEDIR/$file" or die "Can't open $TIMEZONEDIR/$file"; my $in_time_zone = 0; + # As Zone can reference even Rule which is defined after the + # current line, parse the file in 2 passes. + + # First pass, parse just Rule lines: while () { $_ = $1 if /^([^\#]*)\#/; next if /^\s*$/; *************** foreach $file (@TIMEZONEFILES) { *** 239,244 **** --- 243,277 ---- } elsif ($entries[0] eq "Zone") { $in_time_zone = 1; shift @entries; + shift @entries; + } elsif (!(($entries[0] eq "Remove") || ($entries[0] eq "Link"))) { + die "Unknown command: $_"; + } + } + if ($in_time_zone) { + die "early end of Zone: $_" if ($entries[0] =~ /^[A-Za-z]+/); + if (@entries <= 3) { + $in_time_zone = 0; + } + } + } + close INPUT; + open INPUT, "$TIMEZONEDIR/$file" or die "Can't open $TIMEZONEDIR/$file"; + $in_time_zone = 0; + + # Second pass, parse all but Rule lines. + while () { + $_ = $1 if /^([^\#]*)\#/; + next if /^\s*$/; + my @entries = split; + # $, = ","; print "'$_' -> [",@entries,"]\n"; + if (!$in_time_zone) { + if ($entries[0] eq "Rule") { + # Do nothing, this was already handled in the + # first pass. + } elsif ($entries[0] eq "Zone") { + $in_time_zone = 1; + shift @entries; $timezonename = shift @entries; } elsif ($entries[0] eq "Remove") { my $found = 0; *************** foreach $file (@TIMEZONEFILES) { *** 295,301 **** my $savings = $rule->[2]; my $endrule = parseRule($rawoffset, $savings, $rule->[0]); ! my $startrule = parseRule($rawoffset, $savings, $rule->[1]); $rule = [ $endrule, $startrule, $savings ]; # print "start",@{$rule->[1]}, "end", @{$rule->[0]}, --- 328,334 ---- my $savings = $rule->[2]; my $endrule = parseRule($rawoffset, $savings, $rule->[0]); ! my $startrule = parseRule($rawoffset, 0, $rule->[1]); $rule = [ $endrule, $startrule, $savings ]; # print "start",@{$rule->[1]}, "end", @{$rule->[0]}, diff -Nrcpad gcc-4.1.1/libjava/configure.host gcc-4.1.2/libjava/configure.host *** gcc-4.1.1/libjava/configure.host Mon Jan 23 17:53:45 2006 --- gcc-4.1.2/libjava/configure.host Fri Jun 23 00:12:29 2006 *************** case "${host}" in *** 127,136 **** enable_hash_synchronization_default=yes IEEESPEC=-mieee ;; ! hppa-*) sysdeps_dir=pa libgcj_interpreter=yes ! enable_hash_synchronization_default=yes ;; powerpc64*-*) sysdeps_dir=powerpc --- 127,136 ---- enable_hash_synchronization_default=yes IEEESPEC=-mieee ;; ! hppa*-*) sysdeps_dir=pa libgcj_interpreter=yes ! enable_hash_synchronization_default=no ;; powerpc64*-*) sysdeps_dir=powerpc *************** EOF *** 260,265 **** --- 260,266 ---- slow_pthread_self= ;; *-mingw*) + libgcj_flags="${libgcj_flags} -fno-omit-frame-pointer" # FIXME: win32_exception_handler( ) in win32.cc does not do the # right stuff yet w.r.t. SEH. Live with the following for now. can_unwind_signal=no diff -Nrcpad gcc-4.1.1/libjava/gnu/gcj/runtime/natSharedLibLoader.cc gcc-4.1.2/libjava/gnu/gcj/runtime/natSharedLibLoader.cc *** gcc-4.1.1/libjava/gnu/gcj/runtime/natSharedLibLoader.cc Thu Apr 20 23:52:14 2006 --- gcc-4.1.2/libjava/gnu/gcj/runtime/natSharedLibLoader.cc Tue Jun 13 21:03:36 2006 *************** *** 1,6 **** // natSharedLibLoader.cc - Implementation of SharedLibHelper native methods. ! /* Copyright (C) 2001, 2003, 2004, 2005 Free Software Foundation This file is part of libgcj. --- 1,6 ---- // natSharedLibLoader.cc - Implementation of SharedLibHelper native methods. ! /* Copyright (C) 2001, 2003, 2004, 2005, 2006 Free Software Foundation This file is part of libgcj. *************** Libgcj License. Please consult the file *** 9,19 **** details. */ #include ! ! // If we're using the Boehm GC, then we need this include to override dlopen. ! #ifdef HAVE_BOEHM_GC ! #include ! #endif /* HAVE_BOEHM_GC */ #include #include --- 9,15 ---- details. */ #include ! #include #include #include *************** details. */ *** 24,29 **** --- 20,34 ---- #include #include + // If we're using the Boehm GC, then we need this include to override dlopen. + #ifdef HAVE_BOEHM_GC + // Set GC_DEBUG before including gc.h! + #ifdef LIBGCJ_GC_DEBUG + # define GC_DEBUG + #endif + #include + #endif /* HAVE_BOEHM_GC */ + #ifdef HAVE_DLOPEN #include diff -Nrcpad gcc-4.1.1/libjava/java/io/natFilePosix.cc gcc-4.1.2/libjava/java/io/natFilePosix.cc *** gcc-4.1.1/libjava/java/io/natFilePosix.cc Fri Sep 12 01:08:18 2003 --- gcc-4.1.2/libjava/java/io/natFilePosix.cc Fri Jul 14 18:25:32 2006 *************** java::io::File::performSetLastModified ( *** 330,336 **** tb.actime = time / 1000; tb.modtime = time / 1000; ! return ::utime (buf, &tb); #else return false; #endif --- 330,336 ---- tb.actime = time / 1000; tb.modtime = time / 1000; ! return (::utime (buf, &tb) == 0); #else return false; #endif diff -Nrcpad gcc-4.1.1/libjava/jni.cc gcc-4.1.2/libjava/jni.cc *** gcc-4.1.1/libjava/jni.cc Thu Jan 19 00:45:55 2006 --- gcc-4.1.2/libjava/jni.cc Tue Jun 27 15:42:22 2006 *************** _Jv_JNI_DeleteGlobalRef (JNIEnv *, jobje *** 248,253 **** --- 248,259 ---- { // This seems weird but I think it is correct. obj = unwrap (obj); + + // NULL is ok here -- the JNI specification doesn't say so, but this + // is a no-op. + if (! obj) + return; + unmark_for_gc (obj, global_ref_table); } *************** _Jv_JNI_DeleteLocalRef (JNIEnv *env, job *** 259,264 **** --- 265,275 ---- // This seems weird but I think it is correct. obj = unwrap (obj); + // NULL is ok here -- the JNI specification doesn't say so, but this + // is a no-op. + if (! obj) + return; + for (frame = env->locals; frame != NULL; frame = frame->next) { for (int i = 0; i < frame->size; ++i) diff -Nrcpad gcc-4.1.1/libjava/libltdl/ChangeLog gcc-4.1.2/libjava/libltdl/ChangeLog *** gcc-4.1.1/libjava/libltdl/ChangeLog Wed May 24 23:43:09 2006 --- gcc-4.1.2/libjava/libltdl/ChangeLog Wed Feb 14 05:13:05 2007 *************** *** 1,3 **** --- 1,7 ---- + 2007-02-13 Release Manager + + * GCC 4.1.2 released. + 2006-05-24 Release Manager * GCC 4.1.1 released. diff -Nrcpad gcc-4.1.1/libjava/stacktrace.cc gcc-4.1.2/libjava/stacktrace.cc *** gcc-4.1.1/libjava/stacktrace.cc Thu Mar 16 19:18:50 2006 --- gcc-4.1.2/libjava/stacktrace.cc Thu Jun 1 04:05:35 2006 *************** *** 1,6 **** // stacktrace.cc - Functions for unwinding & inspecting the call stack. ! /* Copyright (C) 2005 Free Software Foundation This file is part of libgcj. --- 1,6 ---- // stacktrace.cc - Functions for unwinding & inspecting the call stack. ! /* Copyright (C) 2005, 2006 Free Software Foundation This file is part of libgcj. *************** _Jv_StackTrace::UpdateNCodeMap () *** 55,77 **** jclass klass; while ((klass = _Jv_PopClass ())) ! { ! //printf ("got %s\n", klass->name->data); ! #ifdef INTERPRETER ! JvAssert (! _Jv_IsInterpretedClass (klass)); ! #endif ! for (int i=0; i < klass->method_count; i++) ! { ! _Jv_Method *method = &klass->methods[i]; ! void *ncode = method->ncode; ! // Add non-abstract methods to ncodeMap. ! if (ncode) ! { ! ncode = UNWRAP_FUNCTION_DESCRIPTOR (ncode); ! ncodeMap->put ((java::lang::Object *)ncode, klass); ! } ! } ! } } // Given a native frame, return the class which this code belongs --- 55,75 ---- jclass klass; while ((klass = _Jv_PopClass ())) ! if (!_Jv_IsInterpretedClass (klass)) ! { ! //printf ("got %s\n", klass->name->data); ! for (int i = 0; i < klass->method_count; i++) ! { ! _Jv_Method *method = &klass->methods[i]; ! void *ncode = method->ncode; ! // Add non-abstract methods to ncodeMap. ! if (ncode) ! { ! ncode = UNWRAP_FUNCTION_DESCRIPTOR (ncode); ! ncodeMap->put ((java::lang::Object *) ncode, klass); ! } ! } ! } } // Given a native frame, return the class which this code belongs *************** _Jv_StackTrace::FillInFrameInfo (_Jv_Sta *** 243,249 **** // Find method in class for (int j = 0; j < klass->method_count; j++) { ! if (klass->methods[j].ncode == frame->start_ip) { meth = &klass->methods[j]; break; --- 241,248 ---- // Find method in class for (int j = 0; j < klass->method_count; j++) { ! void *wncode = UNWRAP_FUNCTION_DESCRIPTOR (klass->methods[j].ncode); ! if (wncode == frame->start_ip) { meth = &klass->methods[j]; break; diff -Nrcpad gcc-4.1.1/libjava/testsuite/libjava.jni/PR28178.c gcc-4.1.2/libjava/testsuite/libjava.jni/PR28178.c *** gcc-4.1.1/libjava/testsuite/libjava.jni/PR28178.c Thu Jan 1 00:00:00 1970 --- gcc-4.1.2/libjava/testsuite/libjava.jni/PR28178.c Tue Jun 27 15:42:22 2006 *************** *** 0 **** --- 1,10 ---- + #include + + void + Java_PR28178_m (JNIEnv *env, jclass ignore) + { + (*env)->DeleteLocalRef(env, NULL); + (*env)->DeleteGlobalRef(env, NULL); + } + + diff -Nrcpad gcc-4.1.1/libjava/testsuite/libjava.jni/PR28178.java gcc-4.1.2/libjava/testsuite/libjava.jni/PR28178.java *** gcc-4.1.1/libjava/testsuite/libjava.jni/PR28178.java Thu Jan 1 00:00:00 1970 --- gcc-4.1.2/libjava/testsuite/libjava.jni/PR28178.java Tue Jun 27 15:42:22 2006 *************** *** 0 **** --- 1,15 ---- + // Regression test for PR 28178. + + public class PR28178 + { + static { + System.loadLibrary("PR28178"); + } + + public static native void m(); + + public static void main(String[] args) + { + m(); + } + } diff -Nrcpad gcc-4.1.1/zlib/ChangeLog gcc-4.1.2/zlib/ChangeLog *** gcc-4.1.1/zlib/ChangeLog Wed May 24 23:42:24 2006 --- gcc-4.1.2/zlib/ChangeLog Wed Feb 14 05:11:58 2007 *************** *** 1,3 **** --- 1,7 ---- + 2007-02-13 Release Manager + + * GCC 4.1.2 released. + 2006-05-24 Release Manager * GCC 4.1.1 released.