aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJason Merrill <jason@yorick.cygnus.com>1997-09-20 22:38:48 +0000
committerJason Merrill <jason@gcc.gnu.org>1997-09-20 18:38:48 -0400
commitb82b76c6bae613b6b01a86015c72de7cc1c0be4c (patch)
treea46ecde6ec57cd9252fe5172b29c89e4531fc3f8 /gcc
parent71e4fbe6dfb18d783700f480f2cd3dcb5146e4c3 (diff)
downloadgcc-b82b76c6bae613b6b01a86015c72de7cc1c0be4c.zip
gcc-b82b76c6bae613b6b01a86015c72de7cc1c0be4c.tar.gz
gcc-b82b76c6bae613b6b01a86015c72de7cc1c0be4c.tar.bz2
call.c (build_over_call): Do require_complete_type before build_cplus_new.
* call.c (build_over_call): Do require_complete_type before build_cplus_new. Fixes t20.C mode problem. From-SVN: r15598
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/call.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 39b7ac2..a0488b7 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+Sat Sep 20 15:31:00 1997 Jason Merrill <jason@yorick.cygnus.com>
+
+ * call.c (build_over_call): Do require_complete_type before
+ build_cplus_new.
+
Thu Sep 18 16:47:52 1997 Jason Merrill <jason@yorick.cygnus.com>
* search.c (lookup_field): Call complete_type in all cases.
diff --git a/gcc/cp/call.c b/gcc/cp/call.c
index 48b5abf..a080c04 100644
--- a/gcc/cp/call.c
+++ b/gcc/cp/call.c
@@ -5425,9 +5425,10 @@ build_over_call (fn, convs, args, flags)
fn = build_call (fn, TREE_TYPE (TREE_TYPE (TREE_TYPE (fn))), converted_args);
if (TREE_TYPE (fn) == void_type_node)
return fn;
+ fn = require_complete_type (fn);
if (IS_AGGR_TYPE (TREE_TYPE (fn)))
fn = build_cplus_new (TREE_TYPE (fn), fn);
- return convert_from_reference (require_complete_type (fn));
+ return convert_from_reference (fn);
}
static tree