pike.git
/
src
/
docode.c
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/docode.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.
-
|| $Id: docode.c,v 1.
160
2002
/
11
/
23
16
:
36
:
44
mast
Exp $
+
|| $Id: docode.c,v 1.
161
2003
/
01
/
26
15
:
29
:
23
mirar
Exp $
*/ #include "global.h"
-
RCSID("$Id: docode.c,v 1.
160
2002
/
11
/
23
16
:
36
:
44
mast
Exp $");
+
RCSID("$Id: docode.c,v 1.
161
2003
/
01
/
26
15
:
29
:
23
mirar
Exp $");
#include "las.h" #include "program.h" #include "pike_types.h" #include "stralloc.h" #include "interpret.h" #include "constants.h" #include "array.h" #include "pike_macros.h" #include "pike_error.h" #include "pike_memory.h"
pike.git/src/docode.c:2034:
return DO_NOT_WARN((INT32)tmp1); case F_CONSTANT: switch(n->u.sval.type) { case T_INT: if(!n->u.sval.u.integer && n->u.sval.subtype==NUMBER_UNDEFINED) { emit0(F_UNDEFINED); }else{
+
#if SIZEOF_INT_TYPE > 4
+
INT_TYPE i=n->u.sval.u.integer;
+
if (i != (INT32)i)
+
{
+
INT_TYPE ip=i;
+
INT32 a,b;
+
+
if (ip<0) ip=-ip;
+
a=(INT32)(ip>>32);
+
b=(INT32)(ip&0xffffffff);
+
if (i<0) a=-a;
+
+
emit2(F_NUMBER64,a,b);
+
}
+
else
+
emit1(F_NUMBER,i);
+
#else
emit1(F_NUMBER,n->u.sval.u.integer);
-
+
#endif
} return 1; case T_STRING: tmp1=store_prog_string(n->u.sval.u.string); emit1(F_STRING, DO_NOT_WARN((INT32)tmp1)); return 1; case T_FUNCTION: if(n->u.sval.subtype!=FUNCTION_BUILTIN)