ir_op added
[libfirm] / ir / ir / irargs.c
index 7e28caa..cd3534e 100644 (file)
@@ -109,7 +109,7 @@ static int firm_emit(lc_appendable_t *app,
   ir_node *block;
   char add[64];
   char buf[256];
-  char tv[256];
+  char tv_buf[256];
   entity *ent;
 
   buf[0] = '\0';
@@ -149,9 +149,13 @@ static int firm_emit(lc_appendable_t *app,
         break;
       default:
         if (is_Const(X)) {
-          tarval_snprintf(tv, sizeof(tv), get_Const_tarval(X));
+          tarval *tv = get_Const_tarval(X);
+          if (tv)
+            tarval_snprintf(tv_buf, sizeof(tv_buf), tv);
+          else
+            strncpy(tv_buf, "(NULL)", sizeof(tv_buf));
           snprintf(buf, sizeof(buf), "%s%s%s<%s>", A("irn"), get_irn_opname(X),
-            get_mode_name(get_irn_mode(X)), tv);
+            get_mode_name(get_irn_mode(X)), tv_buf);
         }
         else
           snprintf(buf, sizeof(buf), "%s%s%s", A("irn"), get_irn_opname(X),
@@ -163,8 +167,8 @@ static int firm_emit(lc_appendable_t *app,
       snprintf(buf, sizeof(buf), "%s%s", A("mode"), get_mode_name(X));
       break;
     case k_tarval:
-      tarval_snprintf(tv, sizeof(tv), X);
-      snprintf(buf, sizeof(buf), "%s%s", A("tv"), tv);
+      tarval_snprintf(tv_buf, sizeof(tv_buf), X);
+      snprintf(buf, sizeof(buf), "%s%s", A("tv"), tv_buf);
       break;
     case k_ir_loop:
       snprintf(buf, sizeof(buf), "ldepth[%d]", get_loop_depth(X));
@@ -287,7 +291,7 @@ lc_arg_env_t *firm_get_arg_env(void)
       lc_arg_register(env, args[i].name, args[i].letter, &firm_handler);
 
     lc_arg_register(env, "firm:ident", 'I', &ident_handler);
-    lc_arg_register(env, "firm:indent", 'N', &indent_handler);
+    lc_arg_register(env, "firm:indent", '>', &indent_handler);
     lc_arg_register(env, "firm:pnc",      '=', &pnc_handler);
     lc_arg_register(env, "firm:dbg_info", 'G', &debug_handler);
     lc_arg_register(env, "firm:bitset", 'B', &bitset_handler);