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.710 2008/05/30 11:20:43 grubba Exp $ + || $Id: program.c,v 1.711 2008/05/30 16:17: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:1646:       CHECK_COMPILER();       ref_push_string(ident);    ref_push_string(c->lex.current_file);    if (c->handler) {    ref_push_object(c->handler);    } else {    push_int(0);    } -  if (!safe_apply_current2(PC_RESOLV_FUN_NUM, 3, NULL)) { -  if(Pike_compiler->compiler_pass==2) { -  if (throw_value.type == T_STRING) { -  my_yyerror("%S", throw_value.u.string); -  free_svalue(&throw_value); -  mark_free_svalue (&throw_value); -  } -  else { +  if (!safe_apply_current2(PC_RESOLV_FUN_NUM, 3, NULL))    handle_compile_exception ("Error resolving %S.", ident); -  } -  } else { -  /* FIXME: Error goes to /dev/null. Now we get a warning at -  * least in rtldebug mode, but this borken, borken, boRKen. :P */ -  struct svalue thrown; -  move_svalue (&thrown, &throw_value); -  mark_free_svalue (&throw_value); - #ifdef PIKE_DEBUG -  { -  struct pike_string *msg = format_exception_for_error_msg (&thrown); -  if (msg) { -  yywarning("Ignoring resolv() exception in pass %d:", -  Pike_compiler->compiler_pass); -  yywarning ("%S", msg); -  free_string (msg); -  } -  else -  yywarning("Ignoring resolv() exception in pass %d", -  Pike_compiler->compiler_pass); -  } - #endif -  free_svalue (&thrown); -  } -  } +        if (Pike_compiler->compiler_pass == 2 &&    ((Pike_sp[-1].type == T_OBJECT &&    Pike_sp[-1].u.object == placeholder_object) ||    (Pike_sp[-1].type == T_PROGRAM &&    Pike_sp[-1].u.program == placeholder_program))) {    my_yyerror("Got placeholder %s (resolver problem) "    "when resolving %S.",    get_name_of_type (Pike_sp[-1].type), ident->str);    } else {