diff options
author | Jason Merrill <jason@redhat.com> | 2003-03-13 16:39:38 -0500 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2003-03-13 16:39:38 -0500 |
commit | 0171b21c32016b8397c8cdbc793904b4163e7573 (patch) | |
tree | dddf13ebd2bb68fb674c933e1ce0f2778324f96a | |
parent | 45707d3120b9f91076bf8ab60a60fa094f2eb7b5 (diff) | |
download | gcc-0171b21c32016b8397c8cdbc793904b4163e7573.zip gcc-0171b21c32016b8397c8cdbc793904b4163e7573.tar.gz gcc-0171b21c32016b8397c8cdbc793904b4163e7573.tar.bz2 |
re PR c++/9420 (incomplete type incorrectly reported)
PR c++/9420
* search.c (lookup_conversions): Call complete_type here.
* call.c (implicit_conversion): Not here.
From-SVN: r64332
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/call.c | 5 | ||||
-rw-r--r-- | gcc/cp/search.c | 4 |
3 files changed, 8 insertions, 7 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 2916688..539ad19 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2003-03-13 Jason Merrill <jason@redhat.com> + + PR c++/9420 + * search.c (lookup_conversions): Call complete_type here. + * call.c (implicit_conversion): Not here. + 2003-03-13 Mark Mitchell <mark@codesourcery.com> * decl2.c (do_nonmember_using_decl): Correct handling of diff --git a/gcc/cp/call.c b/gcc/cp/call.c index d6496ad..9ed804b 100644 --- a/gcc/cp/call.c +++ b/gcc/cp/call.c @@ -1305,11 +1305,6 @@ implicit_conversion (tree to, tree from, tree expr, int flags) || expr == error_mark_node) return NULL_TREE; - /* Make sure both the FROM and TO types are complete so that - user-defined conversions are available. */ - complete_type (from); - complete_type (to); - if (TREE_CODE (to) == REFERENCE_TYPE) conv = reference_binding (to, from, expr, flags); else diff --git a/gcc/cp/search.c b/gcc/cp/search.c index 3d23766..7cc1fa1 100644 --- a/gcc/cp/search.c +++ b/gcc/cp/search.c @@ -2271,8 +2271,8 @@ lookup_conversions (tree type) tree t; tree conversions = NULL_TREE; - if (COMPLETE_TYPE_P (type)) - bfs_walk (TYPE_BINFO (type), add_conversions, 0, &conversions); + complete_type (type); + bfs_walk (TYPE_BINFO (type), add_conversions, 0, &conversions); for (t = conversions; t; t = TREE_CHAIN (t)) IDENTIFIER_MARKED (DECL_NAME (OVL_CURRENT (TREE_VALUE (t)))) = 0; |