The patch to restore Ada bootstrap is a one liner: just revert the gimplify.c part of 2005-09-24 Richard Henderson's change in your tree (see below).
I don't know what is the policy on patches that break Ada on x86-linux (here by revealing a latent middle-end bug - but I think latent or not policy is the same) bootstrap once identified (this particular patch has no PR mentionned or testcase). On x86-linux, out two latest release (3.4 and 4.0) have zero ACATS fail. Laurent Index: gimplify.c =================================================================== RCS file: /cvs/gcc/gcc/gcc/gimplify.c,v retrieving revision 2.154 diff -u -r2.154 gimplify.c --- gimplify.c 24 Sep 2005 16:21:43 -0000 2.154 +++ gimplify.c 29 Sep 2005 10:27:36 -0000 @@ -404,7 +404,10 @@ static inline tree create_tmp_from_val (tree val) { + return create_tmp_var (TREE_TYPE (val), get_name (val)); +#if 0 return create_tmp_var (TYPE_MAIN_VARIANT (TREE_TYPE (val)), get_name (val)); +#endif } /* Create a temporary to hold the value of VAL. If IS_FORMAL, try to reuse