re PR middle-end/22455 (ICE tree check: expected function_decl, have type_decl in fold_checksum_tree, at fold-const.c:10282)
2005-08-28 Daniel Berlin <dberlin@dberlin.org> Fix PR middle-end/22455 * fold-const.c (fold_checksum_tree): Adjust for now-largest tree size. Checksum only the parts of the tree that exist for the tree code. From-SVN: r103586
This commit is contained in:
parent
ea407814d0
commit
46c5394b31
@ -1,3 +1,10 @@
|
||||
2005-08-28 Daniel Berlin <dberlin@dberlin.org>
|
||||
|
||||
Fix PR middle-end/22455
|
||||
|
||||
* fold-const.c (fold_checksum_tree): Adjust for now-largest tree size.
|
||||
Checksum only the parts of the tree that exist for the tree code.
|
||||
|
||||
2005-08-28 Dale Johannesen <dalej@apple.com>
|
||||
|
||||
* config/i386/i386.c (nocona_cost): Increase MOVE_RATIO.
|
||||
|
@ -10277,14 +10277,14 @@ fold_checksum_tree (tree expr, struct md5_ctx *ctx, htab_t ht)
|
||||
{
|
||||
void **slot;
|
||||
enum tree_code code;
|
||||
char buf[sizeof (struct tree_decl_non_common)];
|
||||
char buf[sizeof (struct tree_function_decl)];
|
||||
int i, len;
|
||||
|
||||
recursive_label:
|
||||
|
||||
gcc_assert ((sizeof (struct tree_exp) + 5 * sizeof (tree)
|
||||
<= sizeof (struct tree_decl_non_common))
|
||||
&& sizeof (struct tree_type) <= sizeof (struct tree_decl_non_common));
|
||||
<= sizeof (struct tree_function_decl))
|
||||
&& sizeof (struct tree_type) <= sizeof (struct tree_function_decl));
|
||||
if (expr == NULL)
|
||||
return;
|
||||
slot = htab_find_slot (ht, expr, INSERT);
|
||||
@ -10375,13 +10375,18 @@ recursive_label:
|
||||
fold_checksum_tree (DECL_SIZE_UNIT (expr), ctx, ht);
|
||||
fold_checksum_tree (DECL_NAME (expr), ctx, ht);
|
||||
fold_checksum_tree (DECL_CONTEXT (expr), ctx, ht);
|
||||
fold_checksum_tree (DECL_ARGUMENTS (expr), ctx, ht);
|
||||
fold_checksum_tree (DECL_RESULT_FLD (expr), ctx, ht);
|
||||
fold_checksum_tree (DECL_INITIAL (expr), ctx, ht);
|
||||
fold_checksum_tree (DECL_ABSTRACT_ORIGIN (expr), ctx, ht);
|
||||
fold_checksum_tree (DECL_SECTION_NAME (expr), ctx, ht);
|
||||
fold_checksum_tree (DECL_ATTRIBUTES (expr), ctx, ht);
|
||||
fold_checksum_tree (DECL_VINDEX (expr), ctx, ht);
|
||||
if (CODE_CONTAINS_STRUCT (TREE_CODE (expr), TS_DECL_WITH_VIS))
|
||||
fold_checksum_tree (DECL_SECTION_NAME (expr), ctx, ht);
|
||||
|
||||
if (CODE_CONTAINS_STRUCT (TREE_CODE (expr), TS_DECL_NON_COMMON))
|
||||
{
|
||||
fold_checksum_tree (DECL_VINDEX (expr), ctx, ht);
|
||||
fold_checksum_tree (DECL_RESULT_FLD (expr), ctx, ht);
|
||||
fold_checksum_tree (DECL_ARGUMENT_FLD (expr), ctx, ht);
|
||||
}
|
||||
break;
|
||||
case tcc_type:
|
||||
if (TREE_CODE (expr) == ENUMERAL_TYPE)
|
||||
|
Loading…
Reference in New Issue
Block a user