if (INTEGRAL_TYPE_P (etype) && TREE_TYPE (etype))
{
etype = TREE_TYPE (etype);
exp = fold_convert (etype, exp);
low = fold_convert (etype, low);
value = fold_convert (etype, value);
}
I gather that we should restrict the transformation to INTEGER_TYPEs.
We could, but the other possibility is to use an INTEGER_TYPE of the same
precision and use it in the code above when the input ETYPE is an
ENUMERAL_TYPE.
