https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84213

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pmderodat at gcc dot gnu.org

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
        .uleb128 0x7    # (DIE (0x56) DW_TAG_variable)
        .ascii "em1\0"  # DW_AT_name
        .byte   0x1     # DW_AT_decl_file (t.f90)
        .byte   0x2     # DW_AT_decl_line
        .long   0x1a    # DW_AT_type
                        # DW_AT_external
        .uleb128 0x9    # DW_AT_location
        .byte   0x3     # DW_OP_addr
        .quad   module_ra_gfdleta.eq.0_

and we get here via

#2  0x0000000000af7740 in analyze_functions (first_time=true)
    at /space/rguenther/src/svn/early-lto-debug/gcc/cgraphunit.c:1256
1256                  (*debug_hooks->late_global_decl) (node->decl);
(gdb) l
1251                  /* We are reclaiming totally unreachable code and
variables
1252                     so they effectively appear as readonly.  Show that to
1253                     the debug machinery.  */
1254                  TREE_READONLY (node->decl) = 1;
1255                  node->definition = false;
1256                  (*debug_hooks->late_global_decl) (node->decl);
1257                }

but the intent doesn't work because we have a DECL_VALUE_EXPR here...

#1  0x0000000000b99a34 in dwarf2out_late_global_decl (
    decl=<var_decl 0x7ffff7fefbd0 em1v>)
    at /space/rguenther/src/svn/early-lto-debug/gcc/dwarf2out.c:25750
(gdb) l
25745                they are relevant for debuggers.  */
25746             varpool_node *node = varpool_node::get (decl);
25747             if ((! node || ! node->definition) && ! DECL_HAS_VALUE_EXPR_P
(decl))
25748               tree_add_const_value_attribute_for_decl (die, decl);
25749             else
25750               add_location_or_const_value_attribute (die, decl, false);
25751           }
25752       }

I didn't add this extra check but this breaks things here :/  Added by
r248792.

Reply via email to