Commit dea984dc by Ian Lance Taylor Committed by Ian Lance Taylor

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
parent f903e73b
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> 2004-03-20 Kazu Hirata <kazu@cs.umass.edu>
* fold-const.c (fold): Replace "final_type" with "type". * fold-const.c (fold): Replace "final_type" with "type".
......
...@@ -674,10 +674,14 @@ tagged_types_tu_compatible_p (tree t1, tree t2, int flags) ...@@ -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 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 to go look at the original type. It may even be a typedef of a
typedef... */ 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)); 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)); t2 = DECL_ORIGINAL_TYPE (TYPE_NAME (t2));
/* C90 didn't have the requirement that the two tags be the same. */ /* C90 didn't have the requirement that the two tags be the same. */
......
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