http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58892

            Bug ID: 58892
           Summary: ICE in combine.c when using -Os on alpha
           Product: gcc
           Version: 4.8.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: mcree at orcon dot net.nz
            Target: alpha

Created attachment 31096
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31096&action=edit
Preprocessed C source that causes ICE.

While compiling linux kernel for Alpha get ICE in combine.c:711 when compiling
drivers/media/dvb-core/dvb-demux.c.

Attached preprocessed source from that compilation.  Established that it is the
use of -Os that leads to the ICE. Namely running:

gcc-4.8 -nostdinc -Os -c ices.c

generates the following output:

In file included from
/home/mjc/debian/linux/linux-3.11.5/include/linux/thread_info.h:54:0,
                 from
/home/mjc/debian/linux/linux-3.11.5/include/linux/preempt.h:9,
                 from
/home/mjc/debian/linux/linux-3.11.5/include/linux/spinlock.h:50,
                 from
/home/mjc/debian/linux/linux-3.11.5/include/linux/seqlock.h:29,
                 from
/home/mjc/debian/linux/linux-3.11.5/include/linux/time.h:5,
                 from
/home/mjc/debian/linux/linux-3.11.5/include/uapi/linux/timex.h:56,
                 from
/home/mjc/debian/linux/linux-3.11.5/include/linux/timex.h:56,
                 from
/home/mjc/debian/linux/linux-3.11.5/include/linux/sched.h:17,
                 from
/home/mjc/debian/linux/linux-3.11.5/drivers/media/dvb-core/dvb_demux.c:24:
/home/mjc/debian/linux/linux-3.11.5/arch/alpha/include/asm/thread_info.h:52:30:
warning: call-clobbered register used for global register variable [enabled by
default]
 register struct thread_info *__current_thread_info __asm__("$8");
                              ^
/home/mjc/debian/linux/linux-3.11.5/drivers/media/dvb-core/dvb_demux.c: In
function ‘dvb_dmx_swfilter_packet’:
/home/mjc/debian/linux/linux-3.11.5/drivers/media/dvb-core/dvb_demux.c:474:1:
internal compiler error: in do_SUBST, at combine.c:711
 }
 ^


Compilation is sucessful without -Os option or with -O1.  ICE reappears if
compile with -O2.  ICE only occurs with gcc-4.8 (Debian 4.8.2-1) but not
gcc-4.6 or gcc-4.7 so looks like a regression.

Reply via email to