Unified · Split
| @@ -4326,14 +4326,11 @@ static void block(int *bsym, int *csym, int *case_sym, int *def_sym, · 4325 unmodified lines | |||
| 4326 | gsym_addr(b, d); | 4326 | gsym_addr(b, d); |
| 4327 | } else if (tok == '{') { | 4327 | } else if (tok == '{') { |
| 4328 | Sym *llabel; | 4328 | Sym *llabel; |
| 4329 | SValue *pvtop; | ||
| 4330 | 4329 | ||
| 4331 | next(); | 4330 | next(); |
| 4332 | /* record local declaration stack position */ | 4331 | /* record local declaration stack position */ |
| 4333 | s = local_stack; | 4332 | s = local_stack; |
| 4334 | llabel = local_label_stack; | 4333 | llabel = local_label_stack; |
| 4335 | /* record vstack position */ | ||
| 4336 | pvtop = vtop; | ||
| 4337 | /* handle local labels declarations */ | 4334 | /* handle local labels declarations */ |
| 4338 | if (tok == TOK_LABEL) { | 4335 | if (tok == TOK_LABEL) { |
| 4339 | next(); | 4336 | next(); |
| @@ -4360,8 +4357,6 @@ static void block(int *bsym, int *csym, int *case_sym, int *def_sym, · 20 unmodified lines | |||
| 4360 | } | 4357 | } |
| 4361 | /* pop locally defined labels */ | 4358 | /* pop locally defined labels */ |
| 4362 | label_pop(&local_label_stack, llabel); | 4359 | label_pop(&local_label_stack, llabel); |
| 4363 | /* pop left-over VLA size expressions */ | ||
| 4364 | vtop = pvtop; | ||
| 4365 | if(is_expr) { | 4360 | if(is_expr) { |
| 4366 | /* XXX: this solution makes only valgrind happy... | 4361 | /* XXX: this solution makes only valgrind happy... |
| 4367 | triggered by gcc.c-torture/execute/20000917-1.c */ | 4362 | triggered by gcc.c-torture/execute/20000917-1.c */ |