This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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 ----


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]