comparison lwasm/lwasm.h @ 455:cad5937314cb

Add operandsizewarning pragma Add operandsizewarning pragma that will raise warnings for certain operands if the operand size could be smaller. (Long branch used instead of short branch, for instance.)
author William Astle <lost@l-w.ca>
date Fri, 16 Feb 2018 22:53:46 -0700
parents 61580fc48f98
children a6c9129e5948
comparison
equal deleted inserted replaced
454:ffdef8994f13 455:cad5937314cb
103 PRAGMA_QRTS = 1 << 20, // enable BRA ?RTS support 103 PRAGMA_QRTS = 1 << 20, // enable BRA ?RTS support
104 PRAGMA_M80EXT = 1 << 21, // enable Macro-80C assembler extensions 104 PRAGMA_M80EXT = 1 << 21, // enable Macro-80C assembler extensions
105 PRAGMA_6809CONV = 1 << 22, // enable 6809 convenience ops 105 PRAGMA_6809CONV = 1 << 22, // enable 6809 convenience ops
106 PRAGMA_6309CONV = 1 << 23, // enable 6309 convenience ops 106 PRAGMA_6309CONV = 1 << 23, // enable 6309 convenience ops
107 PRAGMA_NEWSOURCE = 1 << 24, // don't use compatibility source format 107 PRAGMA_NEWSOURCE = 1 << 24, // don't use compatibility source format
108 PRAGMA_OPERANDSIZE = 1 << 25, // warn if operand size is bigger than required
108 PRAGMA_CLEARBIT = 1 << 31 // reserved to indicate negated pragma flag status 109 PRAGMA_CLEARBIT = 1 << 31 // reserved to indicate negated pragma flag status
109 }; 110 };
110 111
111 enum 112 enum
112 { 113 {
208 /* warnings must be 1000 or greater */ 209 /* warnings must be 1000 or greater */
209 210
210 W_DUPLICATE_SECTION = 1000, 211 W_DUPLICATE_SECTION = 1000,
211 W_ENDSTRUCT_WITHOUT = 1001, 212 W_ENDSTRUCT_WITHOUT = 1001,
212 W_NOT_SUPPORTED = 1002, 213 W_NOT_SUPPORTED = 1002,
213 W_USER_SPECIFIED = 1003 214 W_USER_SPECIFIED = 1003,
215 W_OPERAND_SIZE = 1004
214 } lwasm_errorcode_t; 216 } lwasm_errorcode_t;
215 217
216 typedef struct lwasm_error_s lwasm_error_t; 218 typedef struct lwasm_error_s lwasm_error_t;
217 struct lwasm_error_s 219 struct lwasm_error_s
218 { 220 {