diff options
Diffstat (limited to 'gcc/objc/objc-act.c')
| -rw-r--r-- | gcc/objc/objc-act.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c index 986fb9f24ba..62d5c84f9d8 100644 --- a/gcc/objc/objc-act.c +++ b/gcc/objc/objc-act.c @@ -7666,12 +7666,19 @@ objc_start_function (tree name, tree type, tree attrs, cplus_decl_attributes (&fndecl, attrs, 0); start_preparsed_function (fndecl, attrs, /*flags=*/SF_DEFAULT); #else - struct c_label_context *nstack; - nstack = XOBNEW (&parser_obstack, struct c_label_context); - nstack->labels_def = NULL; - nstack->labels_used = NULL; - nstack->next = label_context_stack; - label_context_stack = nstack; + struct c_label_context_se *nstack_se; + struct c_label_context_vm *nstack_vm; + nstack_se = XOBNEW (&parser_obstack, struct c_label_context_se); + nstack_se->labels_def = NULL; + nstack_se->labels_used = NULL; + nstack_se->next = label_context_stack_se; + label_context_stack_se = nstack_se; + nstack_vm = XOBNEW (&parser_obstack, struct c_label_context_vm); + nstack_vm->labels_def = NULL; + nstack_vm->labels_used = NULL; + nstack_vm->scope = 0; + nstack_vm->next = label_context_stack_vm; + label_context_stack_vm = nstack_vm; decl_attributes (&fndecl, attrs, 0); announce_function (fndecl); DECL_INITIAL (fndecl) = error_mark_node; |

