https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97750
--- Comment #7 from Andrew Macleod <amacleod at redhat dot com> --- The op1-range expression solving for the RHS of a cast of the form low_precision_var = (low_precision) high_precision_var doesnt support pointers properly. It fills in possible bit/ranges in high_precision_var when calculating outgoing edge ranges and a) doesnt work for pointers (thus this trap.. there is no PLUS on pointers, only POINTER_PLUS) b) is also overkill for pointers where mostly we care about zero, non-zero and varying. SO, fix operator_cast::op1_range() to handle pointers better... potential change are in testing now.