aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg
diff options
context:
space:
mode:
authorManuel López-Ibáñez <manu@gcc.gnu.org>2010-04-28 08:34:01 +0000
committerManuel López-Ibáñez <manu@gcc.gnu.org>2010-04-28 08:34:01 +0000
commit4b414c93f0d6e1e70bff5eaca0fb8f066f793883 (patch)
tree8d11fc6717643399c2039596ee4aaf922b4469c5 /gcc/testsuite/g++.dg
parent012e6a1e049a8b2706203876ee1418140842fcb3 (diff)
downloadgcc-4b414c93f0d6e1e70bff5eaca0fb8f066f793883.zip
gcc-4b414c93f0d6e1e70bff5eaca0fb8f066f793883.tar.gz
gcc-4b414c93f0d6e1e70bff5eaca0fb8f066f793883.tar.bz2
re PR c++/9335 (repeated diagnostic when maximum template depth is exceeded)
2010-04-28 Manuel López-Ibáñez <manu@gcc.gnu.org> PR c++/9335 cp/ * error.c (print_instantiation_partial_context_line): Handle recursive instantiation. (print_instantiation_partial_context): Likewise. testsuite/ * g++.dg/template/recurse2.C: Update * g++.dg/template/recurse.C: Update. * g++.dg/template/pr23510.C: Update. * lib/prune.exp: Filter out 'recursively instantiated'. From-SVN: r158823
Diffstat (limited to 'gcc/testsuite/g++.dg')
-rw-r--r--gcc/testsuite/g++.dg/template/pr23510.C2
-rw-r--r--gcc/testsuite/g++.dg/template/recurse.C3
-rw-r--r--gcc/testsuite/g++.dg/template/recurse2.C1
3 files changed, 3 insertions, 3 deletions
diff --git a/gcc/testsuite/g++.dg/template/pr23510.C b/gcc/testsuite/g++.dg/template/pr23510.C
index a0806e2..b9e9889 100644
--- a/gcc/testsuite/g++.dg/template/pr23510.C
+++ b/gcc/testsuite/g++.dg/template/pr23510.C
@@ -4,7 +4,7 @@ template<unsigned int nFactor>
struct Factorial
{
enum { nValue = nFactor * Factorial<nFactor - 1>::nValue }; // { dg-error "depth exceeds maximum" }
- // { dg-message "skipping 5 instantiation contexts" "" { target *-*-* } 6 }
+ // { dg-message "recursively instantiated" "" { target *-*-* } 6 }
// { dg-error "incomplete type" "" { target *-*-* } 6 }
}
diff --git a/gcc/testsuite/g++.dg/template/recurse.C b/gcc/testsuite/g++.dg/template/recurse.C
index 17fe186..448c347 100644
--- a/gcc/testsuite/g++.dg/template/recurse.C
+++ b/gcc/testsuite/g++.dg/template/recurse.C
@@ -8,8 +8,7 @@ template <int I> struct F
F<I+1> f; // { dg-error "incomplete type" "incomplete" }
// { dg-bogus "exceeds maximum.*exceeds maximum" "exceeds" { xfail *-*-* } 8 }
// { dg-error "exceeds maximum" "exceeds" { xfail *-*-* } 8 }
- return f()*I; // { dg-message "instantiated" "recurse" }
- // { dg-message "skipping 40 instantiation contexts" "" { target *-*-* } 11 }
+ return f()*I; // { dg-message "recursively instantiated" "recurse" }
}
};
diff --git a/gcc/testsuite/g++.dg/template/recurse2.C b/gcc/testsuite/g++.dg/template/recurse2.C
index cf085e0..b9767df 100644
--- a/gcc/testsuite/g++.dg/template/recurse2.C
+++ b/gcc/testsuite/g++.dg/template/recurse2.C
@@ -3,5 +3,6 @@
template <int N> struct X {
static const int value = X<N-1>::value; // { dg-error "instantiation|incomplete" }
+ // { dg-message "recursively instantiated" "" { target *-*-* } 5 }
};
template struct X<1000>;