1. 22 Jul, 2003 7 commits
  2. 21 Jul, 2003 23 commits
  3. 20 Jul, 2003 8 commits
  4. 19 Jul, 2003 2 commits
    • * c-decl.c (named_labels, shadowed_labels, label_level_chain) · 14e33ee8
      	(push_label_level, pop_label_level): Kill.
      	(struct binding_level): Rename level_chain to outer.
      	Add outer_function field.  Change parm_flag, function_body,
      	keep, keep_if_subblocks to 1-bit bitfields of type bool.
      	(current_function_level): New variable.
      	(keep_next_level_flag, keep_next_if_subblocks): Change type to bool.
      	(keep_next_level, declare_parm_level, warn_if_shadowing):
      	Update to match.
      	(struct language_function): Kill named_labels, shadowed_labels fields.
      	(c_init_decl_processing, start_function, c_push__function_context)
      	(c_pop_function_context): No need to muck with named_labels nor
      	shadowed_labels.
      
      	(make_binding_level): No need to clear the structure here.
      	(pop_binding_level): Always operate on current_binding_level.
      	Update current_function_level if necessary.
      	(pushlevel): Don't clear named_labels.  Update current_function_level
      	if necessary.  Use "true" and "false" where appropriate.
      	(poplevel): Diagnose labels defined but not used, or vice
      	versa, and clear out label-meanings leaving scope, while
      	walking down the decls list, for all binding levels.
      	Handle LABEL_DECLs appearing in the shadowed list.
      	pop_binding_level takes no arguments.
      	(pushdecl_function_level): Use current_function_level.
      
      	(make_label, bind_label): New static functions.
      	(declare_label): New exported function.
      	(lookup_label, define_label): Rewritten for new data structure.
      	(shadow_label): Kill.
      
      	* c-tree.h: Prototype declare_label; don't prototype
      	push_label_level, pop_label_level, nor shadow_label.
      	* c-parse.in: Remove all calls to push_label_level and
      	pop_label_level.  Use declare_label for __label__ decls.
      
      	* doc/extend.texi: Clarify that __label__ can be used to
      	declare labels with local scope in any nested block, not
      	just statement expressions.  Cross-reference nested functions
      	section from local labels section.
      
      testsuite:
      	* gcc.dg/noncompile/label-1.c: New comprehensive test case for
      	diagnostics of ill-formed constructs involving labels.
      	* gcc.dg/noncompile/label-lineno-1.c: Add error regexp for
      	the new 'previously defined here' message.
      
      From-SVN: r69597
      Zack Weinberg committed
    • * mauve-libgcj: Don't run CollationElementIterator tests. · 1b339d86
      From-SVN: r69596
      Tom Tromey committed