re PR c/12373 (ICE when generating RTX on valid code)

PR c/12373
	* c-typeck.c (tagged_types_tu_compatible_p): Don't use
	DECL_ORIGINAL_TYPE if there isn't one.

From-SVN: r79759
This commit is contained in:
Ian Lance Taylor 2004-03-20 20:46:56 +00:00 committed by Ian Lance Taylor
parent f903e73b80
commit dea984dc06
2 changed files with 12 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2004-03-20 Ian Lance Taylor <ian@wasabisystems.com>
PR c/12373
* c-typeck.c (tagged_types_tu_compatible_p): Don't use
DECL_ORIGINAL_TYPE if there isn't one.
2004-03-20 Kazu Hirata <kazu@cs.umass.edu>
* fold-const.c (fold): Replace "final_type" with "type".

View File

@ -674,10 +674,14 @@ tagged_types_tu_compatible_p (tree t1, tree t2, int flags)
is harder than it looks because this may be a typedef, so we have
to go look at the original type. It may even be a typedef of a
typedef... */
while (TYPE_NAME (t1) && TREE_CODE (TYPE_NAME (t1)) == TYPE_DECL)
while (TYPE_NAME (t1)
&& TREE_CODE (TYPE_NAME (t1)) == TYPE_DECL
&& DECL_ORIGINAL_TYPE (TYPE_NAME (t1)))
t1 = DECL_ORIGINAL_TYPE (TYPE_NAME (t1));
while (TYPE_NAME (t2) && TREE_CODE (TYPE_NAME (t2)) == TYPE_DECL)
while (TYPE_NAME (t2)
&& TREE_CODE (TYPE_NAME (t2)) == TYPE_DECL
&& DECL_ORIGINAL_TYPE (TYPE_NAME (t2)))
t2 = DECL_ORIGINAL_TYPE (TYPE_NAME (t2));
/* C90 didn't have the requirement that the two tags be the same. */