https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120231

--- Comment #2 from Andrew Macleod <amacleod at redhat dot com> ---
We do not have cast operators between int and float.  We are also missing some
dispatch code for them as we haven't actually used some of those patterns yet.

I am going to checked in a patch to trunk shortly using this PR as a tag.  It
supplies the needed patterns and blank versions of the required operator
methods for each cast. These are located near the bottom of range-op-float.cc. 
 These functions currently return false, which is the default behaviour if the
functions did not exist.


// Cast Float to Integer
bool operator_cast::fold_range (irange &lhs, tree type, const frange &op1,
const irange &, relation_trio) const;
bool operator_cast::op1_range (frange &op1, tree type, const irange &lhs, const
irange &, relation_trio) const;

// Cast Integer to Float.
bool operator_cast::fold_range (frange &lhs, tree type, const irange &op1,
const frange &, relation_trio) const;
bool operator_cast::op1_range (irange &op1, tree type, const frange &lhs, const
frange &, relation_trio) const;


Feel free to populate them for this PR.  If I get a chance and no one else
does, I may do some simple population. but it wont be complex since I'm not
familiar with working on floats.

Reply via email to