Branch: Tag:

2003-02-24

2003-02-24 21:00:45 by Martin Stjernholm <mast@lysator.liu.se>

Produce real zeroes and not false function pointers when a local function
with only a prototype is referenced. This was a compatibility problem;
there's code that assumes that false values can't be function references.

Rev: src/docode.c:1.163
Rev: src/las.c:1.325
Rev: src/program.c:1.483
Rev: src/program.h:1.178

2:   || This file is part of Pike. For copyright information see COPYRIGHT.   || Pike is distributed under GPL, LGPL and MPL. See the file COPYING   || for more information. - || $Id: program.c,v 1.482 2003/02/20 14:55:12 grubba Exp $ + || $Id: program.c,v 1.483 2003/02/24 21:00:45 mast Exp $   */      #include "global.h" - RCSID("$Id: program.c,v 1.482 2003/02/20 14:55:12 grubba Exp $"); + RCSID("$Id: program.c,v 1.483 2003/02/24 21:00:45 mast Exp $");   #include "program.h"   #include "object.h"   #include "dynamic_buffer.h"
4289:       /* We modify the old definition if it is in this program */    +  if (funp->identifier_flags & IDENTIFIER_HAS_BODY) +  /* Keep this flag. */ +  function_flags |= IDENTIFIER_HAS_BODY; +     if(!(ref.id_flags & ID_INHERITED))    {    if(func)