fix a bunch of stuff in my last commit
[libfirm] / ir / ir / irmode.c
index f83214e..49c14ac 100644 (file)
@@ -49,6 +49,22 @@ static int num_modes = 0;
 /** The list of all currently existing modes. */
 static ir_mode **mode_list;
 
+const char *get_mode_arithmetic_name(ir_mode_arithmetic ari)
+{
+#define X(a)    case a: return #a
+       switch (ari) {
+               X(irma_uninitialized);
+               X(irma_none);
+               X(irma_twos_complement);
+               X(irma_ones_complement);
+               X(irma_int_BCD);
+               X(irma_ieee754);
+               X(irma_float_BCD);
+               default: return "<unknown>";
+       }
+#undef X
+}
+
 /**
  * Compare modes that don't need to have their code field
  * correctly set
@@ -467,11 +483,8 @@ tarval *get_mode_NAN(ir_mode *mode) {
        return get_tarval_nan(mode);
 }
 
-int is_mode(void *thing) {
-       if (get_kind(thing) == k_ir_mode)
-               return 1;
-       else
-               return 0;
+int is_mode(const void *thing) {
+       return get_kind(thing) == k_ir_mode;
 }
 
 int (mode_is_signed)(const ir_mode *mode) {
@@ -572,7 +585,7 @@ int smaller_mode(const ir_mode *sm, const ir_mode *lm) {
                break;
 
        case irms_reference:
-               /* do exist machines out there with different pointer lenghts ?*/
+               /* do exist machines out there with different pointer lengths ?*/
                return 0;
 
        case irms_internal_boolean: