fixed some warnings
[libfirm] / ir / ir / irmode.c
index 4dd5a42..8ac2be9 100644 (file)
@@ -53,7 +53,7 @@
 static struct obstack modes;
 
 /** number of defined modes */
-static int num_modes;
+static int num_modes = 0;
 
 /* * *
  * local functions
@@ -266,8 +266,10 @@ static ir_mode *register_mode(const ir_mode *new_mode) {
        mode = (ir_mode *)obstack_copy(&modes, new_mode, sizeof(*mode));
 
        mode->kind = k_ir_mode;
-       if (num_modes >= irm_max) mode->code = num_modes;
-               num_modes++;
+       if (num_modes >= irm_max)  {
+               mode->code = num_modes;
+       }
+       num_modes++;
 
        /* add the new mode to the irp list of modes */
        add_irp_mode(mode);
@@ -409,7 +411,7 @@ int
        return _get_mode_sign(mode);
 }
 
-int
+mode_arithmetic
 (get_mode_arithmetic)(const ir_mode *mode) {
        return get_mode_arithmetic(mode);
 }
@@ -618,6 +620,9 @@ smaller_mode(const ir_mode *sm, const ir_mode *lm) {
                /* do exist machines out there with different pointer lenghts ?*/
                return 0;
 
+       case irms_internal_boolean:
+               return mode_is_int(lm);
+
        default:
                break;
        }