diff options
author | Mark Mitchell <mark@codesourcery.com> | 2005-06-24 13:27:25 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2005-06-24 13:27:25 +0000 |
commit | 68c1abf1e0890ed03b7c1d91584193b82cf55714 (patch) | |
tree | 126cfb4378caa5075533fd25a1538e261cbc2dc7 /gcc | |
parent | 305a132148b9ced8ec6a6cf33a3d4635729fde9d (diff) | |
download | gcc-68c1abf1e0890ed03b7c1d91584193b82cf55714.zip gcc-68c1abf1e0890ed03b7c1d91584193b82cf55714.tar.gz gcc-68c1abf1e0890ed03b7c1d91584193b82cf55714.tar.bz2 |
re PR tree-optimization/22171 (gcc-4.0-20050623 internal compiler error in linux/drivers/serial/8250.c)
PR 22171
* tree-ssa-operands.c (get_expr_operands): Check s_ann for NULL
before use.
PR 22171
* gcc.dg/tree-ssa/pr22171.c: New test.
From-SVN: r101292
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/pr22171.c | 28 |
3 files changed, 39 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a8a5231..818aea5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2005-06-24 Mark Mitchell <mark@codesourcery.com> + + PR 22171 + * tree-ssa-operands.c (get_expr_operands): Check s_ann for NULL + before use. + 2005-06-23 Mark Mitchell <mark@codesourcery.com> PR 22000 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 413f381..f699cd2 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-06-24 Mark Mitchell <mark@codesourcery.com> + + PR 22171 + * gcc.dg/tree-ssa/pr22171.c: New test. + 2005-06-24 Feng Wang <fengwang@nudt.edu.cn> * gfortran.dg/simplify_modulo.f90: New. diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr22171.c b/gcc/testsuite/gcc.dg/tree-ssa/pr22171.c new file mode 100644 index 0000000..6a26c56 --- /dev/null +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr22171.c @@ -0,0 +1,28 @@ +/* { dg-options "-O2" } */ + +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; +} |