decl2.c (maybe_retrofit_in_chrg): Don't create in-charge parameters for template functions.
* decl2.c (maybe_retrofit_in_chrg): Don't create in-charge parameters for template functions. * pt.c (tsubst_decl): Make sure we call maybe_retrofit_in_chrg for destructors as well as constructors. From-SVN: r34120
This commit is contained in:
parent
5896bebb9a
commit
212e70482f
|
@ -1,3 +1,10 @@
|
||||||
|
2000-05-23 Mark Mitchell <mark@codesourcery.com>
|
||||||
|
|
||||||
|
* decl2.c (maybe_retrofit_in_chrg): Don't create in-charge
|
||||||
|
parameters for template functions.
|
||||||
|
* pt.c (tsubst_decl): Make sure we call maybe_retrofit_in_chrg for
|
||||||
|
destructors as well as constructors.
|
||||||
|
|
||||||
2000-05-22 Mark Mitchell <mark@codesourcery.com>
|
2000-05-22 Mark Mitchell <mark@codesourcery.com>
|
||||||
|
|
||||||
* class.c (build_ctor_vtbl_group): Set inits.
|
* class.c (build_ctor_vtbl_group): Set inits.
|
||||||
|
|
|
@ -944,6 +944,11 @@ maybe_retrofit_in_chrg (fn)
|
||||||
if (DECL_HAS_IN_CHARGE_PARM_P (fn))
|
if (DECL_HAS_IN_CHARGE_PARM_P (fn))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
/* When processing templates we can't know, in general, whether or
|
||||||
|
not we're going to have virtual baseclasses. */
|
||||||
|
if (uses_template_parms (fn))
|
||||||
|
return;
|
||||||
|
|
||||||
/* We don't need an in-charge parameter for constructors that don't
|
/* We don't need an in-charge parameter for constructors that don't
|
||||||
have virtual bases. */
|
have virtual bases. */
|
||||||
if (DECL_CONSTRUCTOR_P (fn)
|
if (DECL_CONSTRUCTOR_P (fn)
|
||||||
|
|
|
@ -5784,9 +5784,10 @@ tsubst_decl (t, args, type, in_decl)
|
||||||
in_decl);
|
in_decl);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (DECL_CONSTRUCTOR_P (r))
|
if (DECL_CONSTRUCTOR_P (r) || DECL_DESTRUCTOR_P (r))
|
||||||
{
|
{
|
||||||
maybe_retrofit_in_chrg (r);
|
maybe_retrofit_in_chrg (r);
|
||||||
|
if (DECL_CONSTRUCTOR_P (r))
|
||||||
grok_ctor_properties (ctx, r);
|
grok_ctor_properties (ctx, r);
|
||||||
}
|
}
|
||||||
else if (DECL_OVERLOADED_OPERATOR_P (r))
|
else if (DECL_OVERLOADED_OPERATOR_P (r))
|
||||||
|
|
Loading…
Reference in New Issue