From 12bdcd6ac5192f53df9089ef9b0e4cc8256e4970 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net> Date: Thu, 8 Apr 1999 21:14:25 -0700 Subject: [PATCH] virtual overloading should now work again Rev: src/program.c:1.121 --- src/program.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/program.c b/src/program.c index 0a3968fb2d..ef00604d7b 100644 --- a/src/program.c +++ b/src/program.c @@ -5,7 +5,7 @@ \*/ /**/ #include "global.h" -RCSID("$Id: program.c,v 1.120 1999/04/07 23:10:10 hubbe Exp $"); +RCSID("$Id: program.c,v 1.121 1999/04/09 04:14:25 hubbe Exp $"); #include "program.h" #include "object.h" #include "dynamic_buffer.h" @@ -1849,6 +1849,7 @@ INT32 define_function(struct pike_string *name, } /* We modify the old definition if it is in this program */ + if(ref.inherit_offset==0) { if(func) @@ -1858,8 +1859,10 @@ INT32 define_function(struct pike_string *name, funp->identifier_flags=function_flags; }else{ - if(compiler_pass==1 || (ref.id_flags & ID_INLINE)) + if(ref.id_flags & ID_INLINE) + { goto make_a_new_def; + } /* Otherwise we make a new definition */ copy_shared_string(fun.name, name); @@ -1887,6 +1890,7 @@ INT32 define_function(struct pike_string *name, } make_a_new_def: + #ifdef PIKE_DEBUG if(compiler_pass==2) fatal("Internal error: Not allowed to add more identifiers during second compiler pass.\n"); -- GitLab