Branch: Tag:

1999-11-25

1999-11-25 00:56:27 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

stricter typechecking implemented

Rev: src/language.yacc:1.137
Rev: src/las.c:1.132
Rev: src/pike_types.c:1.74
Rev: src/svalue.h:1.40
Rev: src/testsuite.in:1.239

5:   \*/   /**/   #include "global.h" - RCSID("$Id: pike_types.c,v 1.73 1999/11/25 00:09:56 grubba Exp $"); + RCSID("$Id: pike_types.c,v 1.74 1999/11/25 00:56:25 hubbe Exp $");   #include <ctype.h>   #include "svalue.h"   #include "pike_types.h"
991:    }    else if(EXTRACT_UCHAR(t1)==T_INT && EXTRACT_UCHAR(t2)==T_INT)    { +  /* FIXME: +  * This should only be done if the ranges are +  * overlapping or adjecant to each other. /Hubbe +  */    INT32 i1,i2;    i1=extract_type_int(t1+1+sizeof(INT32));    i2=extract_type_int(t2+1+sizeof(INT32));
1464:       /* 'mixed' matches anything */    -  if((EXTRACT_UCHAR(a) == T_ZERO && !(flags & A_EXACT) && -  EXTRACT_UCHAR(b) != T_VOID) || -  (EXTRACT_UCHAR(a) == T_MIXED && !(flags & A_EXACT))) +  if(((EXTRACT_UCHAR(a) == T_ZERO || EXTRACT_UCHAR(a) == T_MIXED) && +  !(flags & A_EXACT) && +  EXTRACT_UCHAR(b) != T_VOID))    {   #if 1    switch(EXTRACT_UCHAR(b))
1489:    return a;    }    -  if((EXTRACT_UCHAR(b) == T_MIXED && !(flags & B_EXACT)) || -  (EXTRACT_UCHAR(b) == T_ZERO && !(flags & B_EXACT) && +  if((( EXTRACT_UCHAR(b) == T_ZERO || EXTRACT_UCHAR(b) == T_MIXED) && +  !(flags & B_EXACT) &&    EXTRACT_UCHAR(a) != T_VOID))    {   #if 1