lib/iec_std_lib.h
changeset 582 8495119e7271
parent 539 1ff26534a54f
child 593 412780374bd3
equal deleted inserted replaced
581:1e158dc9f9c1 582:8495119e7271
    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