pike.git / src / operators.c

version» Context lines:

pike.git/src/operators.c:1:   /*\   ||| This file a part of Pike, and is copyright by Fredrik Hubinette   ||| Pike is distributed as GPL (General Public License)   ||| See the files COPYING and DISCLAIMER for more information.   \*/   /**/   #include "global.h"   #include <math.h> - RCSID("$Id: operators.c,v 1.127 2001/02/25 17:40:19 hubbe Exp $"); + RCSID("$Id: operators.c,v 1.128 2001/02/26 21:46:15 grubba Exp $");   #include "interpret.h"   #include "svalue.h"   #include "multiset.h"   #include "mapping.h"   #include "array.h"   #include "stralloc.h"   #include "opcodes.h"   #include "operators.h"   #include "language.h"   #include "pike_memory.h"
pike.git/src/operators.c:2813:    case T_INT:    sp[-1].u.integer = ~ sp[-1].u.integer;    break;       case T_FLOAT:    sp[-1].u.float_number = -1.0 - sp[-1].u.float_number;    break;       case T_TYPE:    type_stack_mark(); -  if (EXTRACT_UCHAR(sp[-1].u.string->str) == T_NOT) { -  push_unfinished_type(sp[-1].u.string->str + 1); + #ifdef USE_PIKE_TYPE +  if (sp[-1].u.type->type == T_NOT) { +  push_finished_type(sp[-1].u.type->car);    } else { -  push_unfinished_type(sp[-1].u.string->str); +  push_finished_type(sp[-1].u.type);    push_type(T_NOT);    } -  + #else /* !USE_PIKE_TYPE */ +  if (EXTRACT_UCHAR(sp[-1].u.type->str) == T_NOT) { +  push_unfinished_type(sp[-1].u.type->str + 1); +  } else { +  push_finished_type(sp[-1].u.type); +  push_type(T_NOT); +  } + #endif /* USE_PIKE_TYPE */    pop_stack();    push_type_value(pop_unfinished_type());    break;       case T_FUNCTION:    case T_PROGRAM:    {    /* !object(p) */    struct program *p = program_from_svalue(sp - 1);    if (!p) {