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

            Bug ID: 118376
           Summary: ICE: in linemap_ordinary_map_lookup, at
                    libcpp/line-map.cc:1152 with -Wsign-conversion
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Keywords: diagnostic, ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zsojka at seznam dot cz
  Target Milestone: ---
              Host: x86_64-pc-linux-gnu
            Target: x86_64-pc-linux-gnu

Created attachment 60079
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=60079&action=edit
reduced testcase

Compiler output:
$ x86_64-pc-linux-gnu-gcc -Wsign-conversion testcase.c 
testcase.c: In function 'foo':

testcase.c:6:25: warning: conversion to 'int' from 'long long int' may change
the sign of the result [-Wsign-conversion]
testcase.c:6:3: internal compiler error: in linemap_ordinary_map_lookup, at
libcpp/line-map.cc:1152
    6 |   __builtin_memset (&x, (long long) __builtin_stdc_rotate_right (x, 0),
1);
      |   ^~~~~~~~~~~~~~~~
0x2ddb561 internal_error(char const*, ...)
        /repo/gcc-trunk/gcc/diagnostic-global-context.cc:517
0xef802b fancy_abort(char const*, int, char const*)
        /repo/gcc-trunk/gcc/diagnostic.cc:1722
0x2e67d37 linemap_ordinary_map_lookup
        /repo/gcc-trunk/libcpp/line-map.cc:1152
0x2e6a51b linemap_unwind_to_first_non_reserved_loc(line_maps const*, unsigned
long, line_map const**)
        /repo/gcc-trunk/libcpp/line-map.cc:1844
0x2e12a6c expand_location_1
        /repo/gcc-trunk/gcc/input.cc:254
0x2e1583d linemap_client_expand_location_to_spelling_point(line_maps const*,
unsigned long, location_aspect)
        /repo/gcc-trunk/gcc/input.cc:1208
0x2de8c17 maybe_add_location_range
        /repo/gcc-trunk/gcc/diagnostic-show-locus.cc:1424
0x2de939b layout
        /repo/gcc-trunk/gcc/diagnostic-show-locus.cc:1373
0x2df002f diagnostic_source_print_policy::print(pretty_printer&, rich_location
const&, diagnostic_t, diagnostic_source_effect_info*) const
        /repo/gcc-trunk/gcc/diagnostic-show-locus.cc:3331
0x2df01a6 diagnostic_context::maybe_show_locus(rich_location const&,
diagnostic_source_printing_options const&, diagnostic_t, pretty_printer&,
diagnostic_source_effect_info*)
        /repo/gcc-trunk/gcc/diagnostic-show-locus.cc:3293
0x102e27a diagnostic_show_locus(diagnostic_context*,
diagnostic_source_printing_options const&, rich_location*, diagnostic_t,
pretty_printer*, diagnostic_source_effect_info*)
        /repo/gcc-trunk/gcc/diagnostic.h:1110
0x102e27a c_diagnostic_text_finalizer
        /repo/gcc-trunk/gcc/c-family/c-opts.cc:180
0x2dd9259 diagnostic_text_output_format::on_report_diagnostic(diagnostic_info
const&, diagnostic_t)
        /repo/gcc-trunk/gcc/diagnostic-format-text.cc:246
0x2dc6032 diagnostic_context::report_diagnostic(diagnostic_info*)
        /repo/gcc-trunk/gcc/diagnostic.cc:1483
0x2dc636d diagnostic_context::diagnostic_impl(rich_location*,
diagnostic_metadata const*, diagnostic_option_id, char const*, __va_list_tag
(*) [1], diagnostic_t)
        /repo/gcc-trunk/gcc/diagnostic.cc:1614
0x2dda263 warning_at(unsigned long, diagnostic_option_id, char const*, ...)
        /repo/gcc-trunk/gcc/diagnostic-global-context.cc:185
0x10584a8 conversion_warning
        /repo/gcc-trunk/gcc/c-family/c-warn.cc:1380
0xfc67d8 convert_and_check(unsigned long, tree_node*, tree_node*, bool)
        /repo/gcc-trunk/gcc/c-family/c-common.cc:1839
0xf3e331 convert_for_assignment
        /repo/gcc-trunk/gcc/c/c-typeck.cc:7912
0xf417d9 convert_argument
        /repo/gcc-trunk/gcc/c/c-typeck.cc:4124
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

$ x86_64-pc-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=/repo/gcc-trunk/binary-latest-amd64/bin/x86_64-pc-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/repo/gcc-trunk/binary-trunk-20250109094235-r15-6723-gb37628e4ae7e5e-checking-yes-rtl-df-extra-nobootstrap-amd64/bin/../libexec/gcc/x86_64-pc-linux-gnu/15.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /repo/gcc-trunk//configure --enable-languages=c,c++
--enable-valgrind-annotations --disable-nls --enable-checking=yes,rtl,df,extra
--disable-bootstrap --with-cloog --with-ppl --with-isl
--build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu
--target=x86_64-pc-linux-gnu --with-ld=/usr/bin/x86_64-pc-linux-gnu-ld
--with-as=/usr/bin/x86_64-pc-linux-gnu-as --enable-libsanitizer
--disable-libstdcxx-pch
--prefix=/repo/gcc-trunk//binary-trunk-20250109094235-r15-6723-gb37628e4ae7e5e-checking-yes-rtl-df-extra-nobootstrap-amd64
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 15.0.0 20250109 (experimental) (GCC)

Reply via email to