Commit 1cb47a5c by Martin v. Löwis Committed by Martin v. Löwis

* call.c (build_new_method_call): Also check destructors.

From-SVN: r31157
parent 3bdf5848
1999-01-01 Martin v. Lwis <loewis@informatik.hu-berlin.de>
* call.c (build_new_method_call): Also check destructors.
1999-12-31 Mark Mitchell <mark@codesourcery.com> 1999-12-31 Mark Mitchell <mark@codesourcery.com>
* cp-tree.h (VF_NORMAL_VALUE): Remove. * cp-tree.h (VF_NORMAL_VALUE): Remove.
......
/* Functions related to invoking methods and overloaded functions. /* Functions related to invoking methods and overloaded functions.
Copyright (C) 1987, 92-97, 1998, 1999 Free Software Foundation, Inc. Copyright (C) 1987, 92-99, 2000 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com) and Contributed by Michael Tiemann (tiemann@cygnus.com) and
modified by Brendan Kehoe (brendan@cygnus.com). modified by Brendan Kehoe (brendan@cygnus.com).
...@@ -4321,10 +4321,14 @@ build_new_method_call (instance, name, args, basetype_path, flags) ...@@ -4321,10 +4321,14 @@ build_new_method_call (instance, name, args, basetype_path, flags)
if (DECL_PURE_VIRTUAL_P (cand->fn) if (DECL_PURE_VIRTUAL_P (cand->fn)
&& instance == current_class_ref && instance == current_class_ref
&& DECL_CONSTRUCTOR_P (current_function_decl) && (DECL_CONSTRUCTOR_P (current_function_decl)
|| DECL_DESTRUCTOR_P (current_function_decl))
&& ! (flags & LOOKUP_NONVIRTUAL) && ! (flags & LOOKUP_NONVIRTUAL)
&& value_member (cand->fn, CLASSTYPE_PURE_VIRTUALS (basetype))) && value_member (cand->fn, CLASSTYPE_PURE_VIRTUALS (basetype)))
cp_error ("abstract virtual `%#D' called from constructor", cand->fn); cp_error ((DECL_CONSTRUCTOR_P (current_function_decl) ?
"abstract virtual `%#D' called from constructor"
: "abstract virtual `%#D' called from destructor"),
cand->fn);
if (TREE_CODE (TREE_TYPE (cand->fn)) == METHOD_TYPE if (TREE_CODE (TREE_TYPE (cand->fn)) == METHOD_TYPE
&& is_dummy_object (instance_ptr)) && is_dummy_object (instance_ptr))
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment