- /* If a base or member type has a user-declared constructor or operator=,
- we need to declare ours now to avoid issues with circular lazy
- declarations (cpp0x/implicit6.C). */
- if (cant_have_lazy_ctor)
- {
- if (CLASSTYPE_LAZY_DEFAULT_CTOR (t))
- lazily_declare_fn (sfk_constructor, t);
- if (CLASSTYPE_LAZY_COPY_CTOR (t))
- lazily_declare_fn (sfk_copy_constructor, t);
- if (CLASSTYPE_LAZY_MOVE_CTOR (t))
- lazily_declare_fn (sfk_move_constructor, t);
- }
- if (cant_have_lazy_opeq)
- {
- if (CLASSTYPE_LAZY_COPY_ASSIGN (t))
- lazily_declare_fn (sfk_copy_assignment, t);
- if (CLASSTYPE_LAZY_MOVE_ASSIGN (t))
- lazily_declare_fn (sfk_move_assignment, t);
- }
-