diff options
author | Andrew Pinski <pinskia@physics.uc.edu> | 2003-12-18 22:19:11 +0000 |
---|---|---|
committer | Andrew Pinski <pinskia@gcc.gnu.org> | 2003-12-18 14:19:11 -0800 |
commit | 01d0a156a87faf436d7498ca73b67cc946c0a665 (patch) | |
tree | 02faca51cc6fe0818fb42b862ea3968e85ebdbb2 | |
parent | 4f2ca7f5242367c32aa8ca848bfdf1d5cacd7d8b (diff) | |
download | gcc-01d0a156a87faf436d7498ca73b67cc946c0a665.zip gcc-01d0a156a87faf436d7498ca73b67cc946c0a665.tar.gz gcc-01d0a156a87faf436d7498ca73b67cc946c0a665.tar.bz2 |
re PR debug/12923 (ICE in gen_subprogram_die, at dwarf2out.c:10607 with -O1 -g)
PR debug/12923
* gcc.dg/20031218-1.c: New test.
PR debug/12389
* gcc.dg/20031218-2.c: New test.
* gcc.dg/20031218-3.c: New test.
From-SVN: r74807
-rw-r--r-- | gcc/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/20031218-1.c | 19 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/20031218-2.c | 12 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/20031218-3.c | 12 |
4 files changed, 50 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index db37a99..980e449 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,12 @@ 2003-12-18 Andrew Pinski <pinskia@physics.uc.edu> + PR debug/12923 + * gcc.dg/20031218-1.c: New test. + + PR debug/12389 + * gcc.dg/20031218-2.c: New test. + * gcc.dg/20031218-3.c: New test. + * g++.dg/abi/mangle18-1.C: Modify regexp to test for `[: \t\n]' at end of label name and allow for USER_LABEL_PREFIX == "_" names. * g++.dg/abi/mangle18-2.C: Likewise. diff --git a/gcc/testsuite/gcc.dg/20031218-1.c b/gcc/testsuite/gcc.dg/20031218-1.c new file mode 100644 index 0000000..87cc105 --- /dev/null +++ b/gcc/testsuite/gcc.dg/20031218-1.c @@ -0,0 +1,19 @@ +/* Orgin: v.haisman@sh.cvut.cz + Reduced by: Wolfgang Bangerth <bangerth@dealii.org> + PR debug/12923 ICE in gen_subprogram_die with -O1 -g + The problem was that this just to ICE with -O1 -g. */ + +/* { dg-do compile } */ +/* { dg-options "-O -g" } */ + +struct S { + unsigned n; +}; + +inline void foo (struct S * mx) { + mx->n = 1; +} + +void bar () { + foo (0); +} diff --git a/gcc/testsuite/gcc.dg/20031218-2.c b/gcc/testsuite/gcc.dg/20031218-2.c new file mode 100644 index 0000000..497c963 --- /dev/null +++ b/gcc/testsuite/gcc.dg/20031218-2.c @@ -0,0 +1,12 @@ +/* Orgin: Richard Sandiford <rsandifo@gcc.gnu.org> + PR debug/12923 ICE in gen_subprogram_die with -O2 -g + The problem was that this just to ICE with -O2 -g. */ + +/* { dg-do compile } */ +/* { dg-options "-O2 -g" } */ + +int f1 (int y) +{ + int f2() { return y; } + return f2(); +} diff --git a/gcc/testsuite/gcc.dg/20031218-3.c b/gcc/testsuite/gcc.dg/20031218-3.c new file mode 100644 index 0000000..58878b6 --- /dev/null +++ b/gcc/testsuite/gcc.dg/20031218-3.c @@ -0,0 +1,12 @@ +/* Orgin: Chris Demetriou <cgd@broadcom.com> + PR debug/12923 ICE in gen_subprogram_die with -O2 -g + The problem was that this just to ICE with -O2 -g. */ + +/* { dg-do compile } */ +/* { dg-options "-O2 -g" } */ + +int x (char *s) +{ + int y () { return (strlen (s)); } + return y (s); +} |