pike.git
/
src
/
operators.c
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/operators.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. \*/ /**/ #include "global.h" #include <math.h>
-
RCSID("$Id: operators.c,v 1.
155
2002/06/
17
17
:
35
:
20
grubba Exp $");
+
RCSID("$Id: operators.c,v 1.
156
2002/06/
25
14
:
26
:
41
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:2981:
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();
-
#ifdef USE_PIKE_TYPE
+
if (sp[-1].u.type->type == T_NOT) { push_finished_type(sp[-1].u.type->car); } else { 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) {