int to_cnvtype = convtype(to_type);
if ((int)to_size < (int)word_size) to_size = word_size;
- if ((int)from_size == (int)to_size && from_cnvtype == to_cnvtype)
- return;
- switch (from_cnvtype) {
- case T_SIGNED:
+ if ((int)from_size != (int)to_size || from_cnvtype != to_cnvtype) {
+ switch (from_cnvtype) {
+ case T_SIGNED:
switch (to_cnvtype) {
case T_SIGNED:
C_loc(from_size);
break;
}
break;
- case T_UNSIGNED:
+ case T_UNSIGNED:
if ((int)from_size < (int)word_size) from_size = word_size;
C_loc(from_size);
C_loc(to_size);
break;
}
break;
- case T_FLOATING:
+ case T_FLOATING:
C_loc(from_size);
C_loc(to_size);
switch (to_cnvtype) {
break;
}
break;
- default:
+ default:
crash("(conversion) illegal type conversion");
/*NOTREACHED*/
+ }
}
if ((int)(to_type->tp_size) < (int)word_size
&& to_cnvtype != T_FLOATING