diff options
| author | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-05-26 21:05:05 +0000 |
|---|---|---|
| committer | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-05-26 21:05:05 +0000 |
| commit | c48d6aec0af8828ffbb14e2d8f25d7596bc98184 (patch) | |
| tree | 9959d4042ddd7272bf7d0408e17421eae99253b4 /libjava/java | |
| parent | c752e59be6ef3dba14ae47c5d6c82fe08085fac5 (diff) | |
| download | ppe42-gcc-c48d6aec0af8828ffbb14e2d8f25d7596bc98184.tar.gz ppe42-gcc-c48d6aec0af8828ffbb14e2d8f25d7596bc98184.zip | |
Fix goto checking.
* cp-tree.h (struct language_function): x_named_labels is now
a struct named_label_list*.
* decl.c (struct named_label_use_list): Renamed from...
(struct named_label_list): ...this. New struct.
(push_binding_level): Don't set eh_region.
(note_level_for_eh): New fn.
(pop_label): Take label and old value directly.
(pop_labels): Adjust for new named_labels format.
(lookup_label): Likewise.
(poplevel): Note characteristics of a binding level containing a
named label. Mess with named label lists earlier.
(mark_named_label_lists): New fn.
(mark_lang_function): Call it.
(use_label): New fn, split out from...
(make_label_decl): ...here. Don't call it.
(decl_jump_unsafe, check_previous_goto, check_previous_goto_1,
check_previous_gotos): New fns, split out from...
(define_label): ...here.
(check_switch_goto): New fn.
(define_case_label): Call it.
(check_goto): New fn.
* semantics.c (finish_goto_stmt): Call it and use_label.
(begin_compound_stmt): If we're a try block, call note_level_for_eh.
(expand_stmt): Never pass 1 as DONT_JUMP_IN to expand_end_bindings.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34198 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java')
0 files changed, 0 insertions, 0 deletions

