gcc/c-family/ * c.opt (-fnew-inheriting-ctors): New. * c-opts.c: Default to on for ABI 11+. gcc/cp/ * call.c (enum rejection_reason_code): Add rr_inherited_ctor. (inherited_ctor_rejection): New. (add_function_candidate): Reject inherited ctors for copying. (enforce_access): Use strip_inheriting_ctors. (print_z_candidate): Likewise. Handle rr_inherited_ctor. (convert_like_real): Avoid copying inheriting ctor parameters. (build_over_call): Likewise. A base ctor inheriting from vbase has no parms. Sorry about varargs. (joust): A local constructor beats inherited with the same convs. * class.c (add_method): Handle hiding inheriting ctors. (one_inherited_ctor): Handle new semantics. (add_implicitly_declared_members): Pass using_decl down. (build_clone): A base ctor inheriting from vbase has no parms. * cp-tree.h (DECL_INHERITED_CTOR): Store this instead of the base. (SET_DECL_INHERITED_CTOR): Likewise. (DECL_INHERITED_CTOR_BASE): Adjust. * constexpr.c: Adjust. * error.c (dump_function_decl): Decorate inheriting ctors. * init.c (emit_mem_initializers): Suppress access control in inheriting ctor. * mangle.c (write_special_name_constructor): Handle new inheriting ctor mangling. * method.c (strip_inheriting_ctors, inherited_ctor_binfo) (ctor_omit_inherited_parms, binfo_inherited_from): New. (synthesized_method_walk): Use binfo_inherited_from. Suppress access control in inheriting ctor. (deduce_inheriting_ctor): Deleted if ambiguous ctor inheritance. (maybe_explain_implicit_delete): Explain ambigous ctor inheritance. (add_one_base_init, do_build_copy_constructor): Adjust. (locate_fn_flags, explain_implicit_non_constexpr): Adjust. (implicitly_declare_fn): Adjust. (get_inherited_ctor): Remove. * name-lookup.c (do_class_using_decl): Check for indirect ctor inheritance. * optimize.c (cdtor_comdat_group): Adjust for new mangling. (maybe_clone_body): Handle omitted parms in base clone. (maybe_thunk_body): Don't thunk if base clone omits parms. * pt.c (tsubst_decl): Adjust. (instantiate_template_1): Suppress access control in inheriting ctor. (fn_type_unification): Do deduction with inherited ctor. * tree.c (special_function_p): Adjust. gcc/ * tree-inline.c (copy_tree_body_r): Only copy the taken branch of a COND_EXPR with constant condition. libiberty/ * cp-demangle.c (d_ctor_dtor_name): Handle inheriting constructor. From-SVN: r241765
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| config | Loading commit data... | |
| testsuite | Loading commit data... | |
| .gitignore | Loading commit data... | |
| COPYING.LIB | Loading commit data... | |
| ChangeLog | Loading commit data... | |
| ChangeLog.jit | Loading commit data... | |
| Makefile.in | Loading commit data... | |
| README | Loading commit data... | |
| _doprnt.c | Loading commit data... | |
| aclocal.m4 | Loading commit data... | |
| alloca.c | Loading commit data... | |
| argv.c | Loading commit data... | |
| asprintf.c | Loading commit data... | |
| at-file.texi | Loading commit data... | |
| atexit.c | Loading commit data... | |
| basename.c | Loading commit data... | |
| bcmp.c | Loading commit data... | |
| bcopy.c | Loading commit data... | |
| bsearch.c | Loading commit data... | |
| bzero.c | Loading commit data... | |
| calloc.c | Loading commit data... | |
| choose-temp.c | Loading commit data... | |
| clock.c | Loading commit data... | |
| concat.c | Loading commit data... | |
| config.h-vms | Loading commit data... | |
| config.in | Loading commit data... | |
| configure | Loading commit data... | |
| configure.ac | Loading commit data... | |
| configure.com | Loading commit data... | |
| copying-lib.texi | Loading commit data... | |
| copysign.c | Loading commit data... | |
| cp-demangle.c | Loading commit data... | |
| cp-demangle.h | Loading commit data... | |
| cp-demint.c | Loading commit data... | |
| cplus-dem.c | Loading commit data... | |
| crc32.c | Loading commit data... | |
| d-demangle.c | Loading commit data... | |
| dwarfnames.c | Loading commit data... | |
| dyn-string.c | Loading commit data... | |
| fdmatch.c | Loading commit data... | |
| ffs.c | Loading commit data... | |
| fibheap.c | Loading commit data... | |
| filename_cmp.c | Loading commit data... | |
| floatformat.c | Loading commit data... | |
| fnmatch.c | Loading commit data... | |
| fnmatch.txh | Loading commit data... | |
| fopen_unlocked.c | Loading commit data... | |
| functions.texi | Loading commit data... | |
| gather-docs | Loading commit data... | |
| getcwd.c | Loading commit data... | |
| getopt.c | Loading commit data... | |
| getopt1.c | Loading commit data... | |
| getpagesize.c | Loading commit data... | |
| getpwd.c | Loading commit data... | |
| getruntime.c | Loading commit data... | |
| gettimeofday.c | Loading commit data... | |
| hashtab.c | Loading commit data... | |
| hex.c | Loading commit data... | |
| index.c | Loading commit data... | |
| insque.c | Loading commit data... | |
| lbasename.c | Loading commit data... | |
| libiberty.texi | Loading commit data... | |
| lrealpath.c | Loading commit data... | |
| maint-tool | Loading commit data... | |
| make-relative-prefix.c | Loading commit data... | |
| make-temp-file.c | Loading commit data... | |
| makefile.vms | Loading commit data... | |
| md5.c | Loading commit data... | |
| memchr.c | Loading commit data... | |
| memcmp.c | Loading commit data... | |
| memcpy.c | Loading commit data... | |
| memmem.c | Loading commit data... | |
| memmove.c | Loading commit data... | |
| mempcpy.c | Loading commit data... | |
| memset.c | Loading commit data... | |
| mkstemps.c | Loading commit data... | |
| msdos.c | Loading commit data... | |
| objalloc.c | Loading commit data... | |
| obstack.c | Loading commit data... | |
| obstacks.texi | Loading commit data... | |
| partition.c | Loading commit data... | |
| pex-common.c | Loading commit data... | |
| pex-common.h | Loading commit data... | |
| pex-djgpp.c | Loading commit data... | |
| pex-msdos.c | Loading commit data... | |
| pex-one.c | Loading commit data... | |
| pex-unix.c | Loading commit data... | |
| pex-win32.c | Loading commit data... | |
| pexecute.c | Loading commit data... | |
| pexecute.txh | Loading commit data... | |
| physmem.c | Loading commit data... | |
| putenv.c | Loading commit data... | |
| random.c | Loading commit data... | |
| regex.c | Loading commit data... | |
| rename.c | Loading commit data... | |
| rindex.c | Loading commit data... | |
| safe-ctype.c | Loading commit data... | |
| setenv.c | Loading commit data... | |
| setproctitle.c | Loading commit data... | |
| sha1.c | Loading commit data... | |
| sigsetmask.c | Loading commit data... | |
| simple-object-coff.c | Loading commit data... | |
| simple-object-common.h | Loading commit data... | |
| simple-object-elf.c | Loading commit data... | |
| simple-object-mach-o.c | Loading commit data... | |
| simple-object-xcoff.c | Loading commit data... | |
| simple-object.c | Loading commit data... | |
| simple-object.txh | Loading commit data... | |
| snprintf.c | Loading commit data... | |
| sort.c | Loading commit data... | |
| spaces.c | Loading commit data... | |
| splay-tree.c | Loading commit data... | |
| stack-limit.c | Loading commit data... | |
| stpcpy.c | Loading commit data... | |
| stpncpy.c | Loading commit data... | |
| strcasecmp.c | Loading commit data... | |
| strchr.c | Loading commit data... | |
| strdup.c | Loading commit data... | |
| strerror.c | Loading commit data... | |
| strncasecmp.c | Loading commit data... | |
| strncmp.c | Loading commit data... | |
| strndup.c | Loading commit data... | |
| strnlen.c | Loading commit data... | |
| strrchr.c | Loading commit data... | |
| strsignal.c | Loading commit data... | |
| strstr.c | Loading commit data... | |
| strtod.c | Loading commit data... | |
| strtol.c | Loading commit data... | |
| strtoll.c | Loading commit data... | |
| strtoul.c | Loading commit data... | |
| strtoull.c | Loading commit data... | |
| strverscmp.c | Loading commit data... | |
| timeval-utils.c | Loading commit data... | |
| tmpnam.c | Loading commit data... | |
| unlink-if-ordinary.c | Loading commit data... | |
| vasprintf.c | Loading commit data... | |
| vfork.c | Loading commit data... | |
| vfprintf.c | Loading commit data... | |
| vprintf-support.c | Loading commit data... | |
| vprintf-support.h | Loading commit data... | |
| vprintf.c | Loading commit data... | |
| vsnprintf.c | Loading commit data... | |
| vsprintf.c | Loading commit data... | |
| waitpid.c | Loading commit data... | |
| xasprintf.c | Loading commit data... | |
| xatexit.c | Loading commit data... | |
| xexit.c | Loading commit data... | |
| xmalloc.c | Loading commit data... | |
| xmemdup.c | Loading commit data... | |
| xstrdup.c | Loading commit data... | |
| xstrerror.c | Loading commit data... | |
| xstrndup.c | Loading commit data... | |
| xvasprintf.c | Loading commit data... |