- tarval *tv = tarval_convert_to(get_Const_tarval(node), dest_mode);
- assert(get_tarval_mode(tv) == dest_mode);
- return new_Const(dest_mode, tv);
+ /* TODO tarval module is incomplete and can't convert floats to ints */
+ tarval *tv = conv_const_tv(node, dest_mode);
+ if (tv == tarval_bad) {
+ return place_conv(node, dest_mode);
+ } else {
+ return new_Const(dest_mode, tv);
+ }