pike.git / src / docode.c

version» Context lines:

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)