aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2011-06-07 17:54:07 -0400
committerJason Merrill <jason@gcc.gnu.org>2011-06-07 17:54:07 -0400
commit3ff609751050030ea83a7ff58eca5c07a3adcdfc (patch)
tree98e87e498bdd1f36569c008ebee5e40e0895652a /libstdc++-v3
parent783c26ae6798141f9822f52b45b24abf685c0afc (diff)
downloadgcc-3ff609751050030ea83a7ff58eca5c07a3adcdfc.zip
gcc-3ff609751050030ea83a7ff58eca5c07a3adcdfc.tar.gz
gcc-3ff609751050030ea83a7ff58eca5c07a3adcdfc.tar.bz2
re PR c++/48969 (ICE with -std=c++0x)
PR c++/48969 PR c++/44175 gcc/c-family/ * c-common.c (max_tinst_depth): Lower default to 900. gcc/cp/ * error.c (subst_to_string): New. (cp_printer): Use it for 'S'. (print_instantiation_partial_context_line): Handle subst context. * pt.c (push_tinst_level): Handle subst context. (deduction_tsubst_fntype): Don't track specific substitutions. Use push_tinst_level. From-SVN: r174772
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog21
-rw-r--r--libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/forward/1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc8
-rw-r--r--libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc8
-rw-r--r--libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc6
-rw-r--r--libstdc++-v3/testsuite/20_util/ratio/operations/ops_overflow_neg.cc6
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/ext_pointer/1_neg.cc16
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/hash_resize_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/type_traits/add_unsigned_floating_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/ext/type_traits/add_unsigned_integer_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_floating_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_integer_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/lib/prune.exp2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr_neg.cc2
19 files changed, 60 insertions, 39 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index e00f06a..b259e9a 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,24 @@
+2011-06-07 Jason Merrill <jason@redhat.com>
+
+ * testsuite/lib/prune.exp: s/required/instantiated/.
+ * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
+ * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
+ * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
+ * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
+ * testsuite/20_util/forward/1_neg.cc: Likewise.
+ * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
+ * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise.
+ * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
+ * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
+ * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Likewise.
+ * testsuite/ext/ext_pointer/1_neg.cc: Likewise.
+ * testsuite/ext/pb_ds/example/hash_resize_neg.cc: Likewise.
+ * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Likewise.
+ * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
+ * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
+ * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
+ * testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr_neg.cc: Likewise.
+
2011-06-07 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/move.h (struct __move_if_noexcept_cond): Add.
diff --git a/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc b/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc
index 8fcdab4..a5f4b28 100644
--- a/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc
@@ -25,5 +25,5 @@
void test01()
{
- std::declval<int>(); // { dg-error "instantiated from here" }
+ std::declval<int>(); // { dg-error "required from here" }
}
diff --git a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc
index 5965f03..1e9c69e 100644
--- a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc
@@ -32,4 +32,4 @@ void test01()
}
// { dg-error "rep cannot be a duration" "" { target *-*-* } 226 }
-// { dg-error "instantiated from here" "" { target *-*-* } 31 }
+// { dg-error "required from here" "" { target *-*-* } 31 }
diff --git a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc
index d84ab9e..c30d94c 100644
--- a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc
@@ -33,5 +33,5 @@ void test01()
}
// { dg-error "must be a specialization of ratio" "" { target *-*-* } 227 }
-// { dg-error "instantiated from here" "" { target *-*-* } 32 }
+// { dg-error "required from here" "" { target *-*-* } 32 }
// { dg-excess-errors "In instantiation of" }
diff --git a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc
index 7c73bf9..940af7f 100644
--- a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc
@@ -34,4 +34,4 @@ void test01()
}
// { dg-error "period must be positive" "" { target *-*-* } 229 }
-// { dg-error "instantiated from here" "" { target *-*-* } 33 }
+// { dg-error "required from here" "" { target *-*-* } 33 }
diff --git a/libstdc++-v3/testsuite/20_util/forward/1_neg.cc b/libstdc++-v3/testsuite/20_util/forward/1_neg.cc
index 6c007be..978ea52 100644
--- a/libstdc++-v3/testsuite/20_util/forward/1_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/forward/1_neg.cc
@@ -38,7 +38,7 @@ struct A
void g()
{
- std::shared_ptr<A> sp1 = factory<A>(2, 1.414); // { dg-error "instantiated from here" }
+ std::shared_ptr<A> sp1 = factory<A>(2, 1.414); // { dg-error "required from here" }
}
// { dg-excess-errors "" }
diff --git a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc
index 77328d8..f37d4fb 100644
--- a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc
@@ -43,10 +43,10 @@ void test01()
}
// { dg-error "does not name a type" "" { target *-*-* } 33 }
-// { dg-error "instantiated from here" "" { target *-*-* } 35 }
-// { dg-error "instantiated from here" "" { target *-*-* } 37 }
-// { dg-error "instantiated from here" "" { target *-*-* } 40 }
-// { dg-error "instantiated from here" "" { target *-*-* } 42 }
+// { dg-error "required from here" "" { target *-*-* } 35 }
+// { dg-error "required from here" "" { target *-*-* } 37 }
+// { dg-error "required from here" "" { target *-*-* } 40 }
+// { dg-error "required from here" "" { target *-*-* } 42 }
// { dg-error "invalid use of incomplete type" "" { target *-*-* } 1511 }
// { dg-error "declaration of" "" { target *-*-* } 1475 }
diff --git a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc
index 572953e..497f170 100644
--- a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc
@@ -43,10 +43,10 @@ void test01()
}
// { dg-error "does not name a type" "" { target *-*-* } 33 }
-// { dg-error "instantiated from here" "" { target *-*-* } 35 }
-// { dg-error "instantiated from here" "" { target *-*-* } 37 }
-// { dg-error "instantiated from here" "" { target *-*-* } 40 }
-// { dg-error "instantiated from here" "" { target *-*-* } 42 }
+// { dg-error "required from here" "" { target *-*-* } 35 }
+// { dg-error "required from here" "" { target *-*-* } 37 }
+// { dg-error "required from here" "" { target *-*-* } 40 }
+// { dg-error "required from here" "" { target *-*-* } 42 }
// { dg-error "invalid use of incomplete type" "" { target *-*-* } 1435 }
// { dg-error "declaration of" "" { target *-*-* } 1399 }
diff --git a/libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc b/libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc
index e6a71c3..83f5ce1 100644
--- a/libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc
@@ -46,9 +46,9 @@ test04()
std::ratio<1,0> r1 __attribute__((unused));
}
-// { dg-error "instantiated from here" "" { target *-*-* } 34 }
-// { dg-error "instantiated from here" "" { target *-*-* } 40 }
-// { dg-error "instantiated from here" "" { target *-*-* } 46 }
+// { dg-error "required from here" "" { target *-*-* } 34 }
+// { dg-error "required from here" "" { target *-*-* } 40 }
+// { dg-error "required from here" "" { target *-*-* } 46 }
// { dg-error "denominator cannot be zero" "" { target *-*-* } 268 }
// { dg-error "out of range" "" { target *-*-* } 269 }
// { dg-error "overflow in constant expression" "" { target *-*-* } 109 }
diff --git a/libstdc++-v3/testsuite/20_util/ratio/operations/ops_overflow_neg.cc b/libstdc++-v3/testsuite/20_util/ratio/operations/ops_overflow_neg.cc
index f1da219..07b1a567 100644
--- a/libstdc++-v3/testsuite/20_util/ratio/operations/ops_overflow_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/ratio/operations/ops_overflow_neg.cc
@@ -36,9 +36,9 @@ test02()
std::ratio_multiply<std::ratio<INTMAX_MAX>, std::ratio<INTMAX_MAX>>::type r2;
}
-// { dg-error "instantiated from here" "" { target *-*-* } 29 }
-// { dg-error "instantiated from here" "" { target *-*-* } 35 }
-// { dg-error "instantiated from here" "" { target *-*-* } 36 }
+// { dg-error "required from here" "" { target *-*-* } 29 }
+// { dg-error "required from here" "" { target *-*-* } 35 }
+// { dg-error "required from here" "" { target *-*-* } 36 }
// { dg-error "overflow in addition" "" { target *-*-* } 432 }
// { dg-error "overflow in multiplication" "" { target *-*-* } 104 }
// { dg-error "overflow in multiplication" "" { target *-*-* } 100 }
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc
index e0d09de..a56148a 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc
@@ -49,4 +49,4 @@ main()
}
// { dg-error "In member function" "" { target *-*-* } 0 }
// { dg-error "cannot convert" "" { target *-*-* } 0 }
-// { dg-error "instantiated from" "" { target *-*-* } 0 }
+// { dg-error "required from" "" { target *-*-* } 0 }
diff --git a/libstdc++-v3/testsuite/ext/ext_pointer/1_neg.cc b/libstdc++-v3/testsuite/ext/ext_pointer/1_neg.cc
index 0ceb9a6..c87e35d 100644
--- a/libstdc++-v3/testsuite/ext/ext_pointer/1_neg.cc
+++ b/libstdc++-v3/testsuite/ext/ext_pointer/1_neg.cc
@@ -54,16 +54,16 @@ void test01(void) {
A_pointer aptr( &a );
// Can't implicitly cast from A* to B*
- B_pointer bptr1(aptr); // { dg-error "instantiated from here" 31 }
- B_pointer bptr2(&a); // { dg-error "instantiated from here" 32 }
+ B_pointer bptr1(aptr); // { dg-error "required from here" 31 }
+ B_pointer bptr2(&a); // { dg-error "required from here" 32 }
// but explicit cast/conversion is OK.
B_pointer bptr3(__static_pointer_cast<B_pointer>(aptr)); // ok
B_pointer bptr4(__static_pointer_cast<B_pointer>(&a)); // ok
// Can't implicitly cast from A* to B*
- bptr1 = aptr; // { dg-error "instantiated from here" 39 }
- bptr1 = &a; // { dg-error "instantiated from here" 40 }
+ bptr1 = aptr; // { dg-error "required from here" 39 }
+ bptr1 = &a; // { dg-error "required from here" 40 }
// but explicit cast/conversion is OK.
bptr1 = __static_pointer_cast<B_pointer>(aptr); // ok
@@ -71,21 +71,21 @@ void test01(void) {
// Similarly, can't shed constness via implicit cast
const_A_pointer captr(&a);
- A_pointer aptr2(captr); // { dg-error "instantiated from here" 48 }
+ A_pointer aptr2(captr); // { dg-error "required from here" 48 }
// but explicit cast/conversion is OK.
A_pointer aptr3(__const_pointer_cast<A_pointer>(captr)); // ok
// Similarly, can't shed constness via implicit cast
- aptr2 = captr; // { dg-error "instantiated from here" 54 }
+ aptr2 = captr; // { dg-error "required from here" 54 }
// but explicit cast/conversion is OK.
aptr3 = __const_pointer_cast<A_pointer>(captr); // ok
// Combine explicit const cast with implicit downcast.
const_B_pointer cbptr(&b);
- A_pointer aptr4(cbptr); // { dg-error "instantiated from here" 61 }
- aptr4 = cbptr; // { dg-error "instantiated from here" 62 }
+ A_pointer aptr4(cbptr); // { dg-error "required from here" 61 }
+ aptr4 = cbptr; // { dg-error "required from here" 62 }
A_pointer aptr5(__const_pointer_cast<B_pointer>(cbptr)); // ok
aptr5 = __const_pointer_cast<B_pointer>(cbptr); // ok
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/hash_resize_neg.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/hash_resize_neg.cc
index 9577dfb..c5b2bd2 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/hash_resize_neg.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/hash_resize_neg.cc
@@ -57,7 +57,7 @@ int main()
// The following line won't compile. The resize policy needs to be
// configured to allow external resize (by default, this is not
// available).
- h.resize(20); // { dg-error "instantiated from" }
+ h.resize(20); // { dg-error "required from" }
}
// { dg-error "invalid" "" { target *-*-* } 187 }
diff --git a/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_floating_neg.cc b/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_floating_neg.cc
index 98202bd..fbd5f1d 100644
--- a/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_floating_neg.cc
+++ b/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_floating_neg.cc
@@ -30,9 +30,9 @@ template<typename T>
int main()
{
- check_add_unsigned<float>(); // { dg-error "instantiated from" }
+ check_add_unsigned<float>(); // { dg-error "required from" }
return 0;
}
-// { dg-error "instantiated from" "" { target *-*-* } 28 }
+// { dg-error "required from" "" { target *-*-* } 28 }
// { dg-error "no type" "" { target *-*-* } 69 }
diff --git a/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_integer_neg.cc b/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_integer_neg.cc
index f08c879..b976de0 100644
--- a/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_integer_neg.cc
+++ b/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_integer_neg.cc
@@ -30,8 +30,8 @@ template<typename T>
int main()
{
- check_add_unsigned<bool>(); // { dg-error "instantiated from" }
- check_add_unsigned<wchar_t>(); // { dg-error "instantiated from" }
+ check_add_unsigned<bool>(); // { dg-error "required from" }
+ check_add_unsigned<wchar_t>(); // { dg-error "required from" }
return 0;
}
diff --git a/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_floating_neg.cc b/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_floating_neg.cc
index 486baad..2e04046 100644
--- a/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_floating_neg.cc
+++ b/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_floating_neg.cc
@@ -30,9 +30,9 @@ template<typename T>
int main()
{
- check_remove_unsigned<float>(); // { dg-error "instantiated from" }
+ check_remove_unsigned<float>(); // { dg-error "required from" }
return 0;
}
-// { dg-error "instantiated from" "" { target *-*-* } 28 }
+// { dg-error "required from" "" { target *-*-* } 28 }
// { dg-error "no type" "" { target *-*-* } 112 }
diff --git a/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_integer_neg.cc b/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_integer_neg.cc
index 1ad1d93..bd5c423 100644
--- a/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_integer_neg.cc
+++ b/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_integer_neg.cc
@@ -30,8 +30,8 @@ template<typename T>
int main()
{
- check_remove_unsigned<bool>(); // { dg-error "instantiated from" }
- check_remove_unsigned<wchar_t>(); // { dg-error "instantiated from" }
+ check_remove_unsigned<bool>(); // { dg-error "required from" }
+ check_remove_unsigned<wchar_t>(); // { dg-error "required from" }
return 0;
}
diff --git a/libstdc++-v3/testsuite/lib/prune.exp b/libstdc++-v3/testsuite/lib/prune.exp
index cdbcd31..e7d6a5a 100644
--- a/libstdc++-v3/testsuite/lib/prune.exp
+++ b/libstdc++-v3/testsuite/lib/prune.exp
@@ -39,7 +39,7 @@ proc libstdc++-dg-prune { system text } {
# definitions, etc as these confuse dejagnu
regsub -all "(^|\n)(\[^\n\]*: )?In ((static member |lambda )?function|member|method|(copy )?constructor|destructor|instantiation|program|subroutine|block-data)\[^\n\]*" $text "" text
regsub -all "(^|\n)\[^\n\]*(: )?At (top level|global scope):\[^\n\]*" $text "" text
- regsub -all "(^|\n)\[^\n\]*: (recursively )?instantiated from \[^\n\]*" $text "" text
+ regsub -all "(^|\n)\[^\n\]*: (recursively )?required \[^\n\]*" $text "" text
regsub -all "(^|\n)\[^\n\]*: . skipping \[0-9\]* instantiation contexts \[^\n\]*" $text "" text
regsub -all "(^|\n) inlined from \[^\n\]*" $text "" text
# Why doesn't GCC need these to strip header context?
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr_neg.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr_neg.cc
index 490cfc4..8114531 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr_neg.cc
@@ -48,4 +48,4 @@ main()
}
// { dg-error "In member function" "" { target *-*-* } 0 }
// { dg-error "cannot convert" "" { target *-*-* } 0 }
-// { dg-error "instantiated from" "" { target *-*-* } 0 }
+// { dg-error "required from" "" { target *-*-* } 0 }