aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2003-06-17 22:24:58 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2003-06-17 22:24:58 +0000
commit3cedc9d8ecaa9ab1412fbcac70a82b874e03a95f (patch)
tree3a0981dbd0192145a953b0e918544a166b971c5b /gcc/cp
parenteaf9f3b2e936e437092978ee61606cb53f87e5bc (diff)
downloadgcc-3cedc9d8ecaa9ab1412fbcac70a82b874e03a95f.zip
gcc-3cedc9d8ecaa9ab1412fbcac70a82b874e03a95f.tar.gz
gcc-3cedc9d8ecaa9ab1412fbcac70a82b874e03a95f.tar.bz2
re PR c++/10712 (ICE in constructor_name_full, at cp/decl2.c:1255)
PR c++/1255 * class.c (handle_using_decl): Robustify. PR c++/1255 * g++.dg/lookup/using3.C: New test. From-SVN: r68118
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog3
-rw-r--r--gcc/cp/class.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index a3585fc..cf67ace 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,5 +1,8 @@
2003-06-17 Mark Mitchell <mark@codesourcery.com>
+ PR c++/1255
+ * class.c (handle_using_decl): Robustify.
+
PR c++/11105
* cp-tree.h (DECL_CONV_FN_TYPE): New method.
* mangle.c (struct globals): Remove internal_mangling_p.
diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index c4887f1..53f097b 100644
--- a/gcc/cp/class.c
+++ b/gcc/cp/class.c
@@ -1108,6 +1108,9 @@ handle_using_decl (tree using_decl, tree t)
tree flist = NULL_TREE;
tree old_value;
+ if (ctype == error_mark_node)
+ return;
+
binfo = lookup_base (t, ctype, ba_any, NULL);
if (! binfo)
{