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

            Bug ID: 86096
           Summary: ICE: qsort checking failed (error: qsort comparator
                    non-negative on sorted output: 0)
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Keywords: ice-checking, ice-on-invalid-code
          Severity: normal
          Priority: P3
         Component: rtl-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---
            Target: powerpc-*-linux-gnu*

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

gcc-9.0.0-alpha20180603 snapshot (r261132) ICEs when compiling the attached
snippet w/ -misel -Os -floop-parallelize-all -frename-registers
-fno-caller-saves -fno-gcse -fno-isolate-erroneous-paths-dereference
-fno-split-wide-types -fno-tree-dominator-opts -fno-tree-vrp -g:

% powerpc-e300c3-linux-gnu-gcc-9.0.0-alpha20180603 -misel -Os
-floop-parallelize-all -frename-registers -fno-caller-saves -fno-gcse
-fno-isolate-erroneous-paths-dereference -fno-split-wide-types
-fno-tree-dominator-opts -fno-tree-vrp -g -c layafnq7.c                        
layafnq7.c: In function 'os':
layafnq7.c:43:1: error: qsort comparator non-negative on sorted output: 0
 }
 ^
during RTL pass: rnreg
layafnq7.c:43:1: internal compiler error: qsort checking failed
0x58cb34 qsort_chk_error
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180603/work/gcc-9-20180603/gcc/vec.c:201
0x15576f9 qsort_chk(void*, unsigned long, unsigned long, int (*)(void const*,
void const*))
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180603/work/gcc-9-20180603/gcc/vec.c:253
0x7b406a vec<df_mw_hardreg*, va_heap, vl_embed>::qsort(int (*)(void const*,
void const*))
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180603/work/gcc-9-20180603/gcc/vec.h:1099
0x7b406a vec<df_mw_hardreg*, va_heap, vl_ptr>::qsort(int (*)(void const*, void
const*))
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180603/work/gcc-9-20180603/gcc/vec.h:1862
0x7b406a df_sort_and_compress_mws
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180603/work/gcc-9-20180603/gcc/df-scan.c:2252
0x7b406a df_canonize_collection_rec
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180603/work/gcc-9-20180603/gcc/df-scan.c:2281
0x7b65cd df_insn_refs_collect
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180603/work/gcc-9-20180603/gcc/df-scan.c:3223
0x7b6a2f df_insn_refs_verify
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180603/work/gcc-9-20180603/gcc/df-scan.c:4082
0x7b892f df_insn_rescan(rtx_insn*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180603/work/gcc-9-20180603/gcc/df-scan.c:1065
0x7bad9c df_process_deferred_rescans()
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180603/work/gcc-9-20180603/gcc/df-scan.c:1246
0x7a175f df_finish_pass(bool)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180603/work/gcc-9-20180603/gcc/df-core.c:651

Reply via email to