BugFix: type conversion must signed extend for the destination mode
authorMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Fri, 25 May 2007 16:46:23 +0000 (16:46 +0000)
committerMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Fri, 25 May 2007 16:46:23 +0000 (16:46 +0000)
[r14042]

ir/tv/tv.c

index 6d89671..d00a05c 100644 (file)
@@ -845,7 +845,7 @@ tarval *tarval_convert_to(tarval *src, ir_mode *m) {
                case irms_character:
                        buffer = alloca(sc_get_buffer_length());
                        memcpy(buffer, src->value, sc_get_buffer_length());
-                       sign_extend(buffer, src->mode);
+                       sign_extend(buffer, m);
                        return get_tarval_overflow(buffer, src->length, m);
 
                case irms_internal_boolean: