diff options
author | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 1997-09-18 23:52:48 +0000 |
---|---|---|
committer | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 1997-09-18 23:52:48 +0000 |
commit | 487abf669e1b2fb227d698c360f3997c5ec3f232 (patch) | |
tree | dbd2d811f0232fd2793a995ed52d1200779efbce /gcc/cp | |
parent | 24db272534ecb8907c141e4dd3285226c6a3236e (diff) | |
download | gcc-487abf669e1b2fb227d698c360f3997c5ec3f232.tar.gz |
* search.c (lookup_field): Call complete_type in all cases.
Fixes CLN problems.
* decl.c (finish_function): Just warn about flowing off the end.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15555 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/cp/decl.c | 2 | ||||
-rw-r--r-- | 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 <jason@yorick.cygnus.com> + + * 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 <jason@yorick.cygnus.com> * 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 <rth@cygnus.com> * typeck.c (build_ptrmemfunc1): Clean up ptr->int cast warnings. -Mon Sep 1 13:19:04 1997 Jason Merrill <jason@yorick.cygnus.com> +Mon Sep 1 13:19:04 1997 Eugene Mamchits <eugin@ips.ras.ru> * 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 <jason@yorick.cygnus.com> * 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)) { |