Mercurial > hg > CbC > old > device
diff mc.h @ 81:f94ca1168520
float first try...
author | kono |
---|---|
date | Mon, 03 Mar 2003 20:59:51 +0900 |
parents | 8418d4b7caa7 |
children | 25654dc29ecc |
line wrap: on
line diff
--- a/mc.h Mon Mar 03 05:41:10 2003 +0900 +++ b/mc.h Mon Mar 03 20:59:51 2003 +0900 @@ -147,10 +147,10 @@ #define SASS 68 #define RSTRUCT 69 -#define FMUL 70 -#define FDIV 71 -#define FADD 72 -#define FSUB 73 +#define FASSOP 70 +#define DASSOP 71 + +#define DMINUS 73 #define DMUL 74 #define DDIV 75 #define DADD 76 @@ -160,8 +160,28 @@ #define LADD 80 #define LSUB 81 +#define FRGVAR 82 +#define FRLVAR 83 +#define FRINDIRECT 84 +#define DRGVAR 85 +#define DRLVAR 86 +#define DRINDIRECT 87 +#define LRGVAR 88 +#define LRLVAR 89 +#define LRINDIRECT 90 +#define DCONST 91 +#define LCONST 92 +#define DASS 93 +#define FASS 94 +#define LASS 95 +#define SHASS 96 + +#define I2D 97 +#define D2I 98 + #define US 1 -#define AS 100 +#define AS 200 +#define DOP 300 #define FILERR 1 #define DCERR 2 @@ -203,6 +223,7 @@ EXTERN int symval,args,init_vars,heap[HEAPSIZE]; EXTERN int blabel,clabel,dlabel,cslabel,ilabel,control,ac,ac2,lsrc,chk,asmf; EXTERN int MAX_REGISTER_VAR; +EXTERN double dsymval; EXTERN unsigned hash; @@ -212,6 +233,7 @@ EXTERN char *name,*cheapp,**av,/*obuf[320],*/*sptr,escape(void); EXTERN int arg_offset,stat_no,size_of_int,disp_offset,endian,csvalue1; EXTERN int code_arg_offset; +EXTERN int size_of_double,size_of_float,size_of_longlong; EXTERN int retlabel,retpending,retcont; EXTERN int arglist; @@ -234,6 +256,7 @@ extern void error(int n); extern int size(int t); extern int scalar(int t); +extern int dlist2(int e1, double e2); extern int list2(int e1, int e2); extern int list3(int e1, int e2, int e3); extern int list4(int e1, int e2, int e3,int e4); @@ -253,6 +276,9 @@ #define cadddr(e) (heap[((int)(e))+3]) +#define dcadr(e) (*(double*)&heap[((int)(e))+1]) +#define dcaddr(e) (*(double*)&heap[((int)(e))+2]) + #include "conv/conv.h" #include "conv/c.h" /*