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));