��> 2003-06-07�� Anthony Green�� <green@redhat.com> ��>...
��> 2003-06-07�� Anthony Green�� <green@redhat.com> ��> ��>������������* parse.y (patch_cast): Fix conversions from floating-point to ��>������������integral types. From-SVN: r67631
This commit is contained in:
parent
10e9fecc62
commit
f32c53c215
2 changed files with 12 additions and 6 deletions
|
@ -1,3 +1,8 @@
|
|||
2003-06-08 Anthony Green <green@redhat.com>
|
||||
|
||||
* parse.y (patch_cast): Fix conversions from floating-point to
|
||||
integral types.
|
||||
|
||||
2003-06-08 Neil Booth <neil@daikokuya.co.uk>
|
||||
|
||||
* Make-lang.in: Update.
|
||||
|
|
|
@ -14224,14 +14224,15 @@ patch_cast (tree node, tree wfl_op)
|
|||
if (cast_type == op_type)
|
||||
return node;
|
||||
|
||||
/* float and double type are converted to the original type main
|
||||
variant and then to the target type. */
|
||||
if (JFLOAT_TYPE_P (op_type) && TREE_CODE (cast_type) == CHAR_TYPE)
|
||||
op = convert (integer_type_node, op);
|
||||
/* A narrowing conversion from a floating-point number to an
|
||||
integral type requires special handling (5.1.3). */
|
||||
if (JFLOAT_TYPE_P (op_type) && JINTEGRAL_TYPE_P (cast_type))
|
||||
if (cast_type != long_type_node)
|
||||
op = convert (integer_type_node, op);
|
||||
|
||||
/* Try widening/narowwing convertion. Potentially, things need
|
||||
/* Try widening/narrowing convertion. Potentially, things need
|
||||
to be worked out in gcc so we implement the extreme cases
|
||||
correctly. fold_convert() needs to be fixed. */
|
||||
correctly. fold_convert() needs to be fixed. */
|
||||
return convert (cast_type, op);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue