]> git.gag.com Git - fw/sdcc/blobdiff - src/SDCCicode.h
Changed OP_DEFS and OP_USES from macros to function to catch symbol abuse
[fw/sdcc] / src / SDCCicode.h
index f171bca1f5db40b9c4acdd892defb42e9762f51d..1c77db9203ad08604dcdeea4fd3773771b818cca 100644 (file)
@@ -276,8 +276,15 @@ iCodeTable;
 #define SET_RESULT_RIGHT(ic) {SET_ISADDR(IC_RIGHT(ic),0); SET_ISADDR(IC_RESULT(ic),0);}
 #define IS_ASSIGN_ICODE(ic) (ASSIGNMENT(ic) && !POINTER_SET(ic))
 
-#define OP_DEFS(op) op->operand.symOperand->defs
-#define OP_USES(op) op->operand.symOperand->uses
+#if 0 // this causes too much, extremely difficult to find, bugs
+  #define OP_DEFS(op) op->operand.symOperand->defs
+  #define OP_USES(op) op->operand.symOperand->uses
+#else
+  struct bitVect *OP_DEFS(struct operand *);
+  struct bitVect *OP_DEFS_SET(struct operand *, struct bitVect *);
+  struct bitVect *OP_USES(struct operand *);
+  struct bitVect *OP_USES_SET(struct operand *, struct bitVect *);
+#endif
 /*-----------------------------------------------------------------*/
 /* forward references for functions                                */
 /*-----------------------------------------------------------------*/