aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2010-02-08 16:49:30 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2010-02-08 16:49:30 +0100
commit783b008c606ae86ca76a703e3e3491bdc956be6a (patch)
treeae172c04afddf80de4deed849e9802cd2cd1a392 /gcc
parent8d9eca14aede1725962fa0933e87b28f8a7d03b2 (diff)
downloadgcc-783b008c606ae86ca76a703e3e3491bdc956be6a.zip
gcc-783b008c606ae86ca76a703e3e3491bdc956be6a.tar.gz
gcc-783b008c606ae86ca76a703e3e3491bdc956be6a.tar.bz2
re PR tree-optimization/42890 (Crash in type_like_member_ptr_p in ipa-prop.c:382)
PR tree-optimization/42890 * g++.dg/torture/pr42890.C: New test. From-SVN: r156604
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/torture/pr42890.C25
2 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index ced96b7..040b2a2 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2010-02-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/42890
+ * g++.dg/torture/pr42890.C: New test.
+
2010-02-08 Richard Guenther <rguenther@suse.de>
PR middle-end/42995
diff --git a/gcc/testsuite/g++.dg/torture/pr42890.C b/gcc/testsuite/g++.dg/torture/pr42890.C
new file mode 100644
index 0000000..9373676
--- /dev/null
+++ b/gcc/testsuite/g++.dg/torture/pr42890.C
@@ -0,0 +1,25 @@
+// PR tree-optimization/42890
+// { dg-do compile }
+
+extern "C" int puts (const char *) throw ();
+
+struct S
+{
+ const char *a;
+ const char **b;
+ S (const char *s) { a = s; b = &a; }
+ ~S () { puts (a); }
+};
+
+void
+foo (int (*fn) (const char *))
+{
+ S a ("foo");
+ fn ("bar");
+}
+
+int
+main ()
+{
+ foo (puts);
+}