This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug regression/22171] New: gcc-4.0-20050623 internal compiler error in linux/drivers/serial/8250.c
- From: "mikpe at csd dot uu dot se" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 24 Jun 2005 12:18:04 -0000
- Subject: [Bug regression/22171] New: gcc-4.0-20050623 internal compiler error in linux/drivers/serial/8250.c
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
/*
* gcc401bug.c
* Written by Mikael Pettersson, mikpe@csd.uu.se, 2005-06-24.
* Adapted from linux-2.6.12/drivers/serial/8250.c.
*
* gcc-4.0-20050623 bootstrapped on i686-pc-linux-gnu
* gets an ICE when compiling this program at -O2:
*
* gcc401bug.c: In function 'serial8250_isa_init_ports':
* gcc401bug.c:30: internal compiler error: Segmentation fault
*
* Notes:
* - gcc-4.0.1-20050616 does not have this bug.
* - Using -O1 prevents the ICE.
*/
static unsigned int old_serial_port_irq[10];
static struct uart_8250_port {
volatile unsigned int slock;
unsigned int irq;
} serial8250_ports[10];
static __inline__ __attribute__((always_inline)) int irq_canonicalize(int irq)
{
return ((irq == 2) ? 9 : irq);
}
void serial8250_isa_init_ports(void)
{
struct uart_8250_port *up;
int i;
for (i = 0, up = serial8250_ports; i < 10; i++, up++)
up->irq = irq_canonicalize(old_serial_port_irq[i]);
}
int main(void)
{
serial8250_isa_init_ports();
return 0;
}
--
Summary: gcc-4.0-20050623 internal compiler error in
linux/drivers/serial/8250.c
Product: gcc
Version: 4.0.1
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: regression
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mikpe at csd dot uu dot se
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22171