This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Deprecate -frepo option.
- From: Nathan Sidwell <nathan at acm dot org>
- To: Martin Liška <mliska at suse dot cz>, Richard Biener <richard dot guenther at gmail dot com>
- Cc: Jakub Jelinek <jakub at redhat dot com>, Jonathan Wakely <jwakely dot gcc at gmail dot com>, Iain Sandoe <idsandoe at googlemail dot com>, "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>, David Edelsohn <dje dot gcc at gmail dot com>, Jan Hubicka <hubicka at ucw dot cz>, GCC Patches <gcc-patches at gcc dot gnu dot org>, Jason Merrill <jason at redhat dot com>
- Date: Tue, 9 Jul 2019 13:48:14 -0400
- Subject: Re: [PATCH] Deprecate -frepo option.
- References: <firstname.lastname@example.org> <BC1522A8-E989-448F-BB2D-7552F1111F1D@gmail.com> <email@example.com> <CAH6eHdS-oVx-pSwsFwsnsH02biaLPyrhzv-8V23JtpfXa1=WBA@mail.gmail.com> <B2D95072-A88E-4BAA-9F33-E46685EDFE9A@googlemail.com> <firstname.lastname@example.org> <CAH6eHdTPwE+6xv7n6HMsCmH-Ei=zTLN+vmAB-51=CzytmjEJFQ@mail.gmail.com> <email@example.com> <20190621115838.GX815@tucnak> <firstname.lastname@example.org> <20190621141309.GY815@tucnak> <CAFiYyc3mw2hitAyp-Xfucv5sAM6TbmTyHyicGTKWGSi5znPrgA@mail.gmail.com> <email@example.com> <CAFiYyc3h-5GPtA1rNNz1q580s+6EFJ-KyDkZu+UV3XnmDbaF5g@mail.gmail.com> <firstname.lastname@example.org> <email@example.com>
On 7/9/19 9:00 AM, Martin Liška wrote:
On 7/9/19 1:41 PM, Nathan Sidwell wrote:
On 7/9/19 6:39 AM, Richard Biener wrote:
On Mon, Jul 8, 2019 at 2:04 PM Martin Liška <firstname.lastname@example.org> wrote:
Same happens also for GCC7. It does 17 iteration (#define MAX_ITERATIONS 17) and
apparently 17 is not enough to resolve all symbols. And it's really slow.
hm, 17 is a magic number. in C++98 it was the maximum depth of template instantiations that implementations needed to support. Portable code could not expect more. So the worst case -frepo behaviour would be 17 iterations.
That's not true any more, it's been 1024 since C++11.
Has a bug been filed about this frepo problem?
I create a new one:
If not, it suggest those using frepo are not compiling modern C++.
That said, I would recommend to remove it :)
In the end it's up to the C++ FE maintainers but the above clearly
doesn't look promising
(not sure if it keeps re-compiling _all_ repo-triggered templates or
just incrementally adds
them to new object files).
I'm not opposed to removing -frepo from GCC 10 but then I would start
noting it is obsolete
on the GCC 9 branch at least.
I concur. frepo's serial reinvocation of the compiler is not compatible with modern C++ code bases.
Great. Then I'm sending patch that does the functionality removal.
Ready to be installed after proper testing & bootstrap?
I'd like Jason to render an opinion, and we should mark it obsolete in
the gcc 9 branch (how much runway would that give people?)