79 */ |
79 */ |
80 #define __64b_sufix L |
80 #define __64b_sufix L |
81 #endif |
81 #endif |
82 |
82 |
83 |
83 |
84 #define __lit(type,value,sfx) (type)value##sfx |
84 #define __lit(type,value,...) (type)value##__VA_ARGS__ |
85 // Keep this macro expention step to let sfx change into L or LL |
85 // Keep this macro expention step to let sfx(__VA_ARGS__) change into L or LL |
86 #define __literal(type,value,sfx) __lit(type,value,sfx) |
86 #define __literal(type,value,...) __lit(type,value,##__VA_ARGS__##) |
87 |
87 |
88 #define __BOOL_LITERAL(value) __literal(BOOL,value,) |
88 #define __BOOL_LITERAL(value) __literal(BOOL,value) |
89 #define __SINT_LITERAL(value) __literal(SINT,value,) |
89 #define __SINT_LITERAL(value) __literal(SINT,value) |
90 #define __INT_LITERAL(value) __literal(INT,value,) |
90 #define __INT_LITERAL(value) __literal(INT,value) |
91 #define __DINT_LITERAL(value) __literal(DINT,value,__32b_sufix) |
91 #define __DINT_LITERAL(value) __literal(DINT,value,__32b_sufix) |
92 #define __LINT_LITERAL(value) __literal(LINT,value,__64b_sufix) |
92 #define __LINT_LITERAL(value) __literal(LINT,value,__64b_sufix) |
93 #define __USINT_LITERAL(value) __literal(USINT,value,) |
93 #define __USINT_LITERAL(value) __literal(USINT,value) |
94 #define __UINT_LITERAL(value) __literal(UINT,value,) |
94 #define __UINT_LITERAL(value) __literal(UINT,value) |
95 #define __UDINT_LITERAL(value) __literal(UDINT,value,__32b_sufix) |
95 #define __UDINT_LITERAL(value) __literal(UDINT,value,__32b_sufix) |
96 #define __ULINT_LITERAL(value) __literal(ULINT,value,__64b_sufix) |
96 #define __ULINT_LITERAL(value) __literal(ULINT,value,__64b_sufix) |
97 #define __REAL_LITERAL(value) __literal(REAL,value,__32b_sufix) |
97 #define __REAL_LITERAL(value) __literal(REAL,value,__32b_sufix) |
98 #define __LREAL_LITERAL(value) __literal(LREAL,value,__64b_sufix) |
98 #define __LREAL_LITERAL(value) __literal(LREAL,value,__64b_sufix) |
99 #define __TIME_LITERAL(value) __literal(TIME,value,) |
99 #define __TIME_LITERAL(value) __literal(TIME,value) |
100 #define __DATE_LITERAL(value) __literal(DATE,value,) |
100 #define __DATE_LITERAL(value) __literal(DATE,value) |
101 #define __TOD_LITERAL(value) __literal(TOD,value,) |
101 #define __TOD_LITERAL(value) __literal(TOD,value) |
102 #define __DT_LITERAL(value) __literal(DT,value,) |
102 #define __DT_LITERAL(value) __literal(DT,value) |
103 #define __STRING_LITERAL(count,value) (STRING){count,value} |
103 #define __STRING_LITERAL(count,value) {count,value} |
104 #define __BYTE_LITERAL(value) __literal(BYTE,value,) |
104 #define __BYTE_LITERAL(value) __literal(BYTE,value) |
105 #define __WORD_LITERAL(value) __literal(WORD,value,) |
105 #define __WORD_LITERAL(value) __literal(WORD,value) |
106 #define __DWORD_LITERAL(value) __literal(DWORD,value,__32b_sufix) |
106 #define __DWORD_LITERAL(value) __literal(DWORD,value,__32b_sufix) |
107 #define __LWORD_LITERAL(value) __literal(LWORD,value,__64b_sufix) |
107 #define __LWORD_LITERAL(value) __literal(LWORD,value,__64b_sufix) |
108 |
108 |
109 |
109 |
110 |
110 |