mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-01-13 06:24:30 +08:00
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
This commit is contained in:
parent
e91a8d0fe1
commit
5a887be717
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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>;
|
||||
|
Loading…
Reference in New Issue
Block a user