pike.git / src / las.c

version» Context lines:

pike.git/src/las.c:1:   /*\   ||| This file a part of Pike, and is copyright by Fredrik Hubinette   ||| Pike is distributed as GPL (General Public License)   ||| See the files COPYING and DISCLAIMER for more information.   \*/   /**/   #include "global.h" - RCSID("$Id: las.c,v 1.203 2000/09/08 17:06:29 hubbe Exp $"); + RCSID("$Id: las.c,v 1.204 2000/09/09 19:39:44 hubbe Exp $");      #include "language.h"   #include "interpret.h"   #include "las.h"   #include "array.h"   #include "object.h"   #include "stralloc.h"   #include "dynamic_buffer.h"   #include "lex.h"   #include "pike_types.h"
pike.git/src/las.c:111: Inside #if defined(PIKE_DEBUG)
   int parent_id = n->u.integer.a;    int id_no = n->u.integer.b;    struct program_state *state = Pike_compiler;    while (state && (state->new_program->id != parent_id)) {    state = state->previous;    }    if (state) {    struct identifier *id = ID_FROM_INT(state->new_program, id_no);    if (id) {   #ifdef PIKE_DEBUG +  /* FIXME: This test crashes on valid code because the type of the +  * identifier can change in pass 2 - Hubbe +  */    if(id->type != n->type)    {    printf("Type of external node is not matching it's identifier.\nid->type: ");    simple_describe_type(id->type);    printf("\nn->type : ");    simple_describe_type(n->type);    printf("\n");       fatal("Type of external node is not matching it's identifier.\n");    }
pike.git/src/las.c:1007:    res->u.integer.a = parent_prog->id;    res->u.integer.b = i;       /* Bzot-i-zot */    if(parent_prog != Pike_compiler->new_program)    Pike_compiler->new_program->flags |= PROGRAM_USES_PARENT;       res=freeze_node(res);      #ifdef PIKE_DEBUG -  if(id->type != res->type) +  /* FIXME: This test crashes on valid code because the type of the +  * identifier can change in pass 2 -Hubbe +  */ +  if(d_flag && id->type != res->type)    {    printf("Type of external node is not matching it's identifier.\nid->type: ");    simple_describe_type(id->type);    printf("\nres->type : ");    simple_describe_type(res->type);    printf("\n");       fatal("Type of external node is not matching it's identifier.\n");    }   #endif
pike.git/src/las.c:2821:       while (state && (state->new_program->id != program_id)) {    state = state->previous;    }       if (state) {    struct identifier *id = ID_FROM_INT(state->new_program, id_no);    if (id && id->name) {    name = id->name->str;   #ifdef PIKE_DEBUG +  /* FIXME: This test crashes on valid code because the type of the +  * identifier can change in pass 2 -Hubbe +  */    if(id->type != f)    {    printf("Type of external node is not matching it's identifier.\nid->type: ");    simple_describe_type(id->type);    printf("\nf : ");    simple_describe_type(f);    printf("\n");       fatal("Type of external node is not matching it's identifier.\n");    }