aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2009-11-17 00:58:03 -0500
committerJason Merrill <jason@gcc.gnu.org>2009-11-17 00:58:03 -0500
commit5a887be717cd21d8be05c48c62405ede20b6ca75 (patch)
treea8df8a9044fc7bb00a3c7cc27a9bb760e4230e50
parente91a8d0fe16d6236aa5d7260614af50c35cc3305 (diff)
downloadgcc-5a887be717cd21d8be05c48c62405ede20b6ca75.zip
gcc-5a887be717cd21d8be05c48c62405ede20b6ca75.tar.gz
gcc-5a887be717cd21d8be05c48c62405ede20b6ca75.tar.bz2
PR c++/189, c++/9937, c++/13950, DR 176
PR c++/189, c++/9937, c++/13950, DR 176 * g++.dg/tc1/dr176.C: Adjust. From-SVN: r154235
-rw-r--r--gcc/cp/ChangeLog2
-rw-r--r--gcc/testsuite/ChangeLog3
-rw-r--r--gcc/testsuite/g++.dg/tc1/dr176.C8
3 files changed, 7 insertions, 6 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 960cedc..07175a9 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,6 +1,6 @@
2009-11-16 Jason Merrill <jason@redhat.com>
- PR c++/13950, DR 176
+ PR c++/189, c++/9937, c++/13950, DR 176
* search.c (lookup_field_r): Allow lookup to find the
injected-class-name from a template base.
(template_self_reference_p): Remove.
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 6b3e48cb..aa31f9f 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,6 +1,7 @@
2009-11-16 Jason Merrill <jason@redhat.com>
- PR c++/13950
+ PR c++/189, c++/9937, c++/13950, DR 176
+ * g++.dg/tc1/dr176.C: Adjust.
* g++.dg/template/injected1.C: New.
* g++.dg/template/inherit.C: Adjust.
* g++.old-deja/g++.brendan/crash56.C: Adjust.
diff --git a/gcc/testsuite/g++.dg/tc1/dr176.C b/gcc/testsuite/g++.dg/tc1/dr176.C
index aad805b..2879ac4 100644
--- a/gcc/testsuite/g++.dg/tc1/dr176.C
+++ b/gcc/testsuite/g++.dg/tc1/dr176.C
@@ -10,19 +10,19 @@ namespace N1 {
};
template <class T> struct Derived: public Base<T> {
- Base* p; // { dg-bogus "" "injected class name in derived classes" { xfail *-*-* } }
+ Base* p; // { dg-error "" "unqualified name binds to N1::Base" }
Base<T*>* p2;
- typename Derived::Base* p3; // { dg-bogus "" "injected class name in derived classes" { xfail *-*-* } }
+ typename Derived::Base* p3; // { dg-bogus "" "injected class name in derived classes" }
};
- template struct Derived<void>; // { dg-bogus "instantiated from here" "everything should be looked up at parsing time (after DR224)" { xfail *-*-* } }
+ template struct Derived<void>; // { dg-bogus "instantiated from here" "everything should be looked up at parsing time (after DR224)" }
}
namespace N2 {
template <class T> struct Base {};
template <class T> struct Derived: public Base<T> {
- typename Derived::template Base<double>* p1; // { dg-bogus "" "" { xfail *-*-* } }
+ typename Derived::template Base<double>* p1; // { dg-bogus "" "" }
};
template struct Derived<void>;