From 238109cd665cde1e1263eec736f2930bc0654ffb Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Thu, 18 Sep 1997 19:52:48 -0400 Subject: [PATCH] search.c (lookup_field): Call complete_type in all cases. * search.c (lookup_field): Call complete_type in all cases. Fixes CLN problems. * decl.c (finish_function): Just warn about flowing off the end. From-SVN: r15555 --- gcc/cp/ChangeLog | 11 +++++++++-- gcc/cp/decl.c | 2 +- gcc/cp/search.c | 7 +++++-- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 7e1460fcb67..39b7ac2ea10 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +Thu Sep 18 16:47:52 1997 Jason Merrill + + * search.c (lookup_field): Call complete_type in all cases. + + * decl.c (finish_function): Just warn about flowing off the end. + Wed Sep 17 10:31:25 1997 Jason Merrill * decl.c (grokparms): Don't bash a permanent list node if we're @@ -306,11 +312,12 @@ Tue Sep 2 10:27:08 1997 Richard Henderson * typeck.c (build_ptrmemfunc1): Clean up ptr->int cast warnings. -Mon Sep 1 13:19:04 1997 Jason Merrill +Mon Sep 1 13:19:04 1997 Eugene Mamchits * call.c (add_builtin_candidate): Add missing TREE_TYPE. (compare_ics): Likewise. - From someone whose name I've lost (sorry). + +Mon Sep 1 13:19:04 1997 Jason Merrill * call.c (joust): Warn about choosing one conversion op over another because of 'this' argument when the other return type is diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 1b153589bea..261ec65f185 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -12264,7 +12264,7 @@ finish_function (lineno, call_poplevel, nested) { /* If this function returns non-void and control can drop through, complain. */ - cp_pedwarn ("control reaches end of non-void function `%D'", fndecl); + cp_warning ("control reaches end of non-void function `%D'", fndecl); } /* With just -W, complain only if function returns both with and without a value. */ diff --git a/gcc/cp/search.c b/gcc/cp/search.c index 078793c8cfa..c8e08064630 100644 --- a/gcc/cp/search.c +++ b/gcc/cp/search.c @@ -1206,12 +1206,15 @@ lookup_field (xbasetype, name, protect, want_type) } else if (IS_AGGR_TYPE_CODE (TREE_CODE (xbasetype))) { - type = complete_type (xbasetype); + type = xbasetype; basetype_path = TYPE_BINFO (type); BINFO_VIA_PUBLIC (basetype_path) = 1; BINFO_INHERITANCE_CHAIN (basetype_path) = NULL_TREE; } - else my_friendly_abort (97); + else + my_friendly_abort (97); + + complete_type (type); if (CLASSTYPE_MTABLE_ENTRY (type)) {