From 67f6e64994b49ec330708e1655065dbd9741e1d6 Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Fri, 6 Sep 2019 08:58:42 +0200 Subject: Remove support for repo files (PR c++/91125). 2019-09-06 Martin Liska PR c++/91125 * Makefile.in: Remove tlink.o. * collect2.c (do_link): New function isolated from do_tlink. (main): Use. * collect2.h (do_tlink): Remove declaration of do_tlink. * doc/extend.texi: Remove documentation of -frepo. * doc/invoke.texi: Likewise. * doc/sourcebuild.texi: Remove cleanup-repo-files. * tlink.c: Remove. 2019-09-06 Martin Liska PR c++/91125 * c-common.c: Remove definition of flag_use_repository. * c-common.h: Likewise. * c-opts.c (c_common_handle_option): Do not handle OPT_frepo option. * c.opt: Mark the option with Deprecated. 2019-09-06 Martin Liska PR c++/91125 * Make-lang.in: Remove repo.o. * config-lang.in: Likewise. * cp-tree.h (init_repo): Remove declarations of repo-related functions. (repo_emit_p): Likewise. (repo_export_class_p): Likewise. (finish_repo): Likewise. * decl2.c (import_export_class): Always set -1 value/ (mark_needed): Remove -frepo from comment. (import_export_decl): Similarly here. (c_parse_final_cleanups): Remove call of finish_repo. * lex.c (cxx_init): Remove call to init_repo. * optimize.c (can_alias_cdtor): Remove dead condition. * pt.c (push_template_decl_real): Update comment. (instantiate_decl): Remove dead code used for -frepo. * repo.c: Remove. 2019-09-06 Martin Liska PR c++/91125 * g++.dg/parse/repo1.C: Remove. * g++.dg/rtti/repo1.C: Remove. * g++.dg/template/repo1.C: Remove. * g++.dg/template/repo10.C: Remove. * g++.dg/template/repo11.C: Remove. * g++.dg/template/repo2.C: Remove. * g++.dg/template/repo3.C: Remove. * g++.dg/template/repo4.C: Remove. * g++.dg/template/repo5.C: Remove. * g++.dg/template/repo6.C: Remove. * g++.dg/template/repo7.C: Remove. * g++.dg/template/repo8.C: Remove. * g++.dg/template/repo9.C: Remove. * g++.old-deja/g++.pt/instantiate4.C: Remove. * g++.old-deja/g++.pt/instantiate6.C: Remove. * g++.old-deja/g++.pt/repo1.C: Remove. * g++.old-deja/g++.pt/repo2.C: Remove. * g++.old-deja/g++.pt/repo3.C: Remove. * g++.old-deja/g++.pt/repo4.C: Remove. * lib/g++.exp: Remove removal of repo files. * lib/gcc-dg.exp: Likewise. * lib/obj-c++.exp: Likewise. From-SVN: r275450 --- gcc/doc/extend.texi | 25 ------------------------- gcc/doc/invoke.texi | 8 +------- gcc/doc/sourcebuild.texi | 3 --- 3 files changed, 1 insertion(+), 35 deletions(-) (limited to 'gcc/doc') diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index cec15e5..a922f5c 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -24424,31 +24424,6 @@ alternative and programs using this approach will work with most modern compilers. @item -@opindex frepo -Compile your template-using code with @option{-frepo}. The compiler -generates files with the extension @samp{.rpo} listing all of the -template instantiations used in the corresponding object files that -could be instantiated there; the link wrapper, @samp{collect2}, -then updates the @samp{.rpo} files to tell the compiler where to place -those instantiations and rebuild any affected object files. The -link-time overhead is negligible after the first pass, as the compiler -continues to place the instantiations in the same files. - -This can be a suitable option for application code written for the Borland -model, as it usually just works. Code written for the Cfront model -needs to be modified so that the template definitions are available at -one or more points of instantiation; usually this is as simple as adding -@code{#include } to the end of each template header. - -For library code, if you want the library to provide all of the template -instantiations it needs, just try to link all of its object files -together; the link will fail, but cause the instantiations to be -generated as a side effect. Be warned, however, that this may cause -conflicts if multiple libraries try to provide the same instantiations. -For greater control, use explicit instantiation as described in the next -option. - -@item @opindex fno-implicit-templates Compile your code with @option{-fno-implicit-templates} to disable the implicit generation of template instances, and explicitly instantiate diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index fad19dd..bfcd76e 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -222,7 +222,7 @@ in the following sections. -fno-nonansi-builtins -fnothrow-opt -fno-operator-names @gol -fno-optional-diags -fpermissive @gol -fno-pretty-templates @gol --frepo -fno-rtti -fsized-deallocation @gol +-fno-rtti -fsized-deallocation @gol -ftemplate-backtrace-limit=@var{n} @gol -ftemplate-depth=@var{n} @gol -fno-threadsafe-statics -fuse-cxa-atexit @gol @@ -2701,12 +2701,6 @@ the default template arguments for that template. If either of these behaviors make it harder to understand the error message rather than easier, you can use @option{-fno-pretty-templates} to disable them. -@item -frepo -@opindex frepo -Enable automatic template instantiation at link time. This option also -implies @option{-fno-implicit-templates}. @xref{Template -Instantiation}, for more information. - @item -fno-rtti @opindex fno-rtti @opindex frtti diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi index 7867ac8..d713c08 100644 --- a/gcc/doc/sourcebuild.texi +++ b/gcc/doc/sourcebuild.texi @@ -2864,9 +2864,6 @@ int main() @{ return 0; @} @item cleanup-profile-file Removes profiling files generated for this test. -@item cleanup-repo-files -Removes files generated for this test for @option{-frepo}. - @end table @node Ada Tests -- cgit v1.1