[tree-ssa] bootstrap problem on powerpc-apple-darwin6.6

Andrew Pinski pinskia@physics.uc.edu
Thu Aug 21 18:51:00 GMT 2003


On Thursday, Aug 21, 2003, at 12:22 US/Eastern, Jason Merrill wrote:

> On Thu, 21 Aug 2003 12:12:24 -0400, Andrew Pinski 
> <pinskia@physics.uc.edu> wrote:
>
>> I think the problem is that the rewrite of  "if (a); else b" to "if 
>> (!a) b"
>> should really be to "if (a!=0) b".
>> This is in gimplify_cond_expr on line 1972 in gimplify.c.
>> Maybe someone else will know what is going on.
>> Here is what arg is when passed to invert_thruthvalue:
>> [...]
>> See that it is a integer_type and not a boolean_type so something 
>> needs to
>> change.
>
> Why isn't the call to gimple_boolify earlier in the function working?

I do not know but I can reduce the source to:
union tree_node;
typedef union tree_node *tree;
typedef enum fallback_t {
   fb_none = 0,
   fb_rvalue=1,
   fb_lvalue=2,
   fb_either=1|2
} fallback_t;
int
gimplify_expr (tree *expr_p, fallback_t fallback)
{
   tree internal_post = (tree) ((void *)0);
if ((fallback & fb_rvalue) && is_gimple_rhs (*expr_p))
     {
         f_temp_2();
     }
   else
     {
         abort();
     }
   return 1;
}

Thanks,
Andrew Pinski



More information about the Gcc mailing list