Write and read FIRM profiling information in little-endian format.
[libfirm] / ir / ir / irdumptxt.c
index 710d86f..310f12d 100644 (file)
@@ -57,7 +57,7 @@ ir_dump_verbosity_t ir_get_dump_verbosity(void)
 }
 
 /* Write the irnode and all its attributes to the file passed. */
-void dump_irnode_to_file(FILE *F, ir_node *n)
+void dump_irnode_to_file(FILE *F, const ir_node *n)
 {
        char     comma;
        ir_graph *irg;
@@ -344,9 +344,13 @@ static bool is_init_string(ir_initializer_t const* const init, ir_type *const ty
        n = get_initializer_compound_n_entries(init);
        for (i = 0; i != n; ++i) {
                ir_initializer_t const* const val = get_initializer_compound_value(init, i);
-               ir_tarval*              const tv  = get_initializer_tarval_value(val);
+               ir_tarval*                    tv;
                long                          v;
 
+               if (get_initializer_kind(val) != IR_INITIALIZER_TARVAL)
+                       return false;
+               tv = get_initializer_tarval_value(val);
+
                if (!tarval_is_constant(tv))
                        return false;