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