]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR c++/28051 (ICE on invalid conversion operator)
authorLee Millward <lee.millward@gmail.com>
Mon, 17 Jul 2006 18:21:15 +0000 (18:21 +0000)
committerLee Millward <lmillward@gcc.gnu.org>
Mon, 17 Jul 2006 18:21:15 +0000 (18:21 +0000)
PR c++/28051
* search.c (lookup_member): Robustify

* g++.dg/template/using10.C: Adjust error markers.

From-SVN: r115530

gcc/cp/ChangeLog
gcc/cp/search.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/template/using10.C

index 6f58dcb469845cfda3f9942617a4a9f6963e5bdd..03438d522d46891f79bd2ac6475ba9202dc6a549 100644 (file)
@@ -1,3 +1,8 @@
+2006-07-17  Lee Millward  <lee.millward@gmail.com>
+
+       PR c++/28051
+       * search.c (lookup_member): Robustify.
+       
 2006-07-15  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
 
        PR c++/28249
index d706ee11e1b715144425c1b22c61a60a1cb43ed8..ef0f82eefeb97b3869d6bd9db2254cac4c23e833 100644 (file)
@@ -1192,6 +1192,9 @@ lookup_member (tree xbasetype, tree name, int protect, bool want_type)
   tree type = NULL_TREE, basetype_path = NULL_TREE;
   struct lookup_field_info lfi;
 
+  if (name == error_mark_node)
+    return NULL_TREE;
+
   /* rval_binfo is the binfo associated with the found member, note,
      this can be set with useful information, even when rval is not
      set, because it must deal with ALL members, not just non-function
index 888077d7a5dd0eee6a1e99c57fd3e1076ff7dd90..7d3b19b6caa5cd092e3dc4f5abc9129006fcf0c3 100644 (file)
@@ -1,3 +1,8 @@
+2006-07-17  Lee Millward  <lee.millward@gmail.com>
+
+       PR c++/28051
+       * g++.dg/template/using10.C: Adjust error markers.
+       
 2006-07-15  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
 
        PR c++/28249
index ceed63f9265edee5d04bd424ad395692ec7bd5b2..50467e2cd24d6f8545582f6ecd3743a54981fcf7 100644 (file)
@@ -4,7 +4,7 @@ template<int> struct A {};
 
 template<int N> struct B : A<N>
 {
-    using A<N>::operator typename A<N>::X; // { dg-error "no type named" }
+    using A<N>::operator typename A<N>::X; // { dg-error "no type named|members matching" }
 };
 
 B<0> b;