This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Ada broken with ICE in tree-ssa-structalias...
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- To: aj at suse dot de
- Cc: gcc at gcc dot gnu dot org
- Date: Wed, 6 Jul 05 10:03:00 EDT
- Subject: Re: Ada broken with ICE in tree-ssa-structalias...
| 4.1.0 20050706 (experimental) (x86_64-suse-linux-gnu) GCC error: |
| tree check: expected integer_cst, have cond_expr in |
| do_structure_copy, at tree-ssa-structalias.c:2410 |
I saw this when trying to get a bootstrap done. I beleieve the following
fixed it, but I don't have my list of what patch fixed which bug around, so
I can't say for fure.
*** ada/trans.c 4 Jul 2005 09:47:05 -0000 1.68.2.115
--- ada/trans.c 6 Jul 2005 13:59:03 -0000
*************** gnat_to_gnu (Node_Id gnat_node)
*** 3586,3601 ****
gnu_lhs = DECL_RESULT (current_function_decl);
- /* Do not remove the padding from GNU_RET_VAL if the inner
- type is self-referential since we want to allocate the fixed
- size in that case. */
- if (TREE_CODE (gnu_ret_val) == COMPONENT_REF
- && (TREE_CODE (TREE_TYPE (TREE_OPERAND (gnu_ret_val, 0)))
- == RECORD_TYPE)
- && (TYPE_IS_PADDING_P
- (TREE_TYPE (TREE_OPERAND (gnu_ret_val, 0))))
- && (CONTAINS_PLACEHOLDER_P
- (TYPE_SIZE (TREE_TYPE (gnu_ret_val)))))
- gnu_ret_val = TREE_OPERAND (gnu_ret_val, 0);
-
if (TYPE_RETURNS_BY_REF_P (gnu_subprog_type)
|| By_Ref (gnat_node))
--- 3586,3589 ----