From b77a60117175707cc72afd7e0151fce5c1cf600d Mon Sep 17 00:00:00 2001 From: Martin Stjernholm <mast@lysator.liu.se> Date: Tue, 23 Jul 2002 15:23:04 +0200 Subject: [PATCH] Reverted the stricter object comparison introduced in 1.190 in a case that probably caused a function prototype to mismatch itself between the first and second passes. Rev: src/pike_types.c:1.192 --- src/pike_types.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/pike_types.c b/src/pike_types.c index dbd5d46660..d36881149d 100644 --- a/src/pike_types.c +++ b/src/pike_types.c @@ -5,7 +5,7 @@ \*/ /**/ #include "global.h" -RCSID("$Id: pike_types.c,v 1.191 2002/07/23 12:03:56 grubba Exp $"); +RCSID("$Id: pike_types.c,v 1.192 2002/07/23 13:23:04 mast Exp $"); #include <ctype.h> #include "svalue.h" #include "pike_types.h" @@ -2516,10 +2516,16 @@ static struct pike_type *low_match_types2(struct pike_type *a, if(a->cdr != b->cdr) return 0; }else{ /* object(0 *) =? object(0 *) */ +#if 0 + /* This is known to cause trouble in some cases when comparing + * the same function prototype in the first and second passes + * (got "Prototype doesn't match for function foo" even though + * there was no other prototype for that function). /mast */ struct program *ap,*bp; ap = id_to_program((ptrdiff_t)a->cdr); bp = id_to_program((ptrdiff_t)b->cdr); if (!is_compatible(ap, bp)) return 0; +#endif break; } } -- GitLab