diff -Nrc3pad gcc-3.4.0/gcc/objc/objc-act.c gcc-3.4.1/gcc/objc/objc-act.c *** gcc-3.4.0/gcc/objc/objc-act.c 2004-01-18 01:16:40.000000000 +0000 --- gcc-3.4.1/gcc/objc/objc-act.c 2004-06-01 07:34:34.000000000 +0000 *************** is_ivar (tree decl_chain, tree ident) *** 6484,6498 **** int is_private (tree decl) { ! if (TREE_PRIVATE (decl) ! && ! is_ivar (CLASS_IVARS (implementation_template), DECL_NAME (decl))) ! { ! error ("instance variable `%s' is declared private", ! IDENTIFIER_POINTER (DECL_NAME (decl))); ! return 1; ! } ! else ! return 0; } /* We have an instance variable reference;, check to see if it is public. */ --- 6484,6492 ---- int is_private (tree decl) { ! return (TREE_PRIVATE (decl) ! && ! is_ivar (CLASS_IVARS (implementation_template), ! DECL_NAME (decl))); } /* We have an instance variable reference;, check to see if it is public. */ *************** is_public (tree expr, tree identifier) *** 6530,6536 **** == CATEGORY_IMPLEMENTATION_TYPE)) && (CLASS_NAME (objc_implementation_context) == OBJC_TYPE_NAME (basetype)))) ! return ! is_private (decl); /* The 2.95.2 compiler sometimes allowed C functions to access non-@public ivars. We will let this slide for now... */ --- 6524,6537 ---- == CATEGORY_IMPLEMENTATION_TYPE)) && (CLASS_NAME (objc_implementation_context) == OBJC_TYPE_NAME (basetype)))) ! { ! int private = is_private (decl); ! ! if (private) ! error ("instance variable `%s' is declared private", ! IDENTIFIER_POINTER (DECL_NAME (decl))); ! return !private; ! } /* The 2.95.2 compiler sometimes allowed C functions to access non-@public ivars. We will let this slide for now... */ *************** lookup_objc_ivar (tree id) *** 9081,9087 **** else if (objc_method_context && (decl = is_ivar (objc_ivar_chain, id))) { if (is_private (decl)) ! return error_mark_node; else return build_ivar_reference (id); } --- 9082,9088 ---- else if (objc_method_context && (decl = is_ivar (objc_ivar_chain, id))) { if (is_private (decl)) ! return 0; else return build_ivar_reference (id); } diff -Nrc3pad gcc-3.4.0/gcc/objc/objc-parse.c gcc-3.4.1/gcc/objc/objc-parse.c *** gcc-3.4.0/gcc/objc/objc-parse.c 2004-04-19 02:26:21.000000000 +0000 --- gcc-3.4.1/gcc/objc/objc-parse.c 2004-07-01 19:17:23.000000000 +0000 *************** static const short yyrline[] = *** 641,672 **** 1977, 1978, 1979, 1980, 1983, 1985, 1991, 1992, 1995, 1997, 1998, 1999, 2000, 2003, 2005, 2008, 2010, 2011, 2012, 2015, 2018, 2025, 2034, 2050, 2065, 2067, 2072, 2074, 2077, 2091, ! 2094, 2097, 2101, 2103, 2110, 2112, 2115, 2132, 2139, 2145, ! 2148, 2148, 2169, 2169, 2192, 2198, 2200, 2204, 2210, 2224, ! 2233, 2233, 2242, 2254, 2264, 2264, 2264, 2276, 2279, 2281, ! 2281, 2281, 2281, 2281, 2298, 2298, 2307, 2310, 2315, 2318, ! 2321, 2325, 2334, 2343, 2346, 2349, 2353, 2357, 2362, 2366, ! 2378, 2384, 2386, 2390, 2394, 2394, 2398, 2398, 2404, 2404, ! 2409, 2414, 2414, 2420, 2422, 2425, 2425, 2432, 2435, 2443, ! 2446, 2449, 2452, 2467, 2470, 2474, 2477, 2482, 2484, 2487, ! 2489, 2493, 2496, 2502, 2505, 2514, 2514, 2523, 2525, 2525, ! 2525, 2532, 2538, 2540, 2551, 2555, 2561, 2564, 2570, 2576, ! 2581, 2584, 2590, 2597, 2603, 2608, 2611, 2617, 2622, 2631, ! 2631, 2640, 2642, 2659, 2662, 2667, 2670, 2674, 2685, 2687, ! 2688, 2689, 2690, 2691, 2705, 2708, 2712, 2719, 2726, 2728, ! 2731, 2733, 2736, 2736, 2736, 2753, 2753, 2765, 2765, 2777, ! 2786, 2786, 2802, 2808, 2813, 2816, 2826, 2828, 2831, 2833, ! 2834, 2837, 2842, 2843, 2860, 2864, 2867, 2871, 2874, 2875, ! 2878, 2886, 2892, 2901, 2904, 2908, 2908, 2908, 2908, 2937, ! 2939, 2940, 2940, 2943, 2945, 2948, 2948, 2948, 2965, 2971, ! 2976, 2981, 2990, 2992, 2998, 3000, 3003, 3005, 3006, 3007, ! 3010, 3013, 3015, 3019, 3022, 3029, 3034, 3038, 3042, 3047, ! 3052, 3052, 3064, 3068, 3071, 3077, 3079, 3080, 3081, 3082, ! 3085, 3086, 3086, 3086, 3086, 3086, 3086, 3086, 3087, 3087, ! 3087, 3087, 3087, 3087, 3088, 3088, 3088, 3088, 3088, 3089, ! 3089, 3092, 3098, 3103, 3108, 3114, 3116, 3119, 3121, 3128, ! 3140, 3145, 3151, 3153, 3157, 3163, 3168, 3170, 3173, 3175, ! 3181, 3186, 3192, 3199, 3208 }; #endif --- 641,672 ---- 1977, 1978, 1979, 1980, 1983, 1985, 1991, 1992, 1995, 1997, 1998, 1999, 2000, 2003, 2005, 2008, 2010, 2011, 2012, 2015, 2018, 2025, 2034, 2050, 2065, 2067, 2072, 2074, 2077, 2091, ! 2094, 2097, 2101, 2103, 2110, 2112, 2115, 2133, 2140, 2146, ! 2149, 2149, 2170, 2170, 2193, 2199, 2201, 2205, 2211, 2225, ! 2234, 2234, 2243, 2255, 2265, 2265, 2265, 2277, 2280, 2282, ! 2282, 2282, 2282, 2282, 2299, 2299, 2308, 2311, 2316, 2319, ! 2322, 2326, 2335, 2344, 2347, 2350, 2354, 2358, 2363, 2367, ! 2379, 2385, 2387, 2391, 2395, 2395, 2399, 2399, 2405, 2405, ! 2410, 2415, 2415, 2421, 2423, 2426, 2426, 2433, 2436, 2444, ! 2447, 2450, 2453, 2468, 2471, 2475, 2478, 2483, 2485, 2488, ! 2490, 2494, 2497, 2503, 2506, 2515, 2515, 2524, 2526, 2526, ! 2526, 2533, 2539, 2541, 2552, 2556, 2562, 2565, 2571, 2577, ! 2582, 2585, 2591, 2598, 2604, 2609, 2612, 2618, 2623, 2632, ! 2632, 2641, 2643, 2660, 2663, 2668, 2671, 2675, 2686, 2688, ! 2689, 2690, 2691, 2692, 2706, 2709, 2713, 2720, 2727, 2729, ! 2732, 2734, 2737, 2737, 2737, 2754, 2754, 2766, 2766, 2778, ! 2787, 2787, 2803, 2809, 2814, 2817, 2827, 2829, 2832, 2834, ! 2835, 2838, 2843, 2844, 2861, 2865, 2868, 2872, 2875, 2876, ! 2879, 2887, 2893, 2902, 2905, 2909, 2909, 2909, 2909, 2938, ! 2940, 2941, 2941, 2944, 2946, 2949, 2949, 2949, 2966, 2972, ! 2977, 2982, 2991, 2993, 2999, 3001, 3004, 3006, 3007, 3008, ! 3011, 3014, 3016, 3020, 3023, 3030, 3035, 3039, 3043, 3048, ! 3053, 3053, 3065, 3069, 3072, 3078, 3080, 3081, 3082, 3083, ! 3086, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3088, 3088, ! 3088, 3088, 3088, 3088, 3089, 3089, 3089, 3089, 3089, 3090, ! 3090, 3093, 3099, 3104, 3109, 3115, 3117, 3120, 3122, 3129, ! 3141, 3146, 3152, 3154, 3158, 3164, 3169, 3171, 3174, 3176, ! 3182, 3187, 3193, 3200, 3209 }; #endif *************** case 476: *** 4716,4746 **** keep_next_level (); compstmt_count++; yyval.ttype = add_stmt (build_stmt (COMPOUND_STMT, last_tree)); ; break;} case 477: ! #line 2133 "objc/objc-parse.y" { RECHAIN_STMTS (yyvsp[-1].ttype, COMPOUND_BODY (yyvsp[-1].ttype)); last_expr_type = NULL_TREE; yyval.ttype = yyvsp[-1].ttype; ; break;} case 478: ! #line 2141 "objc/objc-parse.y" { c_finish_then (); ; break;} case 480: ! #line 2158 "objc/objc-parse.y" { yyval.ttype = c_begin_if_stmt (); ; break;} case 481: ! #line 2160 "objc/objc-parse.y" { c_expand_start_cond (c_common_truthvalue_conversion (yyvsp[-1].ttype), compstmt_count,yyvsp[-3].ttype); yyval.itype = stmt_count; if_stmt_locus = yyvsp[-6].location; ; break;} case 482: ! #line 2171 "objc/objc-parse.y" { stmt_count++; compstmt_count++; c_in_iteration_stmt++; --- 4716,4747 ---- keep_next_level (); compstmt_count++; yyval.ttype = add_stmt (build_stmt (COMPOUND_STMT, last_tree)); + last_expr_type = NULL_TREE; ; break;} case 477: ! #line 2134 "objc/objc-parse.y" { RECHAIN_STMTS (yyvsp[-1].ttype, COMPOUND_BODY (yyvsp[-1].ttype)); last_expr_type = NULL_TREE; yyval.ttype = yyvsp[-1].ttype; ; break;} case 478: ! #line 2142 "objc/objc-parse.y" { c_finish_then (); ; break;} case 480: ! #line 2159 "objc/objc-parse.y" { yyval.ttype = c_begin_if_stmt (); ; break;} case 481: ! #line 2161 "objc/objc-parse.y" { c_expand_start_cond (c_common_truthvalue_conversion (yyvsp[-1].ttype), compstmt_count,yyvsp[-3].ttype); yyval.itype = stmt_count; if_stmt_locus = yyvsp[-6].location; ; break;} case 482: ! #line 2172 "objc/objc-parse.y" { stmt_count++; compstmt_count++; c_in_iteration_stmt++; *************** case 482: *** 4754,4777 **** DO_COND (yyval.ttype) = error_mark_node; ; break;} case 483: ! #line 2183 "objc/objc-parse.y" { yyval.ttype = yyvsp[-2].ttype; RECHAIN_STMTS (yyval.ttype, DO_BODY (yyval.ttype)); c_in_iteration_stmt--; ; break;} case 484: ! #line 2193 "objc/objc-parse.y" { if (yychar == YYEMPTY) yychar = YYLEX; yyval.location = input_location; ; break;} case 487: ! #line 2206 "objc/objc-parse.y" { if (flag_isoc99) RECHAIN_STMTS (yyvsp[-2].ttype, COMPOUND_BODY (yyvsp[-2].ttype)); ; break;} case 488: ! #line 2212 "objc/objc-parse.y" { if (yyvsp[0].ttype) { STMT_LINENO (yyvsp[0].ttype) = yyvsp[-1].location.line; --- 4755,4778 ---- DO_COND (yyval.ttype) = error_mark_node; ; break;} case 483: ! #line 2184 "objc/objc-parse.y" { yyval.ttype = yyvsp[-2].ttype; RECHAIN_STMTS (yyval.ttype, DO_BODY (yyval.ttype)); c_in_iteration_stmt--; ; break;} case 484: ! #line 2194 "objc/objc-parse.y" { if (yychar == YYEMPTY) yychar = YYLEX; yyval.location = input_location; ; break;} case 487: ! #line 2207 "objc/objc-parse.y" { if (flag_isoc99) RECHAIN_STMTS (yyvsp[-2].ttype, COMPOUND_BODY (yyvsp[-2].ttype)); ; break;} case 488: ! #line 2213 "objc/objc-parse.y" { if (yyvsp[0].ttype) { STMT_LINENO (yyvsp[0].ttype) = yyvsp[-1].location.line; *************** case 488: *** 4784,4790 **** ; break;} case 489: ! #line 2226 "objc/objc-parse.y" { if (yyvsp[0].ttype) { STMT_LINENO (yyvsp[0].ttype) = yyvsp[-1].location.line; --- 4785,4791 ---- ; break;} case 489: ! #line 2227 "objc/objc-parse.y" { if (yyvsp[0].ttype) { STMT_LINENO (yyvsp[0].ttype) = yyvsp[-1].location.line; *************** case 489: *** 4792,4810 **** ; break;} case 490: ! #line 2235 "objc/objc-parse.y" { c_expand_start_else (); yyvsp[-1].itype = stmt_count; ; break;} case 491: ! #line 2238 "objc/objc-parse.y" { c_finish_else (); c_expand_end_cond (); if (extra_warnings && stmt_count == yyvsp[-3].itype) warning ("empty body in an else-statement"); ; break;} case 492: ! #line 2243 "objc/objc-parse.y" { c_expand_end_cond (); /* This warning is here instead of in simple_if, because we do not want a warning if an empty if is followed by an --- 4793,4811 ---- ; break;} case 490: ! #line 2236 "objc/objc-parse.y" { c_expand_start_else (); yyvsp[-1].itype = stmt_count; ; break;} case 491: ! #line 2239 "objc/objc-parse.y" { c_finish_else (); c_expand_end_cond (); if (extra_warnings && stmt_count == yyvsp[-3].itype) warning ("empty body in an else-statement"); ; break;} case 492: ! #line 2244 "objc/objc-parse.y" { c_expand_end_cond (); /* This warning is here instead of in simple_if, because we do not want a warning if an empty if is followed by an *************** case 492: *** 4815,4830 **** &if_stmt_locus); ; break;} case 493: ! #line 2255 "objc/objc-parse.y" { c_expand_end_cond (); ; break;} case 494: ! #line 2265 "objc/objc-parse.y" { stmt_count++; yyval.ttype = c_begin_while_stmt (); ; break;} case 495: ! #line 2268 "objc/objc-parse.y" { c_in_iteration_stmt++; yyvsp[-1].ttype = c_common_truthvalue_conversion (yyvsp[-1].ttype); c_finish_while_stmt_cond --- 4816,4831 ---- &if_stmt_locus); ; break;} case 493: ! #line 2256 "objc/objc-parse.y" { c_expand_end_cond (); ; break;} case 494: ! #line 2266 "objc/objc-parse.y" { stmt_count++; yyval.ttype = c_begin_while_stmt (); ; break;} case 495: ! #line 2269 "objc/objc-parse.y" { c_in_iteration_stmt++; yyvsp[-1].ttype = c_common_truthvalue_conversion (yyvsp[-1].ttype); c_finish_while_stmt_cond *************** case 495: *** 4832,4912 **** yyval.ttype = add_stmt (yyvsp[-3].ttype); ; break;} case 496: ! #line 2274 "objc/objc-parse.y" { c_in_iteration_stmt--; RECHAIN_STMTS (yyvsp[-1].ttype, WHILE_BODY (yyvsp[-1].ttype)); ; break;} case 497: ! #line 2278 "objc/objc-parse.y" { DO_COND (yyvsp[-4].ttype) = c_common_truthvalue_conversion (yyvsp[-2].ttype); ; break;} case 498: ! #line 2280 "objc/objc-parse.y" { ; break;} case 499: ! #line 2282 "objc/objc-parse.y" { yyval.ttype = build_stmt (FOR_STMT, NULL_TREE, NULL_TREE, NULL_TREE, NULL_TREE); add_stmt (yyval.ttype); ; break;} case 500: ! #line 2286 "objc/objc-parse.y" { stmt_count++; RECHAIN_STMTS (yyvsp[-2].ttype, FOR_INIT_STMT (yyvsp[-2].ttype)); ; break;} case 501: ! #line 2289 "objc/objc-parse.y" { if (yyvsp[-1].ttype) FOR_COND (yyvsp[-5].ttype) = c_common_truthvalue_conversion (yyvsp[-1].ttype); ; break;} case 502: ! #line 2293 "objc/objc-parse.y" { c_in_iteration_stmt++; FOR_EXPR (yyvsp[-8].ttype) = yyvsp[-1].ttype; ; break;} case 503: ! #line 2296 "objc/objc-parse.y" { RECHAIN_STMTS (yyvsp[-10].ttype, FOR_BODY (yyvsp[-10].ttype)); c_in_iteration_stmt--;; break;} case 504: ! #line 2299 "objc/objc-parse.y" { stmt_count++; yyval.ttype = c_start_case (yyvsp[-1].ttype); c_in_case_stmt++; ; break;} case 505: ! #line 2303 "objc/objc-parse.y" { c_finish_case (); c_in_case_stmt--; ; break;} case 506: ! #line 2309 "objc/objc-parse.y" { add_stmt (build_stmt (EXPR_STMT, yyvsp[-1].ttype)); ; break;} case 507: ! #line 2311 "objc/objc-parse.y" { check_for_loop_decls (); ; break;} case 508: ! #line 2317 "objc/objc-parse.y" { stmt_count++; yyval.ttype = yyvsp[0].ttype; ; break;} case 509: ! #line 2319 "objc/objc-parse.y" { stmt_count++; yyval.ttype = c_expand_expr_stmt (yyvsp[-1].ttype); ; break;} case 510: ! #line 2322 "objc/objc-parse.y" { if (flag_isoc99) RECHAIN_STMTS (yyvsp[-2].ttype, COMPOUND_BODY (yyvsp[-2].ttype)); yyval.ttype = NULL_TREE; ; break;} case 511: ! #line 2326 "objc/objc-parse.y" { stmt_count++; if (!(c_in_iteration_stmt || c_in_case_stmt)) { --- 4833,4913 ---- yyval.ttype = add_stmt (yyvsp[-3].ttype); ; break;} case 496: ! #line 2275 "objc/objc-parse.y" { c_in_iteration_stmt--; RECHAIN_STMTS (yyvsp[-1].ttype, WHILE_BODY (yyvsp[-1].ttype)); ; break;} case 497: ! #line 2279 "objc/objc-parse.y" { DO_COND (yyvsp[-4].ttype) = c_common_truthvalue_conversion (yyvsp[-2].ttype); ; break;} case 498: ! #line 2281 "objc/objc-parse.y" { ; break;} case 499: ! #line 2283 "objc/objc-parse.y" { yyval.ttype = build_stmt (FOR_STMT, NULL_TREE, NULL_TREE, NULL_TREE, NULL_TREE); add_stmt (yyval.ttype); ; break;} case 500: ! #line 2287 "objc/objc-parse.y" { stmt_count++; RECHAIN_STMTS (yyvsp[-2].ttype, FOR_INIT_STMT (yyvsp[-2].ttype)); ; break;} case 501: ! #line 2290 "objc/objc-parse.y" { if (yyvsp[-1].ttype) FOR_COND (yyvsp[-5].ttype) = c_common_truthvalue_conversion (yyvsp[-1].ttype); ; break;} case 502: ! #line 2294 "objc/objc-parse.y" { c_in_iteration_stmt++; FOR_EXPR (yyvsp[-8].ttype) = yyvsp[-1].ttype; ; break;} case 503: ! #line 2297 "objc/objc-parse.y" { RECHAIN_STMTS (yyvsp[-10].ttype, FOR_BODY (yyvsp[-10].ttype)); c_in_iteration_stmt--;; break;} case 504: ! #line 2300 "objc/objc-parse.y" { stmt_count++; yyval.ttype = c_start_case (yyvsp[-1].ttype); c_in_case_stmt++; ; break;} case 505: ! #line 2304 "objc/objc-parse.y" { c_finish_case (); c_in_case_stmt--; ; break;} case 506: ! #line 2310 "objc/objc-parse.y" { add_stmt (build_stmt (EXPR_STMT, yyvsp[-1].ttype)); ; break;} case 507: ! #line 2312 "objc/objc-parse.y" { check_for_loop_decls (); ; break;} case 508: ! #line 2318 "objc/objc-parse.y" { stmt_count++; yyval.ttype = yyvsp[0].ttype; ; break;} case 509: ! #line 2320 "objc/objc-parse.y" { stmt_count++; yyval.ttype = c_expand_expr_stmt (yyvsp[-1].ttype); ; break;} case 510: ! #line 2323 "objc/objc-parse.y" { if (flag_isoc99) RECHAIN_STMTS (yyvsp[-2].ttype, COMPOUND_BODY (yyvsp[-2].ttype)); yyval.ttype = NULL_TREE; ; break;} case 511: ! #line 2327 "objc/objc-parse.y" { stmt_count++; if (!(c_in_iteration_stmt || c_in_case_stmt)) { *************** case 511: *** 4917,4923 **** yyval.ttype = add_stmt (build_break_stmt ()); ; break;} case 512: ! #line 2335 "objc/objc-parse.y" { stmt_count++; if (!c_in_iteration_stmt) { --- 4918,4924 ---- yyval.ttype = add_stmt (build_break_stmt ()); ; break;} case 512: ! #line 2336 "objc/objc-parse.y" { stmt_count++; if (!c_in_iteration_stmt) { *************** case 512: *** 4928,4964 **** yyval.ttype = add_stmt (build_continue_stmt ()); ; break;} case 513: ! #line 2344 "objc/objc-parse.y" { stmt_count++; yyval.ttype = c_expand_return (NULL_TREE); ; break;} case 514: ! #line 2347 "objc/objc-parse.y" { stmt_count++; yyval.ttype = c_expand_return (yyvsp[-1].ttype); ; break;} case 515: ! #line 2350 "objc/objc-parse.y" { stmt_count++; yyval.ttype = simple_asm_stmt (yyvsp[-2].ttype); ; break;} case 516: ! #line 2354 "objc/objc-parse.y" { stmt_count++; yyval.ttype = build_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE); ; break;} case 517: ! #line 2359 "objc/objc-parse.y" { stmt_count++; yyval.ttype = build_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ; break;} case 518: ! #line 2364 "objc/objc-parse.y" { stmt_count++; yyval.ttype = build_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ; break;} case 519: ! #line 2367 "objc/objc-parse.y" { tree decl; stmt_count++; decl = lookup_label (yyvsp[-1].ttype); --- 4929,4965 ---- yyval.ttype = add_stmt (build_continue_stmt ()); ; break;} case 513: ! #line 2345 "objc/objc-parse.y" { stmt_count++; yyval.ttype = c_expand_return (NULL_TREE); ; break;} case 514: ! #line 2348 "objc/objc-parse.y" { stmt_count++; yyval.ttype = c_expand_return (yyvsp[-1].ttype); ; break;} case 515: ! #line 2351 "objc/objc-parse.y" { stmt_count++; yyval.ttype = simple_asm_stmt (yyvsp[-2].ttype); ; break;} case 516: ! #line 2355 "objc/objc-parse.y" { stmt_count++; yyval.ttype = build_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE); ; break;} case 517: ! #line 2360 "objc/objc-parse.y" { stmt_count++; yyval.ttype = build_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ; break;} case 518: ! #line 2365 "objc/objc-parse.y" { stmt_count++; yyval.ttype = build_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ; break;} case 519: ! #line 2368 "objc/objc-parse.y" { tree decl; stmt_count++; decl = lookup_label (yyvsp[-1].ttype); *************** case 519: *** 4972,4978 **** ; break;} case 520: ! #line 2379 "objc/objc-parse.y" { if (pedantic) pedwarn ("ISO C forbids `goto *expr;'"); stmt_count++; --- 4973,4979 ---- ; break;} case 520: ! #line 2380 "objc/objc-parse.y" { if (pedantic) pedwarn ("ISO C forbids `goto *expr;'"); stmt_count++; *************** case 520: *** 4980,5065 **** yyval.ttype = add_stmt (build_stmt (GOTO_STMT, yyvsp[-1].ttype)); ; break;} case 521: ! #line 2385 "objc/objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 522: ! #line 2387 "objc/objc-parse.y" { stmt_count++; yyval.ttype = objc_build_throw_stmt (yyvsp[-1].ttype); ; break;} case 523: ! #line 2391 "objc/objc-parse.y" { stmt_count++; yyval.ttype = objc_build_throw_stmt (NULL_TREE); ; break;} case 524: ! #line 2395 "objc/objc-parse.y" { objc_build_finally_prologue (); ; break;} case 525: ! #line 2397 "objc/objc-parse.y" { yyval.ttype = objc_build_try_catch_finally_stmt (yyvsp[-2].itype, yyvsp[0].itype); ; break;} case 526: ! #line 2399 "objc/objc-parse.y" { objc_build_synchronized_prologue (yyvsp[-1].ttype); ; break;} case 527: ! #line 2401 "objc/objc-parse.y" { yyval.ttype = objc_build_synchronized_epilogue (); ; break;} case 528: ! #line 2406 "objc/objc-parse.y" { objc_build_try_epilogue (1); ; break;} case 529: ! #line 2408 "objc/objc-parse.y" { objc_build_catch_epilogue (); yyval.itype = 1; ; break;} case 530: ! #line 2410 "objc/objc-parse.y" { objc_build_try_epilogue (0); yyval.itype = 0; ; break;} case 531: ! #line 2416 "objc/objc-parse.y" { objc_build_try_prologue (); ; break;} case 535: ! #line 2427 "objc/objc-parse.y" { objc_build_catch_stmt (yyvsp[-1].ttype); ; break;} case 536: ! #line 2429 "objc/objc-parse.y" { stmt_count++; ; break;} case 537: ! #line 2434 "objc/objc-parse.y" { yyval.itype = 1; ; break;} case 538: ! #line 2436 "objc/objc-parse.y" { yyval.itype = 0; ; break;} case 539: ! #line 2444 "objc/objc-parse.y" { stmt_count++; yyval.ttype = do_case (yyvsp[-1].ttype, NULL_TREE); ; break;} case 540: ! #line 2447 "objc/objc-parse.y" { stmt_count++; yyval.ttype = do_case (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 541: ! #line 2450 "objc/objc-parse.y" { stmt_count++; yyval.ttype = do_case (NULL_TREE, NULL_TREE); ; break;} case 542: ! #line 2453 "objc/objc-parse.y" { tree label = define_label (yyvsp[-2].location, yyvsp[-3].ttype); stmt_count++; if (label) --- 4981,5066 ---- yyval.ttype = add_stmt (build_stmt (GOTO_STMT, yyvsp[-1].ttype)); ; break;} case 521: ! #line 2386 "objc/objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 522: ! #line 2388 "objc/objc-parse.y" { stmt_count++; yyval.ttype = objc_build_throw_stmt (yyvsp[-1].ttype); ; break;} case 523: ! #line 2392 "objc/objc-parse.y" { stmt_count++; yyval.ttype = objc_build_throw_stmt (NULL_TREE); ; break;} case 524: ! #line 2396 "objc/objc-parse.y" { objc_build_finally_prologue (); ; break;} case 525: ! #line 2398 "objc/objc-parse.y" { yyval.ttype = objc_build_try_catch_finally_stmt (yyvsp[-2].itype, yyvsp[0].itype); ; break;} case 526: ! #line 2400 "objc/objc-parse.y" { objc_build_synchronized_prologue (yyvsp[-1].ttype); ; break;} case 527: ! #line 2402 "objc/objc-parse.y" { yyval.ttype = objc_build_synchronized_epilogue (); ; break;} case 528: ! #line 2407 "objc/objc-parse.y" { objc_build_try_epilogue (1); ; break;} case 529: ! #line 2409 "objc/objc-parse.y" { objc_build_catch_epilogue (); yyval.itype = 1; ; break;} case 530: ! #line 2411 "objc/objc-parse.y" { objc_build_try_epilogue (0); yyval.itype = 0; ; break;} case 531: ! #line 2417 "objc/objc-parse.y" { objc_build_try_prologue (); ; break;} case 535: ! #line 2428 "objc/objc-parse.y" { objc_build_catch_stmt (yyvsp[-1].ttype); ; break;} case 536: ! #line 2430 "objc/objc-parse.y" { stmt_count++; ; break;} case 537: ! #line 2435 "objc/objc-parse.y" { yyval.itype = 1; ; break;} case 538: ! #line 2437 "objc/objc-parse.y" { yyval.itype = 0; ; break;} case 539: ! #line 2445 "objc/objc-parse.y" { stmt_count++; yyval.ttype = do_case (yyvsp[-1].ttype, NULL_TREE); ; break;} case 540: ! #line 2448 "objc/objc-parse.y" { stmt_count++; yyval.ttype = do_case (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 541: ! #line 2451 "objc/objc-parse.y" { stmt_count++; yyval.ttype = do_case (NULL_TREE, NULL_TREE); ; break;} case 542: ! #line 2454 "objc/objc-parse.y" { tree label = define_label (yyvsp[-2].location, yyvsp[-3].ttype); stmt_count++; if (label) *************** case 542: *** 5072,5147 **** ; break;} case 543: ! #line 2469 "objc/objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 544: ! #line 2471 "objc/objc-parse.y" { ; break;} case 545: ! #line 2476 "objc/objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 547: ! #line 2483 "objc/objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 550: ! #line 2490 "objc/objc-parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 551: ! #line 2495 "objc/objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (NULL_TREE, yyvsp[-3].ttype), yyvsp[-1].ttype); ; break;} case 552: ! #line 2497 "objc/objc-parse.y" { yyvsp[-5].ttype = build_string (IDENTIFIER_LENGTH (yyvsp[-5].ttype), IDENTIFIER_POINTER (yyvsp[-5].ttype)); yyval.ttype = build_tree_list (build_tree_list (yyvsp[-5].ttype, yyvsp[-3].ttype), yyvsp[-1].ttype); ; break;} case 553: ! #line 2504 "objc/objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ; break;} case 554: ! #line 2506 "objc/objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype); ; break;} case 555: ! #line 2516 "objc/objc-parse.y" { pushlevel (0); declare_parm_level (); ; break;} case 556: ! #line 2519 "objc/objc-parse.y" { yyval.ttype = yyvsp[0].ttype; poplevel (0, 0, 0); ; break;} case 558: ! #line 2526 "objc/objc-parse.y" { mark_forward_parm_decls (); ; break;} case 559: ! #line 2528 "objc/objc-parse.y" { /* Dummy action so attributes are in known place on parser stack. */ ; break;} case 560: ! #line 2531 "objc/objc-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 561: ! #line 2533 "objc/objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ; break;} case 562: ! #line 2539 "objc/objc-parse.y" { yyval.ttype = get_parm_info (0); ; break;} case 563: ! #line 2541 "objc/objc-parse.y" { yyval.ttype = get_parm_info (0); /* Gcc used to allow this as an extension. However, it does not work for all targets, and thus has been disabled. --- 5073,5148 ---- ; break;} case 543: ! #line 2470 "objc/objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 544: ! #line 2472 "objc/objc-parse.y" { ; break;} case 545: ! #line 2477 "objc/objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 547: ! #line 2484 "objc/objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 550: ! #line 2491 "objc/objc-parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 551: ! #line 2496 "objc/objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (NULL_TREE, yyvsp[-3].ttype), yyvsp[-1].ttype); ; break;} case 552: ! #line 2498 "objc/objc-parse.y" { yyvsp[-5].ttype = build_string (IDENTIFIER_LENGTH (yyvsp[-5].ttype), IDENTIFIER_POINTER (yyvsp[-5].ttype)); yyval.ttype = build_tree_list (build_tree_list (yyvsp[-5].ttype, yyvsp[-3].ttype), yyvsp[-1].ttype); ; break;} case 553: ! #line 2505 "objc/objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ; break;} case 554: ! #line 2507 "objc/objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype); ; break;} case 555: ! #line 2517 "objc/objc-parse.y" { pushlevel (0); declare_parm_level (); ; break;} case 556: ! #line 2520 "objc/objc-parse.y" { yyval.ttype = yyvsp[0].ttype; poplevel (0, 0, 0); ; break;} case 558: ! #line 2527 "objc/objc-parse.y" { mark_forward_parm_decls (); ; break;} case 559: ! #line 2529 "objc/objc-parse.y" { /* Dummy action so attributes are in known place on parser stack. */ ; break;} case 560: ! #line 2532 "objc/objc-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 561: ! #line 2534 "objc/objc-parse.y" { yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ; break;} case 562: ! #line 2540 "objc/objc-parse.y" { yyval.ttype = get_parm_info (0); ; break;} case 563: ! #line 2542 "objc/objc-parse.y" { yyval.ttype = get_parm_info (0); /* Gcc used to allow this as an extension. However, it does not work for all targets, and thus has been disabled. *************** case 563: *** 5154,5257 **** ; break;} case 564: ! #line 2552 "objc/objc-parse.y" { yyval.ttype = get_parm_info (1); parsing_iso_function_signature = true; ; break;} case 565: ! #line 2556 "objc/objc-parse.y" { yyval.ttype = get_parm_info (0); parsing_iso_function_signature = true; ; break;} case 566: ! #line 2563 "objc/objc-parse.y" { push_parm_decl (yyvsp[0].ttype); ; break;} case 567: ! #line 2565 "objc/objc-parse.y" { push_parm_decl (yyvsp[0].ttype); ; break;} case 568: ! #line 2572 "objc/objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), chainon (yyvsp[0].ttype, all_prefix_attributes)); POP_DECLSPEC_STACK; ; break;} case 569: ! #line 2577 "objc/objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), chainon (yyvsp[0].ttype, all_prefix_attributes)); POP_DECLSPEC_STACK; ; break;} case 570: ! #line 2582 "objc/objc-parse.y" { yyval.ttype = yyvsp[0].ttype; POP_DECLSPEC_STACK; ; break;} case 571: ! #line 2585 "objc/objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), chainon (yyvsp[0].ttype, all_prefix_attributes)); POP_DECLSPEC_STACK; ; break;} case 572: ! #line 2591 "objc/objc-parse.y" { yyval.ttype = yyvsp[0].ttype; POP_DECLSPEC_STACK; ; break;} case 573: ! #line 2599 "objc/objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), chainon (yyvsp[0].ttype, all_prefix_attributes)); POP_DECLSPEC_STACK; ; break;} case 574: ! #line 2604 "objc/objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), chainon (yyvsp[0].ttype, all_prefix_attributes)); POP_DECLSPEC_STACK; ; break;} case 575: ! #line 2609 "objc/objc-parse.y" { yyval.ttype = yyvsp[0].ttype; POP_DECLSPEC_STACK; ; break;} case 576: ! #line 2612 "objc/objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), chainon (yyvsp[0].ttype, all_prefix_attributes)); POP_DECLSPEC_STACK; ; break;} case 577: ! #line 2618 "objc/objc-parse.y" { yyval.ttype = yyvsp[0].ttype; POP_DECLSPEC_STACK; ; break;} case 578: ! #line 2624 "objc/objc-parse.y" { prefix_attributes = chainon (prefix_attributes, yyvsp[-3].ttype); all_prefix_attributes = prefix_attributes; ; break;} case 579: ! #line 2633 "objc/objc-parse.y" { pushlevel (0); declare_parm_level (); ; break;} case 580: ! #line 2636 "objc/objc-parse.y" { yyval.ttype = yyvsp[0].ttype; poplevel (0, 0, 0); ; break;} case 582: ! #line 2643 "objc/objc-parse.y" { tree t; for (t = yyvsp[-1].ttype; t; t = TREE_CHAIN (t)) if (TREE_VALUE (t) == NULL_TREE) --- 5155,5258 ---- ; break;} case 564: ! #line 2553 "objc/objc-parse.y" { yyval.ttype = get_parm_info (1); parsing_iso_function_signature = true; ; break;} case 565: ! #line 2557 "objc/objc-parse.y" { yyval.ttype = get_parm_info (0); parsing_iso_function_signature = true; ; break;} case 566: ! #line 2564 "objc/objc-parse.y" { push_parm_decl (yyvsp[0].ttype); ; break;} case 567: ! #line 2566 "objc/objc-parse.y" { push_parm_decl (yyvsp[0].ttype); ; break;} case 568: ! #line 2573 "objc/objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), chainon (yyvsp[0].ttype, all_prefix_attributes)); POP_DECLSPEC_STACK; ; break;} case 569: ! #line 2578 "objc/objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), chainon (yyvsp[0].ttype, all_prefix_attributes)); POP_DECLSPEC_STACK; ; break;} case 570: ! #line 2583 "objc/objc-parse.y" { yyval.ttype = yyvsp[0].ttype; POP_DECLSPEC_STACK; ; break;} case 571: ! #line 2586 "objc/objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), chainon (yyvsp[0].ttype, all_prefix_attributes)); POP_DECLSPEC_STACK; ; break;} case 572: ! #line 2592 "objc/objc-parse.y" { yyval.ttype = yyvsp[0].ttype; POP_DECLSPEC_STACK; ; break;} case 573: ! #line 2600 "objc/objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), chainon (yyvsp[0].ttype, all_prefix_attributes)); POP_DECLSPEC_STACK; ; break;} case 574: ! #line 2605 "objc/objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), chainon (yyvsp[0].ttype, all_prefix_attributes)); POP_DECLSPEC_STACK; ; break;} case 575: ! #line 2610 "objc/objc-parse.y" { yyval.ttype = yyvsp[0].ttype; POP_DECLSPEC_STACK; ; break;} case 576: ! #line 2613 "objc/objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), chainon (yyvsp[0].ttype, all_prefix_attributes)); POP_DECLSPEC_STACK; ; break;} case 577: ! #line 2619 "objc/objc-parse.y" { yyval.ttype = yyvsp[0].ttype; POP_DECLSPEC_STACK; ; break;} case 578: ! #line 2625 "objc/objc-parse.y" { prefix_attributes = chainon (prefix_attributes, yyvsp[-3].ttype); all_prefix_attributes = prefix_attributes; ; break;} case 579: ! #line 2634 "objc/objc-parse.y" { pushlevel (0); declare_parm_level (); ; break;} case 580: ! #line 2637 "objc/objc-parse.y" { yyval.ttype = yyvsp[0].ttype; poplevel (0, 0, 0); ; break;} case 582: ! #line 2644 "objc/objc-parse.y" { tree t; for (t = yyvsp[-1].ttype; t; t = TREE_CHAIN (t)) if (TREE_VALUE (t) == NULL_TREE) *************** case 582: *** 5267,5289 **** ; break;} case 583: ! #line 2661 "objc/objc-parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} case 584: ! #line 2663 "objc/objc-parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} case 585: ! #line 2669 "objc/objc-parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} case 586: ! #line 2671 "objc/objc-parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} case 587: ! #line 2676 "objc/objc-parse.y" { yyval.itype = SAVE_EXT_FLAGS(); pedantic = 0; warn_pointer_arith = 0; --- 5268,5290 ---- ; break;} case 583: ! #line 2662 "objc/objc-parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} case 584: ! #line 2664 "objc/objc-parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} case 585: ! #line 2670 "objc/objc-parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} case 586: ! #line 2672 "objc/objc-parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} case 587: ! #line 2677 "objc/objc-parse.y" { yyval.itype = SAVE_EXT_FLAGS(); pedantic = 0; warn_pointer_arith = 0; *************** case 587: *** 5291,5297 **** flag_iso = 0; ; break;} case 593: ! #line 2692 "objc/objc-parse.y" { if (objc_implementation_context) { --- 5292,5298 ---- flag_iso = 0; ; break;} case 593: ! #line 2693 "objc/objc-parse.y" { if (objc_implementation_context) { *************** case 593: *** 5304,5338 **** ; break;} case 594: ! #line 2707 "objc/objc-parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} case 595: ! #line 2709 "objc/objc-parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} case 596: ! #line 2714 "objc/objc-parse.y" { objc_declare_class (yyvsp[-1].ttype); ; break;} case 597: ! #line 2721 "objc/objc-parse.y" { objc_declare_alias (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} case 598: ! #line 2727 "objc/objc-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 599: ! #line 2728 "objc/objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 602: ! #line 2738 "objc/objc-parse.y" { objc_interface_context = objc_ivar_context = start_class (CLASS_INTERFACE_TYPE, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); --- 5305,5339 ---- ; break;} case 594: ! #line 2708 "objc/objc-parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} case 595: ! #line 2710 "objc/objc-parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} case 596: ! #line 2715 "objc/objc-parse.y" { objc_declare_class (yyvsp[-1].ttype); ; break;} case 597: ! #line 2722 "objc/objc-parse.y" { objc_declare_alias (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} case 598: ! #line 2728 "objc/objc-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 599: ! #line 2729 "objc/objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 602: ! #line 2739 "objc/objc-parse.y" { objc_interface_context = objc_ivar_context = start_class (CLASS_INTERFACE_TYPE, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); *************** case 602: *** 5340,5359 **** ; break;} case 603: ! #line 2744 "objc/objc-parse.y" { continue_class (objc_interface_context); ; break;} case 604: ! #line 2748 "objc/objc-parse.y" { finish_class (objc_interface_context); objc_interface_context = NULL_TREE; ; break;} case 605: ! #line 2754 "objc/objc-parse.y" { objc_implementation_context = objc_ivar_context = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE); --- 5341,5360 ---- ; break;} case 603: ! #line 2745 "objc/objc-parse.y" { continue_class (objc_interface_context); ; break;} case 604: ! #line 2749 "objc/objc-parse.y" { finish_class (objc_interface_context); objc_interface_context = NULL_TREE; ; break;} case 605: ! #line 2755 "objc/objc-parse.y" { objc_implementation_context = objc_ivar_context = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE); *************** case 605: *** 5361,5374 **** ; break;} case 606: ! #line 2760 "objc/objc-parse.y" { objc_ivar_chain = continue_class (objc_implementation_context); ; break;} case 607: ! #line 2766 "objc/objc-parse.y" { objc_interface_context = start_class (CATEGORY_INTERFACE_TYPE, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); --- 5362,5375 ---- ; break;} case 606: ! #line 2761 "objc/objc-parse.y" { objc_ivar_chain = continue_class (objc_implementation_context); ; break;} case 607: ! #line 2767 "objc/objc-parse.y" { objc_interface_context = start_class (CATEGORY_INTERFACE_TYPE, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); *************** case 607: *** 5376,5389 **** ; break;} case 608: ! #line 2772 "objc/objc-parse.y" { finish_class (objc_interface_context); objc_interface_context = NULL_TREE; ; break;} case 609: ! #line 2778 "objc/objc-parse.y" { objc_implementation_context = start_class (CATEGORY_IMPLEMENTATION_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE); --- 5377,5390 ---- ; break;} case 608: ! #line 2773 "objc/objc-parse.y" { finish_class (objc_interface_context); objc_interface_context = NULL_TREE; ; break;} case 609: ! #line 2779 "objc/objc-parse.y" { objc_implementation_context = start_class (CATEGORY_IMPLEMENTATION_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE); *************** case 609: *** 5392,5398 **** ; break;} case 610: ! #line 2788 "objc/objc-parse.y" { objc_pq_context = 1; objc_interface_context --- 5393,5399 ---- ; break;} case 610: ! #line 2789 "objc/objc-parse.y" { objc_pq_context = 1; objc_interface_context *************** case 610: *** 5400,5406 **** ; break;} case 611: ! #line 2794 "objc/objc-parse.y" { objc_pq_context = 0; finish_protocol(objc_interface_context); --- 5401,5407 ---- ; break;} case 611: ! #line 2795 "objc/objc-parse.y" { objc_pq_context = 0; finish_protocol(objc_interface_context); *************** case 611: *** 5408,5426 **** ; break;} case 612: ! #line 2803 "objc/objc-parse.y" { objc_declare_protocols (yyvsp[-1].ttype); ; break;} case 613: ! #line 2810 "objc/objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 615: ! #line 2818 "objc/objc-parse.y" { if (yyvsp[-2].code == LT_EXPR && yyvsp[0].code == GT_EXPR) yyval.ttype = yyvsp[-1].ttype; --- 5409,5427 ---- ; break;} case 612: ! #line 2804 "objc/objc-parse.y" { objc_declare_protocols (yyvsp[-1].ttype); ; break;} case 613: ! #line 2811 "objc/objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 615: ! #line 2819 "objc/objc-parse.y" { if (yyvsp[-2].code == LT_EXPR && yyvsp[0].code == GT_EXPR) yyval.ttype = yyvsp[-1].ttype; *************** case 615: *** 5429,5478 **** ; break;} case 618: ! #line 2832 "objc/objc-parse.y" { objc_public_flag = 2; ; break;} case 619: ! #line 2833 "objc/objc-parse.y" { objc_public_flag = 0; ; break;} case 620: ! #line 2834 "objc/objc-parse.y" { objc_public_flag = 1; ; break;} case 621: ! #line 2839 "objc/objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 623: ! #line 2844 "objc/objc-parse.y" { if (pedantic) pedwarn ("extra semicolon in struct or union specified"); ; break;} case 624: ! #line 2862 "objc/objc-parse.y" { yyval.ttype = yyvsp[0].ttype; POP_DECLSPEC_STACK; ; break;} case 625: ! #line 2865 "objc/objc-parse.y" { yyval.ttype = yyvsp[0].ttype; POP_DECLSPEC_STACK; ; break;} case 626: ! #line 2868 "objc/objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 627: ! #line 2873 "objc/objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 630: ! #line 2880 "objc/objc-parse.y" { yyval.ttype = add_instance_variable (objc_ivar_context, objc_public_flag, --- 5430,5479 ---- ; break;} case 618: ! #line 2833 "objc/objc-parse.y" { objc_public_flag = 2; ; break;} case 619: ! #line 2834 "objc/objc-parse.y" { objc_public_flag = 0; ; break;} case 620: ! #line 2835 "objc/objc-parse.y" { objc_public_flag = 1; ; break;} case 621: ! #line 2840 "objc/objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 623: ! #line 2845 "objc/objc-parse.y" { if (pedantic) pedwarn ("extra semicolon in struct or union specified"); ; break;} case 624: ! #line 2863 "objc/objc-parse.y" { yyval.ttype = yyvsp[0].ttype; POP_DECLSPEC_STACK; ; break;} case 625: ! #line 2866 "objc/objc-parse.y" { yyval.ttype = yyvsp[0].ttype; POP_DECLSPEC_STACK; ; break;} case 626: ! #line 2869 "objc/objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 627: ! #line 2874 "objc/objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 630: ! #line 2881 "objc/objc-parse.y" { yyval.ttype = add_instance_variable (objc_ivar_context, objc_public_flag, *************** case 630: *** 5481,5487 **** ; break;} case 631: ! #line 2887 "objc/objc-parse.y" { yyval.ttype = add_instance_variable (objc_ivar_context, objc_public_flag, --- 5482,5488 ---- ; break;} case 631: ! #line 2888 "objc/objc-parse.y" { yyval.ttype = add_instance_variable (objc_ivar_context, objc_public_flag, *************** case 631: *** 5489,5495 **** ; break;} case 632: ! #line 2893 "objc/objc-parse.y" { yyval.ttype = add_instance_variable (objc_ivar_context, objc_public_flag, --- 5490,5496 ---- ; break;} case 632: ! #line 2894 "objc/objc-parse.y" { yyval.ttype = add_instance_variable (objc_ivar_context, objc_public_flag, *************** case 632: *** 5498,5512 **** ; break;} case 633: ! #line 2903 "objc/objc-parse.y" { objc_inherit_code = CLASS_METHOD_DECL; ; break;} case 634: ! #line 2905 "objc/objc-parse.y" { objc_inherit_code = INSTANCE_METHOD_DECL; ; break;} case 635: ! #line 2910 "objc/objc-parse.y" { objc_pq_context = 1; if (!objc_implementation_context) --- 5499,5513 ---- ; break;} case 633: ! #line 2904 "objc/objc-parse.y" { objc_inherit_code = CLASS_METHOD_DECL; ; break;} case 634: ! #line 2906 "objc/objc-parse.y" { objc_inherit_code = INSTANCE_METHOD_DECL; ; break;} case 635: ! #line 2911 "objc/objc-parse.y" { objc_pq_context = 1; if (!objc_implementation_context) *************** case 635: *** 5514,5520 **** ; break;} case 636: ! #line 2916 "objc/objc-parse.y" { objc_pq_context = 0; objc_add_method (objc_implementation_context, --- 5515,5521 ---- ; break;} case 636: ! #line 2917 "objc/objc-parse.y" { objc_pq_context = 0; objc_add_method (objc_implementation_context, *************** case 636: *** 5524,5553 **** ; break;} case 637: ! #line 2924 "objc/objc-parse.y" { continue_method_def (); ; break;} case 638: ! #line 2928 "objc/objc-parse.y" { finish_method_def (); ; break;} case 641: ! #line 2940 "objc/objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 645: ! #line 2950 "objc/objc-parse.y" { /* Remember protocol qualifiers in prototypes. */ objc_pq_context = 1; ; break;} case 646: ! #line 2955 "objc/objc-parse.y" { /* Forget protocol qualifiers here. */ objc_pq_context = 0; --- 5525,5554 ---- ; break;} case 637: ! #line 2925 "objc/objc-parse.y" { continue_method_def (); ; break;} case 638: ! #line 2929 "objc/objc-parse.y" { finish_method_def (); ; break;} case 641: ! #line 2941 "objc/objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 645: ! #line 2951 "objc/objc-parse.y" { /* Remember protocol qualifiers in prototypes. */ objc_pq_context = 1; ; break;} case 646: ! #line 2956 "objc/objc-parse.y" { /* Forget protocol qualifiers here. */ objc_pq_context = 0; *************** case 646: *** 5557,5642 **** ; break;} case 648: ! #line 2967 "objc/objc-parse.y" { yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} case 649: ! #line 2972 "objc/objc-parse.y" { yyval.ttype = build_method_decl (objc_inherit_code, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ; break;} case 650: ! #line 2977 "objc/objc-parse.y" { yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 651: ! #line 2982 "objc/objc-parse.y" { yyval.ttype = build_method_decl (objc_inherit_code, NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 660: ! #line 3012 "objc/objc-parse.y" { POP_DECLSPEC_STACK; ; break;} case 661: ! #line 3014 "objc/objc-parse.y" { shadow_tag (yyvsp[-1].ttype); ; break;} case 662: ! #line 3016 "objc/objc-parse.y" { pedwarn ("empty declaration"); ; break;} case 663: ! #line 3021 "objc/objc-parse.y" { push_parm_decl (yyvsp[0].ttype); ; break;} case 664: ! #line 3023 "objc/objc-parse.y" { push_parm_decl (yyvsp[0].ttype); ; break;} case 665: ! #line 3031 "objc/objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), chainon (yyvsp[0].ttype, all_prefix_attributes)); ; break;} case 666: ! #line 3035 "objc/objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), chainon (yyvsp[0].ttype, all_prefix_attributes)); ; break;} case 667: ! #line 3039 "objc/objc-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 668: ! #line 3044 "objc/objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 669: ! #line 3048 "objc/objc-parse.y" { /* oh what a kludge! */ yyval.ttype = objc_ellipsis_node; ; break;} case 670: ! #line 3053 "objc/objc-parse.y" { pushlevel (0); ; break;} case 671: ! #line 3057 "objc/objc-parse.y" { /* returns a tree list node generated by get_parm_info */ yyval.ttype = yyvsp[0].ttype; --- 5558,5643 ---- ; break;} case 648: ! #line 2968 "objc/objc-parse.y" { yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} case 649: ! #line 2973 "objc/objc-parse.y" { yyval.ttype = build_method_decl (objc_inherit_code, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ; break;} case 650: ! #line 2978 "objc/objc-parse.y" { yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 651: ! #line 2983 "objc/objc-parse.y" { yyval.ttype = build_method_decl (objc_inherit_code, NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 660: ! #line 3013 "objc/objc-parse.y" { POP_DECLSPEC_STACK; ; break;} case 661: ! #line 3015 "objc/objc-parse.y" { shadow_tag (yyvsp[-1].ttype); ; break;} case 662: ! #line 3017 "objc/objc-parse.y" { pedwarn ("empty declaration"); ; break;} case 663: ! #line 3022 "objc/objc-parse.y" { push_parm_decl (yyvsp[0].ttype); ; break;} case 664: ! #line 3024 "objc/objc-parse.y" { push_parm_decl (yyvsp[0].ttype); ; break;} case 665: ! #line 3032 "objc/objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), chainon (yyvsp[0].ttype, all_prefix_attributes)); ; break;} case 666: ! #line 3036 "objc/objc-parse.y" { yyval.ttype = build_tree_list (build_tree_list (current_declspecs, yyvsp[-1].ttype), chainon (yyvsp[0].ttype, all_prefix_attributes)); ; break;} case 667: ! #line 3040 "objc/objc-parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 668: ! #line 3045 "objc/objc-parse.y" { yyval.ttype = NULL_TREE; ; break;} case 669: ! #line 3049 "objc/objc-parse.y" { /* oh what a kludge! */ yyval.ttype = objc_ellipsis_node; ; break;} case 670: ! #line 3054 "objc/objc-parse.y" { pushlevel (0); ; break;} case 671: ! #line 3058 "objc/objc-parse.y" { /* returns a tree list node generated by get_parm_info */ yyval.ttype = yyvsp[0].ttype; *************** case 671: *** 5644,5686 **** ; break;} case 674: ! #line 3072 "objc/objc-parse.y" { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 701: ! #line 3094 "objc/objc-parse.y" { yyval.ttype = build_keyword_decl (yyvsp[-5].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 702: ! #line 3099 "objc/objc-parse.y" { yyval.ttype = build_keyword_decl (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype); ; break;} case 703: ! #line 3104 "objc/objc-parse.y" { yyval.ttype = build_keyword_decl (NULL_TREE, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 704: ! #line 3109 "objc/objc-parse.y" { yyval.ttype = build_keyword_decl (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ; break;} case 708: ! #line 3122 "objc/objc-parse.y" { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 709: ! #line 3130 "objc/objc-parse.y" { if (TREE_CHAIN (yyvsp[0].ttype) == NULL_TREE) /* just return the expr., remove a level of indirection */ --- 5645,5687 ---- ; break;} case 674: ! #line 3073 "objc/objc-parse.y" { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 701: ! #line 3095 "objc/objc-parse.y" { yyval.ttype = build_keyword_decl (yyvsp[-5].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 702: ! #line 3100 "objc/objc-parse.y" { yyval.ttype = build_keyword_decl (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype); ; break;} case 703: ! #line 3105 "objc/objc-parse.y" { yyval.ttype = build_keyword_decl (NULL_TREE, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 704: ! #line 3110 "objc/objc-parse.y" { yyval.ttype = build_keyword_decl (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ; break;} case 708: ! #line 3123 "objc/objc-parse.y" { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 709: ! #line 3131 "objc/objc-parse.y" { if (TREE_CHAIN (yyvsp[0].ttype) == NULL_TREE) /* just return the expr., remove a level of indirection */ *************** case 709: *** 5691,5755 **** ; break;} case 710: ! #line 3142 "objc/objc-parse.y" { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 711: ! #line 3146 "objc/objc-parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} case 713: ! #line 3154 "objc/objc-parse.y" { yyval.ttype = get_class_reference (yyvsp[0].ttype); ; break;} case 714: ! #line 3158 "objc/objc-parse.y" { yyval.ttype = get_class_reference (yyvsp[0].ttype); ; break;} case 715: ! #line 3165 "objc/objc-parse.y" { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} case 719: ! #line 3176 "objc/objc-parse.y" { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 720: ! #line 3183 "objc/objc-parse.y" { yyval.ttype = build_tree_list (yyvsp[-1].ttype, NULL_TREE); ; break;} case 721: ! #line 3187 "objc/objc-parse.y" { yyval.ttype = build_tree_list (NULL_TREE, NULL_TREE); ; break;} case 722: ! #line 3194 "objc/objc-parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 723: ! #line 3201 "objc/objc-parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 724: ! #line 3210 "objc/objc-parse.y" { yyval.ttype = groktypename (yyvsp[-1].ttype); ; --- 5692,5756 ---- ; break;} case 710: ! #line 3143 "objc/objc-parse.y" { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 711: ! #line 3147 "objc/objc-parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} case 713: ! #line 3155 "objc/objc-parse.y" { yyval.ttype = get_class_reference (yyvsp[0].ttype); ; break;} case 714: ! #line 3159 "objc/objc-parse.y" { yyval.ttype = get_class_reference (yyvsp[0].ttype); ; break;} case 715: ! #line 3166 "objc/objc-parse.y" { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} case 719: ! #line 3177 "objc/objc-parse.y" { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 720: ! #line 3184 "objc/objc-parse.y" { yyval.ttype = build_tree_list (yyvsp[-1].ttype, NULL_TREE); ; break;} case 721: ! #line 3188 "objc/objc-parse.y" { yyval.ttype = build_tree_list (NULL_TREE, NULL_TREE); ; break;} case 722: ! #line 3195 "objc/objc-parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 723: ! #line 3202 "objc/objc-parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 724: ! #line 3211 "objc/objc-parse.y" { yyval.ttype = groktypename (yyvsp[-1].ttype); ; *************** yyreturn: *** 5987,5993 **** #endif return yyresult; } ! #line 3215 "objc/objc-parse.y" /* yylex() is a thin wrapper around c_lex(), all it does is translate --- 5988,5994 ---- #endif return yyresult; } ! #line 3216 "objc/objc-parse.y" /* yylex() is a thin wrapper around c_lex(), all it does is translate diff -Nrc3pad gcc-3.4.0/gcc/objc/objc-parse.y gcc-3.4.1/gcc/objc/objc-parse.y *** gcc-3.4.0/gcc/objc/objc-parse.y 2004-04-19 02:26:21.000000000 +0000 --- gcc-3.4.1/gcc/objc/objc-parse.y 2004-07-01 19:17:23.000000000 +0000 *************** compstmt_primary_start: *** 2126,2131 **** --- 2126,2132 ---- keep_next_level (); compstmt_count++; $$ = add_stmt (build_stmt (COMPOUND_STMT, last_tree)); + last_expr_type = NULL_TREE; } ; diff -Nrc3pad gcc-3.4.0/libobjc/ChangeLog gcc-3.4.1/libobjc/ChangeLog *** gcc-3.4.0/libobjc/ChangeLog 2004-04-19 01:59:58.000000000 +0000 --- gcc-3.4.1/libobjc/ChangeLog 2004-07-01 18:49:41.000000000 +0000 *************** *** 1,3 **** --- 1,7 ---- + 2004-07-01 Release Manager + + * GCC 3.4.1 released. + 2004-04-18 Release Manager * GCC 3.4.0 released. diff -Nrc3pad gcc-3.4.0/libobjc/configure gcc-3.4.1/libobjc/configure *** gcc-3.4.0/libobjc/configure 2003-09-09 06:24:21.000000000 +0000 --- gcc-3.4.1/libobjc/configure 2004-05-18 09:08:42.000000000 +0000 *************** irix5* | irix6*) *** 1613,1619 **** # This must be Linux ELF. linux-gnu*) case $host_cpu in ! alpha* | mips* | hppa* | i*86 | powerpc* | sparc* | ia64* ) lt_cv_deplibs_check_method=pass_all ;; *) # glibc up to 2.1.1 does not perform some relocations on ARM --- 1613,1619 ---- # This must be Linux ELF. linux-gnu*) case $host_cpu in ! alpha* | mips* | hppa* | i*86 | powerpc* | sparc* | ia64* | sh* ) lt_cv_deplibs_check_method=pass_all ;; *) # glibc up to 2.1.1 does not perform some relocations on ARM