Commit a74de6ea by Craig Burley Committed by Dave Love

com.c (ffecom_convert_narrow_, [...]): Allow conversion from pointer to same-sized integer...

Tue Aug  4 16:59:39 1998  Craig Burley  <burley@gnu.org>
	* com.c (ffecom_convert_narrow_, ffecom_convert_widen_):
	Allow conversion from pointer to same-sized integer,
	to fix invoking SIGNAL as a function.

[[Split portion of a mixed commit.]]

From-SVN: r21617.2
parent a16be296
Tue Aug 4 16:59:39 1998 Craig Burley <burley@gnu.org>
* com.c (ffecom_convert_narrow_, ffecom_convert_widen_):
Allow conversion from pointer to same-sized integer,
to fix invoking SIGNAL as a function.
1998-07-26 Dave Love <d.love@dl.ac.uk>
* BUGS, INSTALL, NEWS: Rebuilt.
......
......@@ -922,8 +922,11 @@ ffecom_convert_narrow_ (type, expr)
assert (code != ENUMERAL_TYPE);
if (code == INTEGER_TYPE)
{
assert (TREE_CODE (TREE_TYPE (e)) == INTEGER_TYPE);
assert (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (e)));
assert ((TREE_CODE (TREE_TYPE (e)) == INTEGER_TYPE
&& TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (e)))
|| (TREE_CODE (TREE_TYPE (e)) == POINTER_TYPE
&& (TYPE_PRECISION (type)
== TREE_INT_CST_LOW (TYPE_SIZE (TREE_TYPE (e))))));
return fold (convert_to_integer (type, e));
}
if (code == POINTER_TYPE)
......@@ -992,8 +995,11 @@ ffecom_convert_widen_ (type, expr)
assert (code != ENUMERAL_TYPE);
if (code == INTEGER_TYPE)
{
assert (TREE_CODE (TREE_TYPE (e)) == INTEGER_TYPE);
assert (TYPE_PRECISION (type) >= TYPE_PRECISION (TREE_TYPE (e)));
assert ((TREE_CODE (TREE_TYPE (e)) == INTEGER_TYPE
&& TYPE_PRECISION (type) >= TYPE_PRECISION (TREE_TYPE (e)))
|| (TREE_CODE (TREE_TYPE (e)) == POINTER_TYPE
&& (TYPE_PRECISION (type)
== TREE_INT_CST_LOW (TYPE_SIZE (TREE_TYPE (e))))));
return fold (convert_to_integer (type, e));
}
if (code == POINTER_TYPE)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment