INLINE static int modes_are_equal(const ir_mode *m, const ir_mode *n)
{
if (m == n) return 1;
- if(!bcmp( m + offsetof(ir_mode,sort) , n + offsetof(ir_mode,sort), offsetof(ir_mode,min)-offsetof(ir_mode,min))) return 1;
+ if (0 == memcmp(&m->sort, &n->sort, offsetof(ir_mode,min) - offsetof(ir_mode,sort))) return 1;
return 0;
}
firm_kind kind; /**< distinguishes this node from others */
modecode code; /**< unambiguous identifier of a mode */
ident *name; /**< Name ident of this mode */
+
+ /* ----------------------------------------------------------------------- */
+ /* On changing this struct you have to valuate the mode_are_equal function!*/
mode_sort sort; /**< coarse classification of this mode:
int, float, reference ...
(see irmode.h) */
int align; /**< byte alignment */
unsigned sign:1; /**< signedness of this mode */
+ /* ----------------------------------------------------------------------- */
tarval *min;
tarval *max;
tarval *null;
const void *tv_priv; /**< tarval module will save private data here */
};
-#endif
+#endif /* _IRMODE_T_H_ */