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

Reply via email to