summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/cp/ChangeLog4
-rw-r--r--gcc/cp/search.c2
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/g++.dg/parse/lookup5.C26
4 files changed, 35 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index da860eb6b38..f7201ba4520 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,7 @@
+2006-01-18 Jakub Jelinek <jakub@redhat.com>
+
+ * search.c (lookup_conversions_r): Fix a pasto.
+
2006-01-17 Eric Christopher <echristo@apple.com>
* call.c (convert_like_real): When issuing conversion
diff --git a/gcc/cp/search.c b/gcc/cp/search.c
index 090510b4103..90e88d6865e 100644
--- a/gcc/cp/search.c
+++ b/gcc/cp/search.c
@@ -2355,7 +2355,7 @@ lookup_conversions_r (tree binfo,
{
parent_tpl_convs = tree_cons (binfo, my_tpl_convs, parent_tpl_convs);
if (virtual_depth)
- TREE_STATIC (parent_convs) = 1;
+ TREE_STATIC (parent_tpl_convs) = 1;
}
child_convs = other_convs;
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index dc5c57a360e..61145bc640d 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2006-01-18 Jakub Jelinek <jakub@redhat.com>
+
+ * g++.dg/parse/lookup5.C: New test.
+
2006-01-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/25697
diff --git a/gcc/testsuite/g++.dg/parse/lookup5.C b/gcc/testsuite/g++.dg/parse/lookup5.C
new file mode 100644
index 00000000000..afdf023b50b
--- /dev/null
+++ b/gcc/testsuite/g++.dg/parse/lookup5.C
@@ -0,0 +1,26 @@
+// { dg-do compile }
+
+struct A {};
+
+template <class T> struct B
+{
+ T a, b;
+ B() {}
+ B(T x, T y) : a(x), b(y) {}
+ template <class U> operator B<U> () const
+ { return B<U>((U)(this->a), (U)(this->b)); }
+};
+
+template <class T> struct C : public B<int>
+{
+ T *c;
+ inline T & operator *() { return *c; }
+};
+
+template <class T> struct D : virtual public C<T> { };
+
+void
+foo (D<A> x)
+{
+ *x;
+}