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

Arseny Solokha <asolokha at gmx dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |asolokha at gmx dot com

--- Comment #14 from Arseny Solokha <asolokha at gmx dot com> ---
I believe the fix leads to the following ICE on trunk:

% gcc-8.0.0-alpha20180107 -O1 -fno-tree-ccp -Wmaybe-uninitialized -w -c
odqkzc8z.c 
during GIMPLE pass: uninit
odqkzc8z.c: In function 'pc':
odqkzc8z.c:4:1: internal compiler error: Segmentation fault
 pc (int *tt)
 ^~
0xd4e2cf crash_signal
       
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180107/work/gcc-8-20180107/gcc/toplev.c:325
0x722c54 gimple_code
       
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180107/work/gcc-8-20180107/gcc/gimple.h:1677
0x722c54 is_gimple_call
       
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180107/work/gcc-8-20180107/gcc/gimple.h:2788
0x722c54 convert_control_dep_chain_into_preds
       
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180107/work/gcc-8-20180107/gcc/tree-ssa-uninit.c:676
0xefa535 convert_control_dep_chain_into_preds
       
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180107/work/gcc-8-20180107/gcc/tree-ssa-uninit.c:648
0xefa535 find_def_preds
       
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180107/work/gcc-8-20180107/gcc/tree-ssa-uninit.c:909
0xefa535 is_use_properly_guarded
       
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180107/work/gcc-8-20180107/gcc/tree-ssa-uninit.c:2472
0xefae46 find_uninit_use
       
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180107/work/gcc-8-20180107/gcc/tree-ssa-uninit.c:2531
0xefae46 warn_uninitialized_phi
       
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180107/work/gcc-8-20180107/gcc/tree-ssa-uninit.c:2600
0xefae46 execute
       
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180107/work/gcc-8-20180107/gcc/tree-ssa-uninit.c:2709

int oo;

void
pc (int *tt)
{
  int cf = 0;

  if (*tt != 0)
    {
      if (0)
        {
          int *qg;
          int uj = 0;

 t6:
          tt = &cf;
          if (oo != 0)
            {
              ++uj;
              *qg = !!oo && !!uj;
            }
        }
      cf = 0;
      goto t6;
    }

  if (oo != 0)
    {
      *tt = 1;
      goto t6;
    }
}

(as of r256324).

Reply via email to