aboutsummaryrefslogtreecommitdiff
path: root/gcc/genoutput.c
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2012-10-15 03:32:03 -0400
committerJason Merrill <jason@gcc.gnu.org>2012-10-15 03:32:03 -0400
commit85b5d65a94c66fed37b29b04010b93fd13936219 (patch)
tree8285868a5a9c87582ef3660e51cb5a55576cb450 /gcc/genoutput.c
parentd0d4f8c78e1b9d1038f0ec5fd0c59955dd1cc1f2 (diff)
downloadgcc-85b5d65a94c66fed37b29b04010b93fd13936219.zip
gcc-85b5d65a94c66fed37b29b04010b93fd13936219.tar.gz
gcc-85b5d65a94c66fed37b29b04010b93fd13936219.tar.bz2
Implement C++11 inheriting constructors.
* cp-tree.h (cpp0x_warn_str): Add CPP0X_INHERITING_CTORS. (DECL_INHERITED_CTOR_BASE, SET_DECL_INHERITED_CTOR_BASE): New. (special_function_kind): Add sfk_inheriting_constructor. * class.c (add_method): An inheriting ctor is hidden by a user-declared one. (one_inheriting_sig, one_inherited_ctor): New. (add_implicitly_declared_members): Handle inheriting ctors. * error.c (maybe_warn_cpp0x): Handle CPP0X_INHERITING_CTORS. * init.c (emit_mem_initializers): Don't set LOOKUP_DEFAULTED for an inheriting constructor. * method.c (type_has_trivial_fn): Handle sfk_inheriting_constructor. (type_set_nontrivial_flag): Likewise. (add_one_base_init): Split out from... (do_build_copy_constructor): ...here. Handle inheriting constructors. (locate_fn_flags): Handle a list of arg types. (synthesized_method_walk): Handle inheriting constructors. (maybe_explain_implicit_delete): Likewise. (deduce_inheriting_ctor): New. (implicitly_declare_fn): Handle inheriting constructors. * name-lookup.c (push_class_level_binding_1): An inheriting constructor does not declare the base's name. (do_class_using_decl): Allow inheriting constructors. * pt.c (template_parms_to_args): Split from current_template_args. (add_inherited_template_parms): New. (tsubst_decl): Handle inheriting constructors. * tree.c (special_function_p): Handle inheriting constructors. Co-Authored-By: Ville Voutilainen <ville.voutilainen@gmail.com> From-SVN: r192448
Diffstat (limited to 'gcc/genoutput.c')
0 files changed, 0 insertions, 0 deletions