Is fold_binary_expr being too picky here?
Diego Novillo
dnovillo@redhat.com
Thu Jan 12 19:57:00 GMT 2006
On Thursday 12 January 2006 14:50, Richard Henderson wrote:
> On Thu, Jan 12, 2006 at 02:46:35PM -0500, Diego Novillo wrote:
> > #4 0x080a3b9d in gfc_add_expr_to_block (block=0xbfffe898,
> > expr=0xb7ee4bac) at /home/dnovillo/gomp/src/gcc/fortran/trans.c:365
> > 360
> > 361 if (expr == NULL_TREE || IS_EMPTY_STMT (expr))
> > 362 return;
> > 363
> > 364 if (TREE_CODE (expr) != STATEMENT_LIST)
> > 365 expr = fold (expr);
>
> Hum. I think perhaps we should be checking for tcc_statement
> here and not folding that.
>
Sounds good to me, but maybe the Fortran FE is relying on the recursive
nature of fold() to handle things like 'A = 1 + 1'?
> > One obvious workaround is to check for OMP directives here, but in
> > general nothing stops a function from calling fold() on any arbitrary
> > expression.
>
> Aside from that assert, you mean?
>
Yup.
More information about the Gcc
mailing list