Richard Biener <rguenth at gcc dot> changed:

           What    |Removed                     |Added
                 CC|                            |hubicka at gcc dot,
                   |                            |rguenth at gcc dot

--- Comment #2 from Richard Biener <rguenth at gcc dot> ---
415       /* Do not care about automatic variables.  Those are never
416          anyway, because gimplifier exapnds the code.  */
417       if (!TREE_STATIC (decl) && !DECL_EXTERNAL (decl))
418         {
419           gcc_assert (!TREE_PUBLIC (decl));
420           return error_mark_node;
421         }
423       gcc_assert (TREE_CODE (decl) == VAR_DECL);
(gdb) p debug_tree (decl)
 <var_decl 0x7ffff7ff6990 x
    type <real_type 0x7ffff68a0540 real(kind=4) SF
        size <integer_cst 0x7ffff6887df8 constant 32>
        unit size <integer_cst 0x7ffff6887e10 constant 4>
        align 32 symtab 0 alias set -1 canonical type 0x7ffff68a0540 precision
        pointer_to_this <pointer_type 0x7ffff68a0a80>>
    addressable used public common SF file t.f90 line 2 col 0 size <integer_cst
0x7ffff6887df8 32> unit size <integer_cst 0x7ffff6887e10 4>
    align 32 context <function_decl 0x7ffff6a5de00 p>>
$1 = void

so we have TREE_PUBLIC && DECL_COMMON, not sure if DECL_COMMON is supposed to
have TREE_STATIC set. Honza?

Thus looks like a FE issue to me.  The bougs flags appear also without
-finit-real=zero but we don't ICE (we optimize away the var I guess).

Reply via email to