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

Zdenek Sojka <zsojka at seznam dot cz> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |zsojka at seznam dot cz

--- Comment #1 from Zdenek Sojka <zsojka at seznam dot cz> ---
Basically any valid or invalid testcase triggers this:
$ cat testcase.c 
struct {};
x86_64-pc-linux-gnu-gcc --param=file-cache-files=32 testcase.c -wrapper
valgrind,-q
==19673== Invalid read of size 8
==19673==    at 0x2E2549E: get_file_path (input.cc:67)
==19673==    by 0x2E2549E: file_cache::lookup_file(char const*) (input.cc:331)
==19673==    by 0x2E26BF5: lookup_or_add_file (input.cc:600)
==19673==    by 0x2E26BF5: file_cache::get_source_line(char const*, int)
(input.cc:1029)
==19673==    by 0x2E27B2C: location_compute_display_column(file_cache&,
expanded_location, cpp_char_column_policy const&) (input.cc:1280)
==19673==    by 0x2DD4FB1: convert_column_unit (diagnostic.cc:690)
==19673==    by 0x2DD4FB1:
diagnostic_column_policy::converted_column(expanded_location) const
(diagnostic.cc:713)
==19673==    by 0x2DD50C7:
diagnostic_column_policy::get_location_text(expanded_location const&, bool,
bool) const (diagnostic.cc:736)
==19673==    by 0x2DEB505: get_location_text (diagnostic-format-text.cc:612)
==19673==    by 0x2DEB505:
diagnostic_text_output_format::build_prefix(diagnostic_info const&) const
(diagnostic-format-text.cc:326)
==19673==    by 0x16EFD3D:
default_tree_diagnostic_text_starter(diagnostic_text_output_format&,
diagnostic_info const*) (tree-diagnostic.cc:52)
==19673==    by 0x2DEB274:
diagnostic_text_output_format::on_report_diagnostic(diagnostic_info const&,
diagnostic_t) (diagnostic-format-text.cc:209)
==19673==    by 0x2DD7EF2:
diagnostic_context::report_diagnostic(diagnostic_info*) (diagnostic.cc:1483)
==19673==    by 0x2DD822D: diagnostic_context::diagnostic_impl(rich_location*,
diagnostic_metadata const*, diagnostic_option_id, char const*, __va_list_tag
(*) [1], diagnostic_t) (diagnostic.cc:1614)
==19673==    by 0x2DEC7C3: pedwarn(unsigned long, diagnostic_option_id, char
const*, ...) (diagnostic-global-context.cc:291)
==19673==    by 0xF18267: shadow_tag_warned(c_declspecs const*, int)
(c-decl.cc:5044)
==19673==  Address 0x500f280 is 8 bytes after a block of size 1,928 alloc'd
==19673==    at 0x484873F: operator new[](unsigned long)
(vg_replace_malloc.c:729)
==19673==    by 0x2E257B0: file_cache::file_cache() (input.cc:561)
==19673==    by 0x2DD68C1: diagnostic_context::initialize(int)
(diagnostic.cc:228)
==19673==    by 0xEFFF30: diagnostic_initialize (diagnostic.h:1078)
==19673==    by 0xEFFF30: general_init (toplev.cc:1065)
==19673==    by 0xEFFF30: toplev::main(int, char**) (toplev.cc:2296)
==19673==    by 0xF02BED: main (main.cc:39)
==19673== 
...

Reply via email to