Index: compilers/imcc/imcc.y =================================================================== --- compilers/imcc/imcc.y (revision 36065) +++ compilers/imcc/imcc.y (working copy) @@ -1169,13 +1169,13 @@ vtable: VTABLE_METHOD { - $$ = 0; + $$ = P_VTABLE; IMCC_INFO(interp)->cur_unit->vtable_name = NULL; IMCC_INFO(interp)->cur_unit->is_vtable_method = 1; } | VTABLE_METHOD '(' STRINGC ')' { - $$ = 0; + $$ = P_VTABLE; IMCC_INFO(interp)->cur_unit->vtable_name = $3; IMCC_INFO(interp)->cur_unit->is_vtable_method = 1; } Index: compilers/imcc/imcparser.c =================================================================== --- compilers/imcc/imcparser.c (revision 36065) +++ compilers/imcc/imcparser.c (working copy) @@ -2950,17 +2950,17 @@ { case 2: #line 880 "compilers/imcc/imcc.y" - { if (yynerrs) YYABORT; (yyval.i) = 0; } + { if (yynerrs) YYABORT; (yyval.i) = 0; ;} break; case 5: #line 889 "compilers/imcc/imcc.y" - { (yyval.i) = (yyvsp[(1) - (1)].i); } + { (yyval.i) = (yyvsp[(1) - (1)].i); ;} break; case 6: #line 890 "compilers/imcc/imcc.y" - { (yyval.i) = (yyvsp[(1) - (1)].i); } + { (yyval.i) = (yyvsp[(1) - (1)].i); ;} break; case 7: @@ -2969,7 +2969,7 @@ (yyval.i) = (yyvsp[(1) - (1)].i); imc_close_unit(interp, IMCC_INFO(interp)->cur_unit); IMCC_INFO(interp)->cur_unit = 0; - } + ;} break; case 8: @@ -2978,32 +2978,32 @@ (yyval.i) = (yyvsp[(1) - (1)].i); imc_close_unit(interp, IMCC_INFO(interp)->cur_unit); IMCC_INFO(interp)->cur_unit = 0; - } + ;} break; case 9: #line 903 "compilers/imcc/imcc.y" - { (yyval.i) = 0; } + { (yyval.i) = 0; ;} break; case 10: #line 904 "compilers/imcc/imcc.y" - { (yyval.i) = 0; } + { (yyval.i) = 0; ;} break; case 11: #line 905 "compilers/imcc/imcc.y" - { (yyval.i) = 0; } + { (yyval.i) = 0; ;} break; case 12: #line 906 "compilers/imcc/imcc.y" - { (yyval.i) = 0; } + { (yyval.i) = 0; ;} break; case 13: #line 910 "compilers/imcc/imcc.y" - { (yyval.i) = 0; } + { (yyval.i) = 0; ;} break; case 14: @@ -3012,7 +3012,7 @@ (yyval.i) = 0; do_loadlib(interp, (yyvsp[(2) - (3)].s)); mem_sys_free((yyvsp[(2) - (3)].s)); - } + ;} break; case 15: @@ -3020,14 +3020,14 @@ { IMCC_INFO(interp)->line = atoi((yyvsp[(2) - (5)].s)); set_filename(interp, (yyvsp[(4) - (5)].s)); - } + ;} break; case 16: #line 926 "compilers/imcc/imcc.y" { set_filename(interp, (yyvsp[(2) - (3)].s)); - } + ;} break; case 17: @@ -3038,7 +3038,7 @@ SymReg * const key = mk_const(interp, (yyvsp[(2) - (4)].s), 'S'); (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, ".annotate", 2, key, (yyvsp[(4) - (4)].sr)); mem_sys_free((yyvsp[(2) - (4)].s)); - } + ;} break; case 18: @@ -3050,7 +3050,7 @@ IMCC_INFO(interp)->cur_namespace = NULL; (yyval.t) = 0; - } + ;} break; case 19: @@ -3068,12 +3068,12 @@ Parrot_register_HLL_type(interp, ctx->current_HLL, built_in_type, language_type); (yyval.t) = 0; - } + ;} break; case 20: #line 971 "compilers/imcc/imcc.y" - { is_def = 1; } + { is_def = 1; ;} break; case 21: @@ -3082,12 +3082,12 @@ mk_const_ident(interp, (yyvsp[(4) - (6)].s), (yyvsp[(3) - (6)].t), (yyvsp[(6) - (6)].sr), 1); mem_sys_free((yyvsp[(4) - (6)].s)); is_def = 0; - } + ;} break; case 22: #line 980 "compilers/imcc/imcc.y" - { is_def=1; } + { is_def=1; ;} break; case 23: @@ -3095,12 +3095,12 @@ { (yyval.i) = mk_pmc_const(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) - (6)].s), (yyvsp[(4) - (6)].sr), (yyvsp[(6) - (6)].s)); is_def = 0; - } + ;} break; case 24: #line 986 "compilers/imcc/imcc.y" - { is_def=1; } + { is_def=1; ;} break; case 25: @@ -3108,37 +3108,37 @@ { (yyval.i) = mk_pmc_const_named(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) - (6)].s), (yyvsp[(4) - (6)].sr), (yyvsp[(6) - (6)].s)); is_def = 0; - } + ;} break; case 30: #line 1003 "compilers/imcc/imcc.y" - { (yyval.i) = 0; } + { (yyval.i) = 0; ;} break; case 31: #line 1004 "compilers/imcc/imcc.y" - { (yyval.i) = 0; } + { (yyval.i) = 0; ;} break; case 32: #line 1005 "compilers/imcc/imcc.y" - { (yyval.i) = 0; } + { (yyval.i) = 0; ;} break; case 33: #line 1006 "compilers/imcc/imcc.y" - { (yyval.i) = 0; } + { (yyval.i) = 0; ;} break; case 34: #line 1007 "compilers/imcc/imcc.y" - { (yyval.i) = (yyvsp[(1) - (1)].i); } + { (yyval.i) = (yyvsp[(1) - (1)].i); ;} break; case 37: #line 1012 "compilers/imcc/imcc.y" - { clear_state(interp); } + { clear_state(interp); ;} break; case 38: @@ -3148,7 +3148,7 @@ (yyvsp[(2) - (3)].s), 0, IMCC_INFO(interp)->regs, IMCC_INFO(interp)->nargs, IMCC_INFO(interp) -> keyvec, 1); mem_sys_free((yyvsp[(2) - (3)].s)); - } + ;} break; case 39: @@ -3156,7 +3156,7 @@ { imc_close_unit(interp, IMCC_INFO(interp)->cur_unit); IMCC_INFO(interp)->cur_unit = imc_open_unit(interp, IMC_PASM); - } + ;} break; case 40: @@ -3166,14 +3166,14 @@ IMCC_INFO(interp)->cur_unit, mk_sub_label(interp, (yyvsp[(4) - (4)].s))); IMCC_INFO(interp)->cur_call->pcc_sub->pragma = (yyvsp[(3) - (4)].t); - } + ;} break; case 41: #line 1033 "compilers/imcc/imcc.y" { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "null", 1, (yyvsp[(2) - (2)].sr)); - } + ;} break; case 42: @@ -3184,17 +3184,17 @@ (yyval.i) = 0; mem_sys_free((yyvsp[(2) - (4)].s)); mem_sys_free((yyvsp[(4) - (4)].s)); - } + ;} break; case 43: #line 1044 "compilers/imcc/imcc.y" - { (yyval.i) = 0;} + { (yyval.i) = 0;;} break; case 45: #line 1052 "compilers/imcc/imcc.y" - { IMCC_INFO(interp)->cur_unit = imc_open_unit(interp, IMC_PASM); } + { IMCC_INFO(interp)->cur_unit = imc_open_unit(interp, IMC_PASM); ;} break; case 46: @@ -3205,7 +3205,7 @@ emit_flush(interp); */ (yyval.i) = 0; - } + ;} break; case 49: @@ -3220,7 +3220,7 @@ IMCC_INFO(interp)->cur_namespace = (yyvsp[(2) - (3)].sr); if (re_open) IMCC_INFO(interp)->cur_unit = imc_open_unit(interp, IMC_PASM); - } + ;} break; case 50: @@ -3231,26 +3231,26 @@ "Slice not allowed in namespace."); (yyval.sr) = (yyvsp[(2) - (3)].sr); - } + ;} break; case 51: #line 1093 "compilers/imcc/imcc.y" - { (yyval.sr) = NULL; } + { (yyval.sr) = NULL; ;} break; case 52: #line 1098 "compilers/imcc/imcc.y" { IMCC_INFO(interp)->cur_unit = imc_open_unit(interp, IMC_PCCSUB); - } + ;} break; case 53: #line 1102 "compilers/imcc/imcc.y" { iSUBROUTINE(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) - (3)].sr)); - } + ;} break; case 54: @@ -3261,22 +3261,22 @@ IMCC_INFO(interp)->cur_unit->instructions->symregs[0]->subid = str_dup( IMCC_INFO(interp)->cur_unit->instructions->symregs[0]->name); } - } + ;} break; case 55: #line 1114 "compilers/imcc/imcc.y" - { (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; } + { (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; ;} break; case 56: #line 1118 "compilers/imcc/imcc.y" - { (yyval.sr) = 0; } + { (yyval.sr) = 0; ;} break; case 57: #line 1119 "compilers/imcc/imcc.y" - { (yyval.sr) = 0; } + { (yyval.sr) = 0; ;} break; case 58: @@ -3289,17 +3289,17 @@ } else add_pcc_arg(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr)); - } + ;} break; case 59: #line 1133 "compilers/imcc/imcc.y" - { is_def=1; } + { is_def=1; ;} break; case 60: #line 1133 "compilers/imcc/imcc.y" - { (yyval.sr) = (yyvsp[(3) - (3)].sr); is_def=0; } + { (yyval.sr) = (yyvsp[(3) - (3)].sr); is_def=0; ;} break; case 61: @@ -3311,12 +3311,12 @@ (yyval.sr) = mk_ident(interp, (yyvsp[(2) - (3)].s), (yyvsp[(1) - (3)].t)); (yyval.sr)->type |= (yyvsp[(3) - (3)].t); mem_sys_free((yyvsp[(2) - (3)].s)); - } + ;} break; case 62: #line 1151 "compilers/imcc/imcc.y" - { (yyval.t) = 0; } + { (yyval.t) = 0; ;} break; case 63: @@ -3325,7 +3325,7 @@ (yyval.t) = 0; IMCC_INFO(interp)->cur_unit->outer = mk_sub_address_fromc(interp, (yyvsp[(3) - (4)].s)); mem_sys_free((yyvsp[(3) - (4)].s)); - } + ;} break; case 64: @@ -3334,25 +3334,25 @@ (yyval.t) = 0; IMCC_INFO(interp)->cur_unit->outer = mk_const(interp, (yyvsp[(3) - (4)].s), 'S'); mem_sys_free((yyvsp[(3) - (4)].s)); - } + ;} break; case 65: #line 1171 "compilers/imcc/imcc.y" { - (yyval.t) = 0; + (yyval.t) = P_VTABLE; IMCC_INFO(interp)->cur_unit->vtable_name = NULL; IMCC_INFO(interp)->cur_unit->is_vtable_method = 1; - } + ;} break; case 66: #line 1177 "compilers/imcc/imcc.y" { - (yyval.t) = 0; + (yyval.t) = P_VTABLE; IMCC_INFO(interp)->cur_unit->vtable_name = (yyvsp[(3) - (4)].s); IMCC_INFO(interp)->cur_unit->is_vtable_method = 1; - } + ;} break; case 67: @@ -3361,7 +3361,7 @@ (yyval.t) = P_METHOD; IMCC_INFO(interp)->cur_unit->method_name = NULL; IMCC_INFO(interp)->cur_unit->is_method = 1; - } + ;} break; case 68: @@ -3370,7 +3370,7 @@ (yyval.t) = P_METHOD; IMCC_INFO(interp)->cur_unit->method_name = (yyvsp[(3) - (4)].s); IMCC_INFO(interp)->cur_unit->is_method = 1; - } + ;} break; case 69: @@ -3379,7 +3379,7 @@ (yyval.t) = 0; IMCC_INFO(interp)->cur_unit->ns_entry_name = NULL; IMCC_INFO(interp)->cur_unit->has_ns_entry_name = 1; - } + ;} break; case 70: @@ -3388,7 +3388,7 @@ (yyval.t) = 0; IMCC_INFO(interp)->cur_unit->ns_entry_name = (yyvsp[(3) - (4)].s); IMCC_INFO(interp)->cur_unit->has_ns_entry_name = 1; - } + ;} break; case 71: @@ -3396,7 +3396,7 @@ { (yyval.t) = 0; IMCC_INFO(interp)->cur_unit->instance_of = (yyvsp[(3) - (4)].s); - } + ;} break; case 72: @@ -3404,7 +3404,7 @@ { (yyval.t) = 0; IMCC_INFO(interp)->cur_unit->subid = NULL; - } + ;} break; case 73: @@ -3414,14 +3414,14 @@ IMCC_INFO(interp)->cur_unit->subid = mk_const(interp, (yyvsp[(3) - (4)].s), 'S'); IMCC_INFO(interp)->cur_unit->instructions->symregs[0]->subid = str_dup_remove_quotes((yyvsp[(3) - (4)].s)); mem_sys_free((yyvsp[(3) - (4)].s)); - } + ;} break; case 74: #line 1239 "compilers/imcc/imcc.y" { add_pcc_multi(IMCC_INFO(interp)->cur_call, NULL); - } + ;} break; case 75: @@ -3429,7 +3429,7 @@ { (yyval.t) = 0; add_pcc_multi(IMCC_INFO(interp)->cur_call, (yyvsp[(3) - (3)].sr)); - } + ;} break; case 76: @@ -3437,27 +3437,27 @@ { (yyval.t) = 0; add_pcc_multi(IMCC_INFO(interp)->cur_call, (yyvsp[(1) - (1)].sr)); - } + ;} break; case 77: #line 1255 "compilers/imcc/imcc.y" - { (yyval.sr) = mk_const(interp, "INTVAL", 'S'); } + { (yyval.sr) = mk_const(interp, "INTVAL", 'S'); ;} break; case 78: #line 1256 "compilers/imcc/imcc.y" - { (yyval.sr) = mk_const(interp, "FLOATVAL", 'S'); } + { (yyval.sr) = mk_const(interp, "FLOATVAL", 'S'); ;} break; case 79: #line 1257 "compilers/imcc/imcc.y" - { (yyval.sr) = mk_const(interp, "PMC", 'S'); } + { (yyval.sr) = mk_const(interp, "PMC", 'S'); ;} break; case 80: #line 1258 "compilers/imcc/imcc.y" - { (yyval.sr) = mk_const(interp, "STRING", 'S'); } + { (yyval.sr) = mk_const(interp, "STRING", 'S'); ;} break; case 81: @@ -3471,7 +3471,7 @@ } mem_sys_free((yyvsp[(1) - (1)].s)); (yyval.sr) = r; - } + ;} break; case 82: @@ -3485,12 +3485,12 @@ } mem_sys_free((yyvsp[(1) - (1)].s)); (yyval.sr) = r; - } + ;} break; case 83: #line 1281 "compilers/imcc/imcc.y" - { (yyval.sr) = (yyvsp[(2) - (3)].sr); } + { (yyval.sr) = (yyvsp[(2) - (3)].sr); ;} break; case 86: @@ -3517,82 +3517,82 @@ r1 = IMCC_INFO(interp)->cur_unit->instructions->symregs[0]; if (r1 && r1->pcc_sub) r1->pcc_sub->calls_a_sub |= 1; - } + ;} break; case 87: #line 1319 "compilers/imcc/imcc.y" - { (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; } + { (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; ;} break; case 88: #line 1323 "compilers/imcc/imcc.y" - { (yyval.i) = NULL; IMCC_INFO(interp)->cur_call->pcc_sub->label = 0; } + { (yyval.i) = NULL; IMCC_INFO(interp)->cur_call->pcc_sub->label = 0; ;} break; case 89: #line 1324 "compilers/imcc/imcc.y" - { (yyval.i) = NULL; IMCC_INFO(interp)->cur_call->pcc_sub->label = 1; } + { (yyval.i) = NULL; IMCC_INFO(interp)->cur_call->pcc_sub->label = 1; ;} break; case 90: #line 1328 "compilers/imcc/imcc.y" - { (yyval.i) = NULL; } + { (yyval.i) = NULL; ;} break; case 91: #line 1329 "compilers/imcc/imcc.y" - { (yyval.i) = NULL; IMCC_INFO(interp)->cur_call->pcc_sub->object = (yyvsp[(2) - (3)].sr); } + { (yyval.i) = NULL; IMCC_INFO(interp)->cur_call->pcc_sub->object = (yyvsp[(2) - (3)].sr); ;} break; case 92: #line 1333 "compilers/imcc/imcc.y" - { (yyval.t) = 0; } + { (yyval.t) = 0; ;} break; case 94: #line 1338 "compilers/imcc/imcc.y" - { (yyval.t) = (yyvsp[(1) - (1)].t); } + { (yyval.t) = (yyvsp[(1) - (1)].t); ;} break; case 95: #line 1339 "compilers/imcc/imcc.y" - { (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); } + { (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); ;} break; case 96: #line 1343 "compilers/imcc/imcc.y" - { (yyval.t) = P_LOAD; } + { (yyval.t) = P_LOAD; ;} break; case 97: #line 1344 "compilers/imcc/imcc.y" - { (yyval.t) = P_INIT; } + { (yyval.t) = P_INIT; ;} break; case 98: #line 1345 "compilers/imcc/imcc.y" - { (yyval.t) = P_MAIN; } + { (yyval.t) = P_MAIN; ;} break; case 99: #line 1346 "compilers/imcc/imcc.y" - { (yyval.t) = P_IMMEDIATE; } + { (yyval.t) = P_IMMEDIATE; ;} break; case 100: #line 1347 "compilers/imcc/imcc.y" - { (yyval.t) = P_POSTCOMP; } + { (yyval.t) = P_POSTCOMP; ;} break; case 101: #line 1348 "compilers/imcc/imcc.y" - { (yyval.t) = P_ANON; } + { (yyval.t) = P_ANON; ;} break; case 102: #line 1349 "compilers/imcc/imcc.y" - { (yyval.t) = P_NEED_LEX; } + { (yyval.t) = P_NEED_LEX; ;} break; case 110: @@ -3600,14 +3600,14 @@ { add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (5)].sr)); add_pcc_cc(IMCC_INFO(interp)->cur_call, (yyvsp[(4) - (5)].sr)); - } + ;} break; case 111: #line 1366 "compilers/imcc/imcc.y" { add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr)); - } + ;} break; case 112: @@ -3615,21 +3615,21 @@ { add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr)); IMCC_INFO(interp)->cur_call->pcc_sub->flags |= isNCI; - } + ;} break; case 113: #line 1375 "compilers/imcc/imcc.y" { add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr)); - } + ;} break; case 114: #line 1379 "compilers/imcc/imcc.y" { add_pcc_sub(IMCC_INFO(interp)->cur_call, mk_const(interp, (yyvsp[(2) - (3)].s), 'S')); - } + ;} break; case 115: @@ -3637,7 +3637,7 @@ { add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (5)].sr)); add_pcc_cc(IMCC_INFO(interp)->cur_call, (yyvsp[(4) - (5)].sr)); - } + ;} break; case 116: @@ -3645,27 +3645,27 @@ { add_pcc_sub(IMCC_INFO(interp)->cur_call, mk_const(interp, (yyvsp[(2) - (5)].s), 'S')); add_pcc_cc(IMCC_INFO(interp)->cur_call, (yyvsp[(4) - (5)].sr)); - } + ;} break; case 117: #line 1396 "compilers/imcc/imcc.y" - { (yyval.sr) = 0; } + { (yyval.sr) = 0; ;} break; case 118: #line 1397 "compilers/imcc/imcc.y" - { add_pcc_arg(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr)); } + { add_pcc_arg(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr)); ;} break; case 119: #line 1401 "compilers/imcc/imcc.y" - { (yyval.sr) = (yyvsp[(2) - (2)].sr); } + { (yyval.sr) = (yyvsp[(2) - (2)].sr); ;} break; case 120: #line 1406 "compilers/imcc/imcc.y" - { (yyval.sr) = 0; } + { (yyval.sr) = 0; ;} break; case 121: @@ -3673,17 +3673,17 @@ { if ((yyvsp[(2) - (3)].sr)) add_pcc_result(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr)); - } + ;} break; case 122: #line 1415 "compilers/imcc/imcc.y" - { (yyval.sr) = (yyvsp[(2) - (3)].sr); (yyval.sr)->type |= (yyvsp[(3) - (3)].t); } + { (yyval.sr) = (yyvsp[(2) - (3)].sr); (yyval.sr)->type |= (yyvsp[(3) - (3)].t); ;} break; case 123: #line 1416 "compilers/imcc/imcc.y" - { is_def=1; } + { is_def=1; ;} break; case 124: @@ -3698,57 +3698,57 @@ UNUSED(ignored); is_def=0; (yyval.sr)=0; - } + ;} break; case 125: #line 1431 "compilers/imcc/imcc.y" - { (yyval.t) = 0; } + { (yyval.t) = 0; ;} break; case 126: #line 1432 "compilers/imcc/imcc.y" - { (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); } + { (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); ;} break; case 127: #line 1436 "compilers/imcc/imcc.y" - { (yyval.t) = VT_FLAT; } + { (yyval.t) = VT_FLAT; ;} break; case 128: #line 1437 "compilers/imcc/imcc.y" - { (yyval.t) = VT_OPTIONAL; } + { (yyval.t) = VT_OPTIONAL; ;} break; case 129: #line 1438 "compilers/imcc/imcc.y" - { (yyval.t) = VT_OPT_FLAG; } + { (yyval.t) = VT_OPT_FLAG; ;} break; case 130: #line 1439 "compilers/imcc/imcc.y" - { (yyval.t) = VT_NAMED; } + { (yyval.t) = VT_NAMED; ;} break; case 131: #line 1440 "compilers/imcc/imcc.y" - { adv_named_set(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = 0; } + { adv_named_set(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = 0; ;} break; case 132: #line 1441 "compilers/imcc/imcc.y" - { (yyval.t) = VT_UNIQUE_REG; } + { (yyval.t) = VT_UNIQUE_REG; ;} break; case 133: #line 1446 "compilers/imcc/imcc.y" - { begin_return_or_yield(interp, 0); } + { begin_return_or_yield(interp, 0); ;} break; case 134: #line 1448 "compilers/imcc/imcc.y" - { (yyval.i) = 0; IMCC_INFO(interp)->asm_state = AsmDefault; } + { (yyval.i) = 0; IMCC_INFO(interp)->asm_state = AsmDefault; ;} break; case 135: @@ -3756,22 +3756,22 @@ { IMCC_INFO(interp)->asm_state = AsmDefault; (yyval.i) = 0; - } + ;} break; case 136: #line 1457 "compilers/imcc/imcc.y" - { begin_return_or_yield(interp, 1); } + { begin_return_or_yield(interp, 1); ;} break; case 137: #line 1459 "compilers/imcc/imcc.y" - { (yyval.i) = 0; IMCC_INFO(interp)->asm_state = AsmDefault; } + { (yyval.i) = 0; IMCC_INFO(interp)->asm_state = AsmDefault; ;} break; case 138: #line 1463 "compilers/imcc/imcc.y" - { (yyval.sr) = 0; } + { (yyval.sr) = 0; ;} break; case 139: @@ -3779,7 +3779,7 @@ { if ((yyvsp[(1) - (2)].sr)) add_pcc_result(IMCC_INFO(interp)->sr_return, (yyvsp[(1) - (2)].sr)); - } + ;} break; case 140: @@ -3787,12 +3787,12 @@ { if ((yyvsp[(2) - (3)].sr)) add_pcc_result(IMCC_INFO(interp)->sr_return, (yyvsp[(2) - (3)].sr)); - } + ;} break; case 141: #line 1477 "compilers/imcc/imcc.y" - { (yyval.sr) = 0; } + { (yyval.sr) = 0; ;} break; case 142: @@ -3800,7 +3800,7 @@ { if ((yyvsp[(1) - (2)].sr)) add_pcc_result(IMCC_INFO(interp)->sr_return, (yyvsp[(1) - (2)].sr)); - } + ;} break; case 143: @@ -3808,17 +3808,17 @@ { if ((yyvsp[(2) - (3)].sr)) add_pcc_result(IMCC_INFO(interp)->sr_return, (yyvsp[(2) - (3)].sr)); - } + ;} break; case 144: #line 1491 "compilers/imcc/imcc.y" - { (yyval.sr) = (yyvsp[(2) - (3)].sr); (yyval.sr)->type |= (yyvsp[(3) - (3)].t); } + { (yyval.sr) = (yyvsp[(2) - (3)].sr); (yyval.sr)->type |= (yyvsp[(3) - (3)].t); ;} break; case 145: #line 1495 "compilers/imcc/imcc.y" - { (yyval.sr) = (yyvsp[(2) - (3)].sr); (yyval.sr)->type |= (yyvsp[(3) - (3)].t); } + { (yyval.sr) = (yyvsp[(2) - (3)].sr); (yyval.sr)->type |= (yyvsp[(3) - (3)].t); ;} break; case 146: @@ -3826,7 +3826,7 @@ { if (IMCC_INFO(interp)->asm_state == AsmDefault) begin_return_or_yield(interp, (yyvsp[(1) - (2)].t)); - } + ;} break; case 147: @@ -3834,22 +3834,22 @@ { IMCC_INFO(interp)->asm_state = AsmDefault; (yyval.t) = 0; - } + ;} break; case 148: #line 1512 "compilers/imcc/imcc.y" - { (yyval.t) = 0; } + { (yyval.t) = 0; ;} break; case 149: #line 1513 "compilers/imcc/imcc.y" - { (yyval.t) = 1; } + { (yyval.t) = 1; ;} break; case 150: #line 1517 "compilers/imcc/imcc.y" - { (yyval.i) = 0; } + { (yyval.i) = 0; ;} break; case 151: @@ -3862,14 +3862,14 @@ } else add_pcc_result(IMCC_INFO(interp)->sr_return, (yyvsp[(1) - (1)].sr)); - } + ;} break; case 152: #line 1529 "compilers/imcc/imcc.y" { add_pcc_named_return(interp, IMCC_INFO(interp)->sr_return, (yyvsp[(1) - (3)].s), (yyvsp[(3) - (3)].sr)); - } + ;} break; case 153: @@ -3882,66 +3882,66 @@ } else add_pcc_result(IMCC_INFO(interp)->sr_return, (yyvsp[(3) - (3)].sr)); - } + ;} break; case 154: #line 1543 "compilers/imcc/imcc.y" { add_pcc_named_return(interp, IMCC_INFO(interp)->sr_return, (yyvsp[(3) - (5)].s), (yyvsp[(5) - (5)].sr)); - } + ;} break; case 157: #line 1563 "compilers/imcc/imcc.y" - { clear_state(interp); } + { clear_state(interp); ;} break; case 158: #line 1568 "compilers/imcc/imcc.y" - { (yyval.i) = (yyvsp[(2) - (2)].i); } + { (yyval.i) = (yyvsp[(2) - (2)].i); ;} break; case 159: #line 1569 "compilers/imcc/imcc.y" - { (yyval.i) = 0; } + { (yyval.i) = 0; ;} break; case 160: #line 1570 "compilers/imcc/imcc.y" - { (yyval.i) = 0; } + { (yyval.i) = 0; ;} break; case 161: #line 1571 "compilers/imcc/imcc.y" - { (yyval.i) = 0; } + { (yyval.i) = 0; ;} break; case 162: #line 1572 "compilers/imcc/imcc.y" - { (yyval.i) = 0; } + { (yyval.i) = 0; ;} break; case 163: #line 1573 "compilers/imcc/imcc.y" - { (yyval.i) = (yyvsp[(1) - (1)].i); } + { (yyval.i) = (yyvsp[(1) - (1)].i); ;} break; case 164: #line 1577 "compilers/imcc/imcc.y" - { (yyval.i) = NULL; } + { (yyval.i) = NULL; ;} break; case 168: #line 1588 "compilers/imcc/imcc.y" { (yyval.i) = iLABEL(interp, IMCC_INFO(interp)->cur_unit, mk_local_label(interp, (yyvsp[(1) - (1)].s))); - } + ;} break; case 169: #line 1596 "compilers/imcc/imcc.y" - { (yyval.i) = (yyvsp[(2) - (3)].i); } + { (yyval.i) = (yyvsp[(2) - (3)].i); ;} break; case 170: @@ -3952,7 +3952,7 @@ YYABORT; } yyerrok; - } + ;} break; case 171: @@ -3961,7 +3961,7 @@ IdList* l = (yyvsp[(1) - (1)].idlist); l->next = NULL; (yyval.idlist) = l; - } + ;} break; case 172: @@ -3970,7 +3970,7 @@ IdList* l = (yyvsp[(3) - (3)].idlist); l->next = (yyvsp[(1) - (3)].idlist); (yyval.idlist) = l; - } + ;} break; case 173: @@ -3980,22 +3980,22 @@ l->id = (yyvsp[(1) - (2)].s); l->unique_reg = (yyvsp[(2) - (2)].t); (yyval.idlist) = l; - } + ;} break; case 174: #line 1634 "compilers/imcc/imcc.y" - { (yyval.t) = 0; } + { (yyval.t) = 0; ;} break; case 175: #line 1635 "compilers/imcc/imcc.y" - { (yyval.t) = 1; } + { (yyval.t) = 1; ;} break; case 178: #line 1642 "compilers/imcc/imcc.y" - { is_def=1; } + { is_def=1; ;} break; case 179: @@ -4014,19 +4014,19 @@ mem_sys_free(l1); } is_def=0; (yyval.i)=0; - } + ;} break; case 180: #line 1659 "compilers/imcc/imcc.y" { set_lexical(interp, (yyvsp[(4) - (4)].sr), (yyvsp[(2) - (4)].s)); (yyval.i) = 0; - } + ;} break; case 181: #line 1662 "compilers/imcc/imcc.y" - { is_def=1; } + { is_def=1; ;} break; case 182: @@ -4035,12 +4035,12 @@ mk_const_ident(interp, (yyvsp[(4) - (6)].s), (yyvsp[(3) - (6)].t), (yyvsp[(6) - (6)].sr), 0); is_def=0; mem_sys_free((yyvsp[(4) - (6)].s)); - } + ;} break; case 184: #line 1670 "compilers/imcc/imcc.y" - { is_def=1; } + { is_def=1; ;} break; case 185: @@ -4049,7 +4049,7 @@ mk_const_ident(interp, (yyvsp[(4) - (6)].s), (yyvsp[(3) - (6)].t), (yyvsp[(6) - (6)].sr), 1); is_def=0; mem_sys_free((yyvsp[(4) - (6)].s)); - } + ;} break; case 186: @@ -4058,12 +4058,12 @@ (yyval.i) = NULL; IMCC_INFO(interp)->cur_call->pcc_sub->flags |= isTAIL_CALL; IMCC_INFO(interp)->cur_call = NULL; - } + ;} break; case 187: #line 1682 "compilers/imcc/imcc.y" - { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "branch", 1, (yyvsp[(2) - (2)].sr)); } + { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "branch", 1, (yyvsp[(2) - (2)].sr)); ;} break; case 188: @@ -4078,47 +4078,47 @@ IMCC_INFO(interp)->keyvec, 1); mem_sys_free((yyvsp[(1) - (2)].s)); - } + ;} break; case 189: #line 1695 "compilers/imcc/imcc.y" - { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "null", 1, (yyvsp[(2) - (2)].sr)); } + { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "null", 1, (yyvsp[(2) - (2)].sr)); ;} break; case 190: #line 1696 "compilers/imcc/imcc.y" - { (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; } + { (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; ;} break; case 191: #line 1697 "compilers/imcc/imcc.y" - { (yyval.i) = 0; } + { (yyval.i) = 0; ;} break; case 194: #line 1700 "compilers/imcc/imcc.y" - { (yyval.i) = 0;} + { (yyval.i) = 0;;} break; case 195: #line 1704 "compilers/imcc/imcc.y" - { (yyval.t) = 'I'; } + { (yyval.t) = 'I'; ;} break; case 196: #line 1705 "compilers/imcc/imcc.y" - { (yyval.t) = 'N'; } + { (yyval.t) = 'N'; ;} break; case 197: #line 1706 "compilers/imcc/imcc.y" - { (yyval.t) = 'S'; } + { (yyval.t) = 'S'; ;} break; case 198: #line 1707 "compilers/imcc/imcc.y" - { (yyval.t) = 'P'; } + { (yyval.t) = 'P'; ;} break; case 199: @@ -4131,37 +4131,37 @@ IMCC_fataly(interp, EXCEPTION_SYNTAX_ERROR, "Unknown PMC type '%s'\n", (yyvsp[(1) - (1)].s)); } - } + ;} break; case 200: #line 1725 "compilers/imcc/imcc.y" - { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "set", 2, (yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].sr)); } + { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "set", 2, (yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].sr)); ;} break; case 201: #line 1727 "compilers/imcc/imcc.y" - { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) - (4)].s), 2, (yyvsp[(1) - (4)].sr), (yyvsp[(4) - (4)].sr)); } + { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) - (4)].s), 2, (yyvsp[(1) - (4)].sr), (yyvsp[(4) - (4)].sr)); ;} break; case 202: #line 1729 "compilers/imcc/imcc.y" - { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(4) - (5)].s), 3, (yyvsp[(1) - (5)].sr), (yyvsp[(3) - (5)].sr), (yyvsp[(5) - (5)].sr)); } + { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(4) - (5)].s), 3, (yyvsp[(1) - (5)].sr), (yyvsp[(3) - (5)].sr), (yyvsp[(5) - (5)].sr)); ;} break; case 203: #line 1731 "compilers/imcc/imcc.y" - { (yyval.i) = iINDEXFETCH(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) - (6)].sr), (yyvsp[(3) - (6)].sr), (yyvsp[(5) - (6)].sr)); } + { (yyval.i) = iINDEXFETCH(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) - (6)].sr), (yyvsp[(3) - (6)].sr), (yyvsp[(5) - (6)].sr)); ;} break; case 204: #line 1733 "compilers/imcc/imcc.y" - { (yyval.i) = iINDEXSET(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) - (6)].sr), (yyvsp[(3) - (6)].sr), (yyvsp[(6) - (6)].sr)); } + { (yyval.i) = iINDEXSET(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) - (6)].sr), (yyvsp[(3) - (6)].sr), (yyvsp[(6) - (6)].sr)); ;} break; case 205: #line 1738 "compilers/imcc/imcc.y" - { (yyval.i) = iNEW(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) - (7)].sr), (yyvsp[(4) - (7)].s), (yyvsp[(6) - (7)].sr), 1); } + { (yyval.i) = iNEW(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) - (7)].sr), (yyvsp[(4) - (7)].s), (yyvsp[(6) - (7)].sr), 1); ;} break; case 206: @@ -4170,14 +4170,14 @@ add_pcc_result((yyvsp[(3) - (3)].i)->symregs[0], (yyvsp[(1) - (3)].sr)); IMCC_INFO(interp)->cur_call = NULL; (yyval.i) = 0; - } + ;} break; case 207: #line 1747 "compilers/imcc/imcc.y" { (yyval.i) = IMCC_create_itcall_label(interp); - } + ;} break; case 208: @@ -4185,144 +4185,144 @@ { IMCC_itcall_sub(interp, (yyvsp[(6) - (9)].sr)); IMCC_INFO(interp)->cur_call = NULL; - } + ;} break; case 212: #line 1759 "compilers/imcc/imcc.y" { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "null", 1, (yyvsp[(1) - (3)].sr)); - } + ;} break; case 213: #line 1766 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"not"; } + { (yyval.s) = (char *)"not"; ;} break; case 214: #line 1767 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"bnot"; } + { (yyval.s) = (char *)"bnot"; ;} break; case 215: #line 1768 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"neg"; } + { (yyval.s) = (char *)"neg"; ;} break; case 216: #line 1772 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"sub"; } + { (yyval.s) = (char *)"sub"; ;} break; case 217: #line 1773 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"add"; } + { (yyval.s) = (char *)"add"; ;} break; case 218: #line 1774 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"mul"; } + { (yyval.s) = (char *)"mul"; ;} break; case 219: #line 1775 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"div"; } + { (yyval.s) = (char *)"div"; ;} break; case 220: #line 1776 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"mod"; } + { (yyval.s) = (char *)"mod"; ;} break; case 221: #line 1777 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"fdiv"; } + { (yyval.s) = (char *)"fdiv"; ;} break; case 222: #line 1778 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"pow"; } + { (yyval.s) = (char *)"pow"; ;} break; case 223: #line 1779 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"concat"; } + { (yyval.s) = (char *)"concat"; ;} break; case 224: #line 1780 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"iseq"; } + { (yyval.s) = (char *)"iseq"; ;} break; case 225: #line 1781 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"isne"; } + { (yyval.s) = (char *)"isne"; ;} break; case 226: #line 1782 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"isgt"; } + { (yyval.s) = (char *)"isgt"; ;} break; case 227: #line 1783 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"isge"; } + { (yyval.s) = (char *)"isge"; ;} break; case 228: #line 1784 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"islt"; } + { (yyval.s) = (char *)"islt"; ;} break; case 229: #line 1785 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"isle"; } + { (yyval.s) = (char *)"isle"; ;} break; case 230: #line 1786 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"shl"; } + { (yyval.s) = (char *)"shl"; ;} break; case 231: #line 1787 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"shr"; } + { (yyval.s) = (char *)"shr"; ;} break; case 232: #line 1788 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"lsr"; } + { (yyval.s) = (char *)"lsr"; ;} break; case 233: #line 1789 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"and"; } + { (yyval.s) = (char *)"and"; ;} break; case 234: #line 1790 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"or"; } + { (yyval.s) = (char *)"or"; ;} break; case 235: #line 1791 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"xor"; } + { (yyval.s) = (char *)"xor"; ;} break; case 236: #line 1792 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"band"; } + { (yyval.s) = (char *)"band"; ;} break; case 237: #line 1793 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"bor"; } + { (yyval.s) = (char *)"bor"; ;} break; case 238: #line 1794 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"bxor"; } + { (yyval.s) = (char *)"bxor"; ;} break; case 239: @@ -4331,84 +4331,84 @@ (yyval.i) = IMCC_create_itcall_label(interp); (yyval.i)->type &= ~ITCALL; (yyval.i)->type |= ITRESULT; - } + ;} break; case 240: #line 1805 "compilers/imcc/imcc.y" - { (yyval.i) = 0; } + { (yyval.i) = 0; ;} break; case 241: #line 1812 "compilers/imcc/imcc.y" { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(2) - (3)].s), 2, (yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].sr)); - } + ;} break; case 242: #line 1818 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"add"; } + { (yyval.s) = (char *)"add"; ;} break; case 243: #line 1819 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"sub"; } + { (yyval.s) = (char *)"sub"; ;} break; case 244: #line 1820 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"mul"; } + { (yyval.s) = (char *)"mul"; ;} break; case 245: #line 1821 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"div"; } + { (yyval.s) = (char *)"div"; ;} break; case 246: #line 1822 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"mod"; } + { (yyval.s) = (char *)"mod"; ;} break; case 247: #line 1823 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"fdiv"; } + { (yyval.s) = (char *)"fdiv"; ;} break; case 248: #line 1824 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"concat"; } + { (yyval.s) = (char *)"concat"; ;} break; case 249: #line 1825 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"band"; } + { (yyval.s) = (char *)"band"; ;} break; case 250: #line 1826 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"bor"; } + { (yyval.s) = (char *)"bor"; ;} break; case 251: #line 1827 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"bxor"; } + { (yyval.s) = (char *)"bxor"; ;} break; case 252: #line 1828 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"shr"; } + { (yyval.s) = (char *)"shr"; ;} break; case 253: #line 1829 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"shl"; } + { (yyval.s) = (char *)"shl"; ;} break; case 254: #line 1830 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"lsr"; } + { (yyval.s) = (char *)"lsr"; ;} break; case 255: @@ -4419,22 +4419,22 @@ IMCC_INFO(interp) -> nargs, IMCC_INFO(interp) -> keyvec, 1); mem_sys_free((yyvsp[(3) - (4)].s)); - } + ;} break; case 256: #line 1846 "compilers/imcc/imcc.y" - { (yyval.sr) = mk_sub_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); } + { (yyval.sr) = mk_sub_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); ;} break; case 257: #line 1847 "compilers/imcc/imcc.y" - { (yyval.sr) = mk_sub_address_fromc(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); } + { (yyval.sr) = mk_sub_address_fromc(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); ;} break; case 258: #line 1848 "compilers/imcc/imcc.y" - { (yyval.sr) = mk_sub_address_u(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); } + { (yyval.sr) = mk_sub_address_u(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); ;} break; case 259: @@ -4443,7 +4443,7 @@ (yyval.sr) = (yyvsp[(1) - (1)].sr); if ((yyvsp[(1) - (1)].sr)->set != 'P') IMCC_fataly(interp, EXCEPTION_SYNTAX_ERROR, "Sub isn't a PMC"); - } + ;} break; case 260: @@ -4460,7 +4460,7 @@ IMCC_INFO(interp)->cur_obj = (yyvsp[(1) - (3)].sr); (yyval.sr) = (yyvsp[(3) - (3)].sr); - } + ;} break; case 261: @@ -4469,12 +4469,12 @@ IMCC_INFO(interp)->cur_obj = (yyvsp[(1) - (3)].sr); (yyval.sr) = mk_const(interp, (yyvsp[(3) - (3)].s), 'S'); mem_sys_free((yyvsp[(3) - (3)].s)); - } + ;} break; case 262: #line 1875 "compilers/imcc/imcc.y" - { IMCC_INFO(interp)->cur_obj = (yyvsp[(1) - (3)].sr); (yyval.sr) = (yyvsp[(3) - (3)].sr); } + { IMCC_INFO(interp)->cur_obj = (yyvsp[(1) - (3)].sr); (yyval.sr) = (yyvsp[(3) - (3)].sr); ;} break; case 263: @@ -4482,17 +4482,17 @@ { (yyval.i) = IMCC_create_itcall_label(interp); IMCC_itcall_sub(interp, (yyvsp[(1) - (1)].sr)); - } + ;} break; case 264: #line 1885 "compilers/imcc/imcc.y" - { (yyval.i) = (yyvsp[(2) - (5)].i); } + { (yyval.i) = (yyvsp[(2) - (5)].i); ;} break; case 265: #line 1889 "compilers/imcc/imcc.y" - { (yyval.sr) = 0; } + { (yyval.sr) = 0; ;} break; case 266: @@ -4505,7 +4505,7 @@ } else add_pcc_arg(IMCC_INFO(interp)->cur_call, (yyvsp[(3) - (3)].sr)); - } + ;} break; case 267: @@ -4518,7 +4518,7 @@ } else add_pcc_arg(IMCC_INFO(interp)->cur_call, (yyvsp[(1) - (1)].sr)); - } + ;} break; case 268: @@ -4527,7 +4527,7 @@ (yyval.sr) = 0; add_pcc_named_arg(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(3) - (5)].s), (yyvsp[(5) - (5)].sr)); mem_sys_free((yyvsp[(3) - (5)].s)); - } + ;} break; case 269: @@ -4536,42 +4536,42 @@ (yyval.sr) = 0; add_pcc_named_arg(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(1) - (3)].s), (yyvsp[(3) - (3)].sr)); mem_sys_free((yyvsp[(1) - (3)].s)); - } + ;} break; case 270: #line 1925 "compilers/imcc/imcc.y" - { (yyval.sr) = (yyvsp[(1) - (2)].sr); (yyval.sr)->type |= (yyvsp[(2) - (2)].t); } + { (yyval.sr) = (yyvsp[(1) - (2)].sr); (yyval.sr)->type |= (yyvsp[(2) - (2)].t); ;} break; case 271: #line 1929 "compilers/imcc/imcc.y" - { (yyval.t) = 0; } + { (yyval.t) = 0; ;} break; case 272: #line 1930 "compilers/imcc/imcc.y" - { (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); } + { (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); ;} break; case 273: #line 1934 "compilers/imcc/imcc.y" - { (yyval.t) = VT_FLAT; } + { (yyval.t) = VT_FLAT; ;} break; case 274: #line 1935 "compilers/imcc/imcc.y" - { (yyval.t) = VT_NAMED; } + { (yyval.t) = VT_NAMED; ;} break; case 275: #line 1938 "compilers/imcc/imcc.y" - { adv_named_set(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = 0; } + { adv_named_set(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = 0; ;} break; case 276: #line 1942 "compilers/imcc/imcc.y" - { (yyval.sr) = (yyvsp[(1) - (2)].sr); (yyval.sr)->type |= (yyvsp[(2) - (2)].t); } + { (yyval.sr) = (yyvsp[(1) - (2)].sr); (yyval.sr)->type |= (yyvsp[(2) - (2)].t); ;} break; case 277: @@ -4584,7 +4584,7 @@ } else add_pcc_result(IMCC_INFO(interp)->cur_call, (yyvsp[(3) - (3)].sr)); - } + ;} break; case 278: @@ -4592,7 +4592,7 @@ { add_pcc_named_result(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(3) - (5)].s), (yyvsp[(5) - (5)].sr)); mem_sys_free((yyvsp[(3) - (5)].s)); - } + ;} break; case 279: @@ -4605,7 +4605,7 @@ } else add_pcc_result(IMCC_INFO(interp)->cur_call, (yyvsp[(1) - (1)].sr)); - } + ;} break; case 280: @@ -4613,124 +4613,124 @@ { add_pcc_named_result(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(1) - (3)].s), (yyvsp[(3) - (3)].sr)); mem_sys_free((yyvsp[(1) - (3)].s)); - } + ;} break; case 281: #line 1976 "compilers/imcc/imcc.y" - { (yyval.sr) = 0; } + { (yyval.sr) = 0; ;} break; case 282: #line 1980 "compilers/imcc/imcc.y" - { (yyval.i) = (yyvsp[(1) - (1)].i); } + { (yyval.i) = (yyvsp[(1) - (1)].i); ;} break; case 283: #line 1981 "compilers/imcc/imcc.y" - { (yyval.i) = (yyvsp[(1) - (1)].i); } + { (yyval.i) = (yyvsp[(1) - (1)].i); ;} break; case 284: #line 1986 "compilers/imcc/imcc.y" { (yyval.i) =MK_I(interp, IMCC_INFO(interp)->cur_unit, inv_op((yyvsp[(3) - (6)].s)), 3, (yyvsp[(2) - (6)].sr), (yyvsp[(4) - (6)].sr), (yyvsp[(6) - (6)].sr)); - } + ;} break; case 285: #line 1990 "compilers/imcc/imcc.y" { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "unless_null", 2, (yyvsp[(3) - (5)].sr), (yyvsp[(5) - (5)].sr)); - } + ;} break; case 286: #line 1994 "compilers/imcc/imcc.y" { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "unless", 2, (yyvsp[(2) - (4)].sr), (yyvsp[(4) - (4)].sr)); - } + ;} break; case 287: #line 2001 "compilers/imcc/imcc.y" { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "if", 2, (yyvsp[(2) - (4)].sr), (yyvsp[(4) - (4)].sr)); - } + ;} break; case 288: #line 2005 "compilers/imcc/imcc.y" { (yyval.i) =MK_I(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) - (6)].s), 3, (yyvsp[(2) - (6)].sr), (yyvsp[(4) - (6)].sr), (yyvsp[(6) - (6)].sr)); - } + ;} break; case 289: #line 2009 "compilers/imcc/imcc.y" { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "if_null", 2, (yyvsp[(3) - (5)].sr), (yyvsp[(5) - (5)].sr)); - } + ;} break; case 290: #line 2015 "compilers/imcc/imcc.y" - { (yyval.t) = 0; } + { (yyval.t) = 0; ;} break; case 291: #line 2016 "compilers/imcc/imcc.y" - { (yyval.t) = 0; } + { (yyval.t) = 0; ;} break; case 292: #line 2020 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"eq"; } + { (yyval.s) = (char *)"eq"; ;} break; case 293: #line 2021 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"ne"; } + { (yyval.s) = (char *)"ne"; ;} break; case 294: #line 2022 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"gt"; } + { (yyval.s) = (char *)"gt"; ;} break; case 295: #line 2023 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"ge"; } + { (yyval.s) = (char *)"ge"; ;} break; case 296: #line 2024 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"lt"; } + { (yyval.s) = (char *)"lt"; ;} break; case 297: #line 2025 "compilers/imcc/imcc.y" - { (yyval.s) = (char *)"le"; } + { (yyval.s) = (char *)"le"; ;} break; case 300: #line 2034 "compilers/imcc/imcc.y" - { (yyval.sr) = NULL; } + { (yyval.sr) = NULL; ;} break; case 301: #line 2035 "compilers/imcc/imcc.y" - { (yyval.sr) = (yyvsp[(1) - (1)].sr); } + { (yyval.sr) = (yyvsp[(1) - (1)].sr); ;} break; case 302: #line 2039 "compilers/imcc/imcc.y" - { (yyval.sr) = IMCC_INFO(interp)->regs[0]; } + { (yyval.sr) = IMCC_INFO(interp)->regs[0]; ;} break; case 304: #line 2044 "compilers/imcc/imcc.y" - { IMCC_INFO(interp)->regs[IMCC_INFO(interp)->nargs++] = (yyvsp[(1) - (1)].sr); } + { IMCC_INFO(interp)->regs[IMCC_INFO(interp)->nargs++] = (yyvsp[(1) - (1)].sr); ;} break; case 305: @@ -4740,7 +4740,7 @@ IMCC_INFO(interp) -> keyvec |= KEY_BIT(IMCC_INFO(interp)->nargs); IMCC_INFO(interp) -> regs[IMCC_INFO(interp)->nargs++] = (yyvsp[(3) - (4)].sr); (yyval.sr) = (yyvsp[(1) - (4)].sr); - } + ;} break; case 306: @@ -4748,37 +4748,37 @@ { IMCC_INFO(interp) -> regs[IMCC_INFO(interp)->nargs++] = (yyvsp[(2) - (3)].sr); (yyval.sr) = (yyvsp[(2) - (3)].sr); - } + ;} break; case 308: #line 2060 "compilers/imcc/imcc.y" - { (yyval.sr) = mk_sub_address_fromc(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); } + { (yyval.sr) = mk_sub_address_fromc(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); ;} break; case 309: #line 2061 "compilers/imcc/imcc.y" - { (yyval.sr) = mk_sub_address_u(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); } + { (yyval.sr) = mk_sub_address_u(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); ;} break; case 310: #line 2065 "compilers/imcc/imcc.y" - { (yyval.sr) = mk_sub_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); } + { (yyval.sr) = mk_sub_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); ;} break; case 311: #line 2066 "compilers/imcc/imcc.y" - { (yyval.sr) = mk_sub_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); } + { (yyval.sr) = mk_sub_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); ;} break; case 312: #line 2070 "compilers/imcc/imcc.y" - { (yyval.sr) = mk_label_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); } + { (yyval.sr) = mk_label_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); ;} break; case 313: #line 2071 "compilers/imcc/imcc.y" - { (yyval.sr) = mk_label_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); } + { (yyval.sr) = mk_label_address(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); ;} break; case 318: @@ -4786,7 +4786,7 @@ { IMCC_INFO(interp)->nkeys = 0; IMCC_INFO(interp)->in_slice = 0; - } + ;} break; case 319: @@ -4795,7 +4795,7 @@ (yyval.sr) = link_keys(interp, IMCC_INFO(interp)->nkeys, IMCC_INFO(interp)->keys, 0); - } + ;} break; case 320: @@ -4803,7 +4803,7 @@ { IMCC_INFO(interp)->nkeys = 0; IMCC_INFO(interp)->in_slice = 0; - } + ;} break; case 321: @@ -4812,12 +4812,12 @@ (yyval.sr) = link_keys(interp, IMCC_INFO(interp)->nkeys, IMCC_INFO(interp)->keys, 1); - } + ;} break; case 322: #line 2111 "compilers/imcc/imcc.y" - { IMCC_INFO(interp)->keys[IMCC_INFO(interp)->nkeys++] = (yyvsp[(1) - (1)].sr); } + { IMCC_INFO(interp)->keys[IMCC_INFO(interp)->nkeys++] = (yyvsp[(1) - (1)].sr); ;} break; case 323: @@ -4825,7 +4825,7 @@ { IMCC_INFO(interp)->keys[IMCC_INFO(interp)->nkeys++] = (yyvsp[(3) - (3)].sr); (yyval.sr) = IMCC_INFO(interp)->keys[0]; - } + ;} break; case 324: @@ -4834,52 +4834,52 @@ if (IMCC_INFO(interp)->in_slice) (yyvsp[(1) - (1)].sr)->type |= VT_START_SLICE | VT_END_SLICE; (yyval.sr) = (yyvsp[(1) - (1)].sr); - } + ;} break; case 325: #line 2129 "compilers/imcc/imcc.y" - { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'I'); } + { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'I'); ;} break; case 326: #line 2130 "compilers/imcc/imcc.y" - { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'N'); } + { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'N'); ;} break; case 327: #line 2131 "compilers/imcc/imcc.y" - { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'S'); } + { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'S'); ;} break; case 328: #line 2132 "compilers/imcc/imcc.y" - { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'P'); } + { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'P'); ;} break; case 329: #line 2133 "compilers/imcc/imcc.y" - { (yyval.sr) = mk_pasm_reg(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); } + { (yyval.sr) = mk_pasm_reg(interp, (yyvsp[(1) - (1)].s)); mem_sys_free((yyvsp[(1) - (1)].s)); ;} break; case 330: #line 2137 "compilers/imcc/imcc.y" - { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'I'); mem_sys_free((yyvsp[(1) - (1)].s)); } + { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'I'); mem_sys_free((yyvsp[(1) - (1)].s)); ;} break; case 331: #line 2138 "compilers/imcc/imcc.y" - { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'N'); mem_sys_free((yyvsp[(1) - (1)].s)); } + { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'N'); mem_sys_free((yyvsp[(1) - (1)].s)); ;} break; case 332: #line 2139 "compilers/imcc/imcc.y" - { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'S'); mem_sys_free((yyvsp[(1) - (1)].s)); } + { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'S'); mem_sys_free((yyvsp[(1) - (1)].s)); ;} break; case 333: #line 2140 "compilers/imcc/imcc.y" - { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'U'); mem_sys_free((yyvsp[(1) - (1)].s)); } + { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'U'); mem_sys_free((yyvsp[(1) - (1)].s)); ;} break; Index: compilers/imcc/pcc.c =================================================================== --- compilers/imcc/pcc.c (revision 36065) +++ compilers/imcc/pcc.c (working copy) @@ -387,7 +387,7 @@ SymReg *regs[2]; /* if this sub is a method, unshift 'self' as first param */ - if ((unit->type & IMC_HAS_SELF) || (sub->pcc_sub->pragma & P_METHOD)) { + if ((unit->type & IMC_HAS_SELF) || (sub->pcc_sub->pragma & (P_METHOD | P_VTABLE))) { SymReg *self = get_sym(interp, "self"); if (!self) { self = mk_symreg(interp, "self", 'P'); Index: compilers/imcc/symreg.h =================================================================== --- compilers/imcc/symreg.h (revision 36065) +++ compilers/imcc/symreg.h (working copy) @@ -443,7 +443,7 @@ typedef enum { P_NONE = 0x00, /* 0<<0 */ P_NEED_LEX = 0x01, /* 1<<0 */ - /* P_XXXX = 0x02, */ /* 1<<1 */ + P_VTABLE = 0x02, /* 1<<1 */ P_METHOD = 0x04, /* 1<<2 */ P_ANON = SUB_FLAG_PF_ANON, /* 1<<3 0x8 - private3 */ P_MAIN = SUB_FLAG_PF_MAIN, /* 1<<4 0x10 - private4 */