Branch: Tag:

2002-05-09

2002-05-09 14:37:46 by Martin Stjernholm <mast@lysator.liu.se>

External/raw identifier references should not keep ID_INHERITED since the
identifier references are always local. They ought otoh be flagged ID_INLINE
since they are always statically bound.

Identifier overriding fixes; use the same algorithm when constants are
overridden as for functions. Also added some more debug helpers.

Rev: src/language.yacc:1.278
Rev: src/program.c:1.424
Rev: src/program.h:1.158

113:   /* This is the grammar definition of Pike. */      #include "global.h" - RCSID("$Id: language.yacc,v 1.277 2002/05/05 16:31:06 mast Exp $"); + RCSID("$Id: language.yacc,v 1.278 2002/05/09 14:37:45 mast Exp $");   #ifdef HAVE_MEMORY_H   #include <memory.h>   #endif
3193:    /* We need to generate a new reference. */    int d;    struct reference funp = Pike_compiler->new_program->identifier_references[i]; -  funp.id_flags |= ID_HIDDEN; +  funp.id_flags = (funp.id_flags & ~ID_INHERITED) | ID_INLINE|ID_HIDDEN;    i = -1;    for(d = 0; d < (int)Pike_compiler->new_program->num_identifier_references; d++) {    struct reference *refp;