init = skip_Id(init);
switch (get_irn_opcode(init)) {
+#if 0
case iro_Cast:
do_dump_atomic_init(env, get_Cast_op(init));
return;
case iro_Conv:
do_dump_atomic_init(env, get_Conv_op(init));
return;
+#endif
case iro_Const:
tv = get_Const_tarval(init);
return;
case iro_Add:
+ if (!mode_is_int(mode) && !mode_is_reference(mode)) {
+ panic("Constant must be int or pointer for '+' to work");
+ }
do_dump_atomic_init(env, get_Add_left(init));
be_emit_cstring(" + ");
do_dump_atomic_init(env, get_Add_right(init));
return;
case iro_Sub:
+ if (!mode_is_int(mode) && !mode_is_reference(mode)) {
+ panic("Constant must be int or pointer for '-' to work");
+ }
do_dump_atomic_init(env, get_Sub_left(init));
be_emit_cstring(" - ");
do_dump_atomic_init(env, get_Sub_right(init));
return;
case iro_Mul:
+ if (!mode_is_int(mode) && !mode_is_reference(mode)) {
+ panic("Constant must be int or pointer for '*' to work");
+ }
do_dump_atomic_init(env, get_Mul_left(init));
be_emit_cstring(" * ");
do_dump_atomic_init(env, get_Mul_right(init));