diff mc.h @ 680:f536897fa3cb

*** empty log message ***
author kono
date Sun, 29 Jul 2007 23:09:38 +0900
parents 5e71527f9fd6
children e16b34f2b386
line wrap: on
line diff
--- a/mc.h	Fri May 25 19:28:25 2007 +0900
+++ b/mc.h	Sun Jul 29 23:09:38 2007 +0900
@@ -261,49 +261,50 @@
 #define RBIT_FIELD 	48
 #define BPREINC 	49
 #define BPOSTINC 	50
-#define CONV   	51
+#define CAST 	51
+#define CONV   	52
 
 #define UNARY_ARGS(i) (ADDRESS<=(i%SOP)&&(i%SOP)<=CONV)
 
 /* binary  argments */
 
-#define MUL    	52
-#define UMUL   	53
-#define DIV    	54
-#define UDIV   	55
-#define MOD    	56
-#define UMOD   	57
-#define ADD    	58
-#define SUB    	59
-#define CMP    	60      
-#define RSHIFT 	61
-#define URSHIFT	62
-#define LSHIFT 	63
-#define ULSHIFT	64
-#define GT     	65
-#define UGT    	66
-#define GE     	67
-#define UGE    	68
-#define LT     	69
-#define ULT    	70
-#define LE     	71
-#define ULE    	72
-#define EQ     	73
-#define NEQ    	74
-#define BAND   	75
-#define EOR    	76
-#define BOR    	77
-#define LAND   	78
-#define LOR    	79
-#define ASS    	80
-#define UCMP   	81
-#define UCMPGE 	82
-#define CMPGE  	83
-#define CMPEQ  	84
-#define CMPNEQ 	85
-#define ASSOP  	86
-#define UASSOP 	87
-#define COMMA  	88
+#define MUL    	53
+#define UMUL   	54
+#define DIV    	55
+#define UDIV   	56
+#define MOD    	57
+#define UMOD   	58
+#define ADD    	59
+#define SUB    	60
+#define CMP    	61      
+#define RSHIFT 	62
+#define URSHIFT	63
+#define LSHIFT 	64
+#define ULSHIFT	65
+#define GT     	66
+#define UGT    	67
+#define GE     	68
+#define UGE    	69
+#define LT     	70
+#define ULT    	71
+#define LE     	72
+#define ULE    	73
+#define EQ     	74
+#define NEQ    	75
+#define BAND   	76
+#define EOR    	77
+#define BOR    	78
+#define LAND   	79
+#define LOR    	80
+#define ASS    	81
+#define UCMP   	82
+#define UCMPGE 	83
+#define CMPGE  	84
+#define CMPEQ  	85
+#define CMPNEQ 	86
+#define ASSOP  	87
+#define UASSOP 	88
+#define COMMA  	89
 
 #define CASS   	(COP+ASS)
 #define CASSOP 	(COP+ASSOP)
@@ -363,21 +364,21 @@
 #define LEOR    (LOP+EOR)
 #define LBOR    (LOP+BOR)
 
-#define BASS   	89
-#define BASSOP 	90
-#define BFD_REPL 	91
+#define BASS   	90
+#define BASSOP 	91
+#define BFD_REPL 	92
 
-#define JUMP 	92
+#define JUMP 	93
 
-#define STASS  	93
+#define STASS  	94
 
 
 #define BINARY_ARGS(i) ((MUL<=(i%SOP)&&(i%SOP)<=STASS)||i==ARRAY)
 
 /* ternary  argments */
 
-#define COND   	94
-#define UCOND  	95
+#define COND   	95
+#define UCOND  	96
 #define SCOND   (SOP+COND)
 #define SUCOND   (SOP+UCOND)
 #define DCOND   (DOP+COND)
@@ -389,33 +390,33 @@
 
 /* not appeared as tags */
 
-#define LPAR   	96
-#define RPAR   	97
-#define LBRA   	98
-#define RBRA   	99
-#define LC     	100
-#define RC     	101
-#define COLON  	102
-#define SM     	103
-#define CNAME  	104
+#define LPAR   	97
+#define RPAR   	98
+#define LBRA   	99
+#define RBRA   	100
+#define LC     	101
+#define RC     	102
+#define COLON  	103
+#define SM     	104
+#define CNAME  	105
 
-#define I2C  	105
-#define I2S  	106
-#define I2I    	107
-#define I2U    	108
-#define I2D    	109
-#define I2F    	110
-#define I2LL   	111
-#define I2ULL  	112
+#define I2C  	106
+#define I2S  	107
+#define I2I    	108
+#define I2U    	109
+#define I2D    	110
+#define I2F    	111
+#define I2LL   	112
+#define I2ULL  	113
 
-#define U2UC  	113
-#define U2US  	114
-#define U2I    	115
-#define U2U    	116
-#define U2D    	117
-#define U2F    	118
-#define U2LL   	119
-#define U2ULL  	120
+#define U2UC  	114
+#define U2US  	115
+#define U2I    	116
+#define U2U    	117
+#define U2D    	118
+#define U2F    	119
+#define U2LL   	120
+#define U2ULL  	121
 
 
 #define D2I     (DOP+I2I)
@@ -450,27 +451,27 @@
 
 /* statement start */
 
-#define ST_DECL		121
-#define ST_IF		122
-#define ST_DO		123
-#define ST_WHILE	124
-#define ST_FOR		125
-#define ST_SWITCH	126
-#define ST_COMP		127
-#define ST_BREAK	128
-#define ST_CONTINUE	129
-#define ST_CASE		130
-#define ST_DEFAULT	131
-#define ST_RETURN	132
-#define ST_GOTO		133
-#define ST_ASM		134
-#define ST_LABEL	135
-#define ST_OP		136
-#define ST_COMMENT	137
+#define ST_DECL		122
+#define ST_IF		123
+#define ST_DO		124
+#define ST_WHILE	125
+#define ST_FOR		126
+#define ST_SWITCH	127
+#define ST_COMP		128
+#define ST_BREAK	129
+#define ST_CONTINUE	130
+#define ST_CASE		131
+#define ST_DEFAULT	132
+#define ST_RETURN	133
+#define ST_GOTO		134
+#define ST_ASM		135
+#define ST_LABEL	136
+#define ST_OP		137
+#define ST_COMMENT	138
 
 #define IS_STATEMENT(i) (i==INLINE||(ST_DECL<=i&&i<=ST_COMMENT))
 
-#define HAS_ADDRESS	138
+#define HAS_ADDRESS	139
 
 /* statement end */
 
@@ -570,15 +571,9 @@
 
 extern void print_expr(int e, FILE *vout);
 
-
 #if 1
 extern int heapsize;
-#if 0
-int gdb(int a,int b,const char *c);
-#define CHECK_HEAP(b) ({int _k=(int)(b);gdb(_k,__LINE__,__FUNCTION__);if(_k>heapsize||_k<=0)error(-1);_k;})
-#else
 #define CHECK_HEAP(b) ({int _k=(int)(b);if(_k>heapsize||_k<=0)error(-1);_k;})
-#endif
 #else
 #define CHECK_HEAP(b)  (b)
 #endif