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.
