OSDN Git Service

PR c++/189, c++/9937, c++/13950, DR 176
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 17 Nov 2009 05:58:03 +0000 (05:58 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 17 Nov 2009 05:58:03 +0000 (05:58 +0000)
* g++.dg/tc1/dr176.C: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154235 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/cp/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/tc1/dr176.C

index 960cedc..07175a9 100644 (file)
@@ -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.
index 6b3e48c..aa31f9f 100644 (file)
@@ -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.
index aad805b..2879ac4 100644 (file)
@@ -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>;