aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/cvt.c
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2000-04-09 06:44:20 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2000-04-09 06:44:20 +0000
commit9eb71d8c3b520b6a2b556884ce3735289ff1a276 (patch)
treef3b6fe18ed673930d5f0df67fa7c0c764fcf2746 /gcc/cp/cvt.c
parent568fe067bc84a419816b46848bbe44b18cd2c80f (diff)
downloadgcc-9eb71d8c3b520b6a2b556884ce3735289ff1a276.zip
gcc-9eb71d8c3b520b6a2b556884ce3735289ff1a276.tar.gz
gcc-9eb71d8c3b520b6a2b556884ce3735289ff1a276.tar.bz2
cp-tree.h (cp_tree_index): Add CPTI_COMPLETE_CTOR_IDENTIFIER.
* cp-tree.h (cp_tree_index): Add CPTI_COMPLETE_CTOR_IDENTIFIER. (complete_ctor_identifier): New macro. (special_function_kind): Add sfk_copy_constructor and sfk_assignment_operator. (LOOKUP_HAS_IN_CHARGE): Remove. (cons_up_default_function): Rename to ... (implicitly_declare_fn): ... this. * call.c (build_new_method_call): Add in-charge parameters for constructors here. * class.c (add_implicitly_declared_members): Change parameter name from cant_have_assignment to cant_have_const_assignment. Replace calls to cons_up_default_function to implicitly_declare_fn. * cvt.c (ocp_convert): Use complete_ctor_identifier. * decl.c (initialize_predefined_identifiers): Initialize it. (start_function): Use DECL_CONSTRUCTOR_FOR_VBASE_P instead of complex expression. * init.c (expand_default_init): Don't calculate the in-charge parameter here. (build_new_1): Likewise. * lex.c (cons_up_default_function): Move to method.c. * method.c (synthesize_method): Use DECL_DESTRUCTOR_P. (implicitly_declare_fn): New function. * typeck.c (build_static_cast): Use complete_ctor_identifier. (build_modify_expr): Likewise. * typeck2.c (build_functional_cast): Likewise. From-SVN: r33038
Diffstat (limited to 'gcc/cp/cvt.c')
-rw-r--r--gcc/cp/cvt.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/cp/cvt.c b/gcc/cp/cvt.c
index ad114d6..3d5613a 100644
--- a/gcc/cp/cvt.c
+++ b/gcc/cp/cvt.c
@@ -806,7 +806,8 @@ ocp_convert (type, expr, convtype, flags)
the target with the temp (see [dcl.init]). */
ctor = build_user_type_conversion (type, ctor, flags);
if (ctor)
- ctor = build_method_call (NULL_TREE, ctor_identifier,
+ ctor = build_method_call (NULL_TREE,
+ complete_ctor_identifier,
build_tree_list (NULL_TREE, ctor),
TYPE_BINFO (type), flags);
if (ctor)