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

--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> ---
Minimal test-case:

enum { _ISdigit = 8 ? 3 << 8 : 8, _ISpunct };
struct A {
  static const short a = _ISpunct;
};

Reporting:

==85314== Invalid read of size 1
==85314==    at 0x4C2B944: strlen (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==85314==    by 0xB20BB6: gt_pch_note_object(void*, void*, void (*)(void*,
void*, void (*)(void*, void*), void*)) (ggc-common.c:285)
==85314==    by 0xA3DADA: gt_pch_nx<dw_attr_struct, va_gc> (vec.h:1128)
==85314==    by 0xA3DADA: gt_pch_nx_vec_dw_attr_node_va_gc_(void*)
(gt-dwarf2out.h:908)
==85314==    by 0xA3DB5E: gt_pch_nx_die_struct(void*) (gt-dwarf2out.h:680)
==85314==    by 0xA3DB7A: gt_pch_nx_die_struct(void*) (gt-dwarf2out.h:682)
==85314==    by 0xA3DB7A: gt_pch_nx_die_struct(void*) (gt-dwarf2out.h:682)
==85314==    by 0xA31642: pch_nx (hash-traits.h:242)
==85314==    by 0xA31642: gt_pch_nx<decl_die_hasher> (hash-table.h:1064)
==85314==    by 0xA31642: gt_pch_nx_hash_table_decl_die_hasher_(void*)
(gt-dwarf2out.h:1021)
==85314==    by 0xB213BD: gt_pch_save(_IO_FILE*) (ggc-common.c:437)
==85314==    by 0x924955: c_common_write_pch() (c-pch.c:183)
==85314==    by 0x770CC7: c_parse_final_cleanups() (decl2.c:4462)
==85314==    by 0xDD100E: compile_file() (toplev.c:463)
==85314==    by 0x65FCBB: do_compile (toplev.c:1983)
==85314==    by 0x65FCBB: toplev::main(int, char**) (toplev.c:2117)
==85314==  Address 0x6362122 is not stack'd, malloc'd or (recently) free'd

Reply via email to