anchor.diff:  ]
   ;
   
  -initial_value_pack(struct type **tpp; struct expr **expp;) :
  +initial_value_pack(struct type **tpp; struct expr **expp;)
  +	{ static int level; }
  +:
   	'{'
  +			{ if (level == 0) gen_error = 0; level++; }
   	initial_value_list(tpp, expp)
  +			{ level--;
  +			  if (! level) {
  +				while (p_stack) {
  +					struct e_stack *p = p_stack->next;
  +
  +					free_e_stack(p_stack);
  +					p_stack = p;
  +				}
  +			  }
  +			}
   	'}'
   ;
   
  
positive.code: 	}
  }
  
  struct e_stack *p_stack;
  
  struct type **
  arr_elem(tpp, p)
  	struct type **tpp;
  
negative.code: 	register struct sdef *sd;
  	register struct e_stack *p = p_stack;
  
  	if (gen_error) if (p) return p->s_tpp; else return 0;
  again:
  	tp = *(p->s_tpp);
  	switch(tp->tp_fund) {
  