pike.git / src / program.c

version» Context lines:

pike.git/src/program.c:1:   /*   || 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.746 2008/08/17 15:50:53 mast Exp $ + || $Id: program.c,v 1.747 2008/08/17 15:59:07 mast Exp $   */      #include "global.h"   #include "program.h"   #include "object.h"   #include "dynamic_buffer.h"   #include "pike_types.h"   #include "stralloc.h"   #include "las.h"   #include "lex.h"
pike.git/src/program.c:9360:    return c->p; /* freed later */    }else{    CDFPRINTF((stderr, "th(%ld) %p compile() finish now\n",    (long) th_self(), c->target));    /* finish now */    if(c->p) run_pass2(c);    debug_malloc_touch(c);    run_cleanup(c,0);       ret=c->p; +  /* FIXME: Looks like ret should get an extra ref here, but I'm not +  * sure. Besides, this function isn't used anymore. /mast */       debug_malloc_touch(c);    free_object(ce);       if (!dependants_ok) {    CDFPRINTF((stderr, "th(%ld) %p compile() reporting failure "    "since a dependant failed.\n",    (long) th_self(), c->target)); -  +  if (ret) free_program(ret);    throw_error_object(fast_clone_object(compilation_error_program), 0, 0, 0,    "Compilation failed.\n");    }    if(!ret) {    CDFPRINTF((stderr, "th(%ld) %p compile() failed.\n",    (long) th_self(), c->target));    throw_error_object(fast_clone_object(compilation_error_program), 0, 0, 0,    "Compilation failed.\n");    }    debug_malloc_touch(ret);