diff mc.h @ 461:2a49dfe59540

attribute
author kono
date Thu, 02 Dec 2004 19:38:00 +0900
parents b8f95294eb77
children d88f08d81bba
line wrap: on
line diff
--- a/mc.h	Thu Dec 02 12:07:16 2004 +0900
+++ b/mc.h	Thu Dec 02 19:38:00 2004 +0900
@@ -67,8 +67,9 @@
 #define LONGLONG        (-55)
 #define ULONGLONG       (-56)
 #define VOLATILE        (-57)
-#define TYPEOF  (-58)
-#define ASM     (-59)
+#define RESTRICT        (-58)
+#define TYPEOF  (-59)
+#define ASM     (-60)
 
 /* reserved word end */
 
@@ -200,56 +201,58 @@
 #define RSTRUCT	32
 #define ALLOCA 	33
 #define BUILTINP 	34
-#define BIT_FIELD 	35
-#define RBIT_FIELD 	36
-#define BPREINC 	37
-#define BPOSTINC 	38
-#define CONV   	39
+#define BUILTIN_EXPECT 	35
+#define ATTRIBUTE 	36
+#define BIT_FIELD 	37
+#define RBIT_FIELD 	38
+#define BPREINC 	39
+#define BPOSTINC 	40
+#define CONV   	41
 
 #define UNARY_ARGS(i) (ADDRESS<=(i%SOP)&&(i%SOP)<=CONV)
 
 /* binary  argments */
 
-#define MUL    	40
-#define UMUL   	41
-#define DIV    	42
-#define UDIV   	43
-#define MOD    	44
-#define UMOD   	45
-#define ADD    	46
-#define SUB    	47
-#define CMP    	48      
-#define RSHIFT 	49
-#define URSHIFT	50
-#define LSHIFT 	51
-#define ULSHIFT	52
-#define GT     	53
-#define UGT    	54
-#define GE     	55
-#define UGE    	56
-#define LT     	57
-#define ULT    	58
-#define LE     	59
-#define ULE    	60
-#define EQ     	61
-#define NEQ    	62
-#define BAND   	63
-#define EOR    	64
-#define BOR    	65
-#define LAND   	66
-#define LOR    	67
-#define ASS    	68
-#define UCMP   	69
-#define UCMPGE 	70
-#define CMPGE  	71
-#define CMPEQ  	72
-#define CMPNEQ 	73
-#define ASSOP  	74
-#define COMMA  	75
+#define MUL    	42
+#define UMUL   	43
+#define DIV    	44
+#define UDIV   	45
+#define MOD    	46
+#define UMOD   	47
+#define ADD    	48
+#define SUB    	49
+#define CMP    	50      
+#define RSHIFT 	51
+#define URSHIFT	52
+#define LSHIFT 	53
+#define ULSHIFT	54
+#define GT     	55
+#define UGT    	56
+#define GE     	57
+#define UGE    	58
+#define LT     	59
+#define ULT    	60
+#define LE     	61
+#define ULE    	62
+#define EQ     	63
+#define NEQ    	64
+#define BAND   	65
+#define EOR    	66
+#define BOR    	67
+#define LAND   	68
+#define LOR    	69
+#define ASS    	70
+#define UCMP   	71
+#define UCMPGE 	72
+#define CMPGE  	73
+#define CMPEQ  	74
+#define CMPNEQ 	75
+#define ASSOP  	76
+#define COMMA  	77
 
-#define CASS   	76
-#define CASSOP 	77
-#define CUASSOP	78
+#define CASS   	78
+#define CASSOP 	79
+#define CUASSOP	80
 
 #define SASS    (SOP+CASS)
 #define SASSOP (SOP+CASSOP)
@@ -305,18 +308,18 @@
 #define LEOR    (LOP+EOR)
 #define LBOR    (LOP+BOR)
 
-#define BASS   	79
-#define BASSOP 	80
-#define BFD_REPL 	81
+#define BASS   	81
+#define BASSOP 	82
+#define BFD_REPL 	83
 
-#define STASS  	82
+#define STASS  	84
 
 
 #define BINARY_ARGS(i) (MUL<=(i%SOP)&&(i%SOP)<=STASS)
 
 /* tarnary  argments */
 
-#define COND   	83
+#define COND   	85
 #define SCOND   (SOP+COND)
 #define DCOND   (DOP+COND)
 #define FCOND   (FOP+COND)
@@ -326,35 +329,35 @@
 
 /* not appeared as tags */
 
-#define LPAR   	84
-#define RPAR   	85
-#define LBRA   	86
-#define RBRA   	87
-#define LC     	88
-#define RC     	89
-#define COLON  	90
-#define SM     	91
-#define PERIOD 	92
-#define ARROW  	93
-#define CNAME  	94
+#define LPAR   	86
+#define RPAR   	87
+#define LBRA   	88
+#define RBRA   	89
+#define LC     	90
+#define RC     	91
+#define COLON  	92
+#define SM     	93
+#define PERIOD 	94
+#define ARROW  	95
+#define CNAME  	96
 
-#define I2C  	95
-#define I2S  	96
-#define I2I    	97
-#define I2U    	98
-#define I2D    	99
-#define I2F    	100
-#define I2LL   	101
-#define I2ULL  	102
+#define I2C  	97
+#define I2S  	98
+#define I2I    	99
+#define I2U    	100
+#define I2D    	101
+#define I2F    	102
+#define I2LL   	103
+#define I2ULL  	104
 
-#define U2UC  	103
-#define U2US  	104
-#define U2I    	105
-#define U2U    	106
-#define U2D    	107
-#define U2F    	108
-#define U2LL   	109
-#define U2ULL  	110
+#define U2UC  	105
+#define U2US  	106
+#define U2I    	107
+#define U2U    	108
+#define U2D    	109
+#define U2F    	110
+#define U2LL   	111
+#define U2ULL  	112
 
 
 #define D2I     (DOP+I2I)
@@ -389,22 +392,22 @@
 
 /* statement start */
 
-#define ST_DECL		111
-#define ST_IF		112
-#define ST_DO		113
-#define ST_WHILE	114
-#define ST_FOR		115
-#define ST_SWITCH	116
-#define ST_COMP		117
-#define ST_BREAK	118
-#define ST_CONTINUE	119
-#define ST_CASE		120
-#define ST_DEFAULT	121
-#define ST_RETURN	122
-#define ST_GOTO		123
-#define ST_ASM		124
-#define ST_LABEL	125
-#define ST_COMMENT	126
+#define ST_DECL		113
+#define ST_IF		114
+#define ST_DO		115
+#define ST_WHILE	116
+#define ST_FOR		117
+#define ST_SWITCH	118
+#define ST_COMP		119
+#define ST_BREAK	120
+#define ST_CONTINUE	121
+#define ST_CASE		122
+#define ST_DEFAULT	123
+#define ST_RETURN	124
+#define ST_GOTO		125
+#define ST_ASM		126
+#define ST_LABEL	127
+#define ST_COMMENT	128
 
 #define IS_STATEMENT(i) (ST_DECL<=i&&i<=ST_COMMENT)
 
@@ -444,6 +447,10 @@
 
 /* error number end */
 
+#define KONST_BIT	1
+#define VOLATILE_BIT	2
+#define RESTRICT_BIT	4
+
 #define FILES 10
 #define MAX_INCLUDE_PATH_COUNT 10
 /*