aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.h
diff options
context:
space:
mode:
authorMark Mitchell <mmitchel@gcc.gnu.org>1999-08-29 00:51:31 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>1999-08-29 00:51:31 +0000
commitb5434ee085ff13e95435313b907eff3f2f99f931 (patch)
treebb9a1aa55eda7536113cfcbec3382d778daf45e7 /gcc/function.h
parent5aabad0023667049e899ee4d16688a8b6bd73e48 (diff)
downloadgcc-b5434ee085ff13e95435313b907eff3f2f99f931.zip
gcc-b5434ee085ff13e95435313b907eff3f2f99f931.tar.gz
gcc-b5434ee085ff13e95435313b907eff3f2f99f931.tar.bz2
cp-tree.def (LABEL_STMT): New tree node.
* cp-tree.def (LABEL_STMT): New tree node. (LABEL_STMT_LABEL): New macro. (shadow_label): Remove. (declare_local_label): New function. (finish_label_decl): Likewise. * decl.c (make_label_decl): New function, split out from lookup_label. (shadowed_labels): Remove. (binding_level): Add shadowed_labels. (clear_binding_level): Remove. (push_binding_level): Just bzero the new binding level. (pushlevel): Fix indentation. (pop_label): New function. (pop_labels): Likewise, split out from poplevel. (poplevel): Pop local labels. Use pop_labels. (maybe_push_to_top_level): Don't clear shadowed_labels. (lookup_label): Use make_label_decl. (shadow_label): Remove. (declare_local_label): New function. (define_label): Simplify. (start_function): Don't clear shadowed_labels. (cp_function): Remove shadowed_labels. (push_cp_function_context): Don't save shadowed_labels. (pop_cp_function_context): Don't restore it. * dump.c (dequeue_and_dump): Handle LABEL_STMT. * parse.y (label_decl): Use finish_label_decl. * pt.c (tsubst_expr): Handle LABEL_STMTs, and local label declarations. * semantics.c (finish_label_stmt): Add a LABEL_STMT when building_stmt_tree. (finish_label_decl): New function. (expand_stmt): Handle LABEL_STMTs and local label declarations. From-SVN: r28950
Diffstat (limited to 'gcc/function.h')
0 files changed, 0 insertions, 0 deletions