From 72fcb5d12bd7c7682bc91f187d7be596ba55bf9b Mon Sep 17 00:00:00 2001 From: Andrew Pinski Date: Mon, 26 Apr 2004 12:54:55 +0000 Subject: re PR c++/15119 (internal compiler error: in substitute_placeholder_in_expr, at tree.c:2155) 2004-04-26 Andrew Pinski PR c++/15119 * g++.dg/other/vararg-1.C: New test. PR c++/4794 * g++.dg/eh/cleanup3.C: New test. From-SVN: r81188 --- gcc/testsuite/ChangeLog | 8 ++++++++ gcc/testsuite/g++.dg/eh/cleanup3.C | 20 ++++++++++++++++++++ gcc/testsuite/g++.dg/other/vararg-1.C | 20 ++++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 gcc/testsuite/g++.dg/eh/cleanup3.C create mode 100644 gcc/testsuite/g++.dg/other/vararg-1.C (limited to 'gcc') diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c7267d8..8760c5f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2004-04-26 Andrew Pinski + + PR c++/15119 + * g++.dg/other/vararg-1.C: New test. + + PR c++/4794 + * g++.dg/eh/cleanup3.C: New test. + 2004-04-24 Laurent GUERBY * ada/acats/run_all.sh: Handle cd2a83c, cd2a91c (target_bit) diff --git a/gcc/testsuite/g++.dg/eh/cleanup3.C b/gcc/testsuite/g++.dg/eh/cleanup3.C new file mode 100644 index 0000000..79935de --- /dev/null +++ b/gcc/testsuite/g++.dg/eh/cleanup3.C @@ -0,0 +1,20 @@ +// C++/4794 +// This test used to hang in has_cleanups +// Contributed by: +/* { dg-do compile } */ + +void foo (int a,int b,int c,int d,int e,int f,int g,int h,int i,int j,int k, + int l,int m,int n,int o,int p,int q,int r,int s,int t,int u,int v,int w, + int x,int y,int z,int aa,int ab,int ac) +{ +if (!((((ac != 0) + (d != 0) + (c != 0) + (f != 0) + (x != 0) + (y != 0) + + (z != 0) + (aa != 0) + (ab != 0) + (g != 0) + (b != 0) + (a != 0) + + (h != 0) + (e != 0) + (p != 0) + (q != 0) + (n != 0) + (r != 0) + + (o != 0) + (v != 0) + (w != 0) + (t != 0) + (u != 0) + (s != 0) + + (k != 0) + (l != 0) + (m != 0) + (i != 0) + (j != 0)) <= 1))) + { + return; + } +} + + diff --git a/gcc/testsuite/g++.dg/other/vararg-1.C b/gcc/testsuite/g++.dg/other/vararg-1.C new file mode 100644 index 0000000..f25606e --- /dev/null +++ b/gcc/testsuite/g++.dg/other/vararg-1.C @@ -0,0 +1,20 @@ +// C++/15119 +// This ICEd in substitute_placeholder_in_expr because it did not +// implement the 4 element trees. +// Orginal test by: +// Reduced by: +/* { dg-do compile } */ + +template +const T& xmin(const T& a, const T& b); + +void bar (char *, ...); + +char const* descs[4]; + +int main() { + int t = 1; + char buf[100]; + bar( buf, descs[ xmin(t-1,4) ], 0 ); + return 0; +} -- cgit v1.1