public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Jason Merrill <jason@redhat.com>
To: "Nathan Sidwell" <nathan@acm.org>,
	"Martin Liška" <mliska@suse.cz>,
	"Richard Biener" <richard.guenther@gmail.com>
Cc: Jakub Jelinek <jakub@redhat.com>,
	Jonathan Wakely <jwakely.gcc@gmail.com>,
	Iain Sandoe <idsandoe@googlemail.com>,
	"gcc@gcc.gnu.org" <gcc@gcc.gnu.org>,
	David Edelsohn <dje.gcc@gmail.com>, Jan Hubicka <hubicka@ucw.cz>,
	GCC Patches <gcc-patches@gcc.gnu.org>
Subject: Re: [PATCH] Deprecate -frepo option.
Date: Tue, 09 Jul 2019 21:16:00 -0000	[thread overview]
Message-ID: <84ddcfbc-2d6a-031a-254b-e8c2e165bf85@redhat.com> (raw)
In-Reply-To: <e2e95f3d-20bc-8691-8bb1-7af9785b7e96@acm.org>

On 7/9/19 1:48 PM, Nathan Sidwell wrote:
> 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 <mliska@suse.cz> 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.
>>>>
>>>> Ouch.
>>>
>>> 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:
>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91125
>>
>>> 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?)

I haven't noticed any responses to my earlier question: Are there any 
targets without COMDAT support that we still care about?

But given the observation above about the 17 limit, even if there are 
such targets it wouldn't be very useful for modern code.  And if people 
want to compile old code for old platforms, they might as well continue 
to use an old compiler.

So I'm OK with deprecating with a warning for the next GCC 9 release, to 
see if anyone complains, and removing in 10.

Jason

  reply	other threads:[~2019-07-09 21:14 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <7ff58510-a641-4a33-be20-28118d3b0ee5@suse.cz>
     [not found] ` <CAGWvnykMCYOaY3gSGUt1BFJp-ybU9sJ463KiU4Zzysg5V-tcGw@mail.gmail.com>
     [not found]   ` <ac43bd46-9251-c360-b92c-52831886fc4a@suse.cz>
     [not found]     ` <BC1522A8-E989-448F-BB2D-7552F1111F1D@gmail.com>
     [not found]       ` <884b9feb-3e71-db00-8c72-8e096bf75c1e@suse.cz>
     [not found]         ` <CAH6eHdS-oVx-pSwsFwsnsH02biaLPyrhzv-8V23JtpfXa1=WBA@mail.gmail.com>
     [not found]           ` <B2D95072-A88E-4BAA-9F33-E46685EDFE9A@googlemail.com>
     [not found]             ` <b8d94fbd-dc73-ad66-17ca-ce34238581e3@suse.cz>
     [not found]               ` <CAH6eHdTPwE+6xv7n6HMsCmH-Ei=zTLN+vmAB-51=CzytmjEJFQ@mail.gmail.com>
2019-06-21 11:52                 ` Martin Liška
2019-06-21 11:59                   ` Jakub Jelinek
2019-06-21 14:04                     ` Martin Liška
2019-06-21 14:13                       ` Jakub Jelinek
2019-06-21 14:28                         ` Richard Biener
2019-06-27 12:30                           ` Martin Liška
2019-06-27 12:58                             ` Jonathan Wakely
2019-06-27 14:22                               ` Martin Liška
2019-06-27 17:53                                 ` Jason Merrill
2019-06-27 18:21                                   ` Jan Hubicka
2019-06-27 18:32                                     ` Iain Sandoe
2019-06-27 18:41                                       ` Jan Hubicka
2019-07-08 12:14                           ` Martin Liška
2019-07-09 11:01                             ` Richard Biener
2019-07-09 11:49                               ` Nathan Sidwell
2019-07-09 13:06                                 ` Martin Liška
2019-07-09 17:57                                   ` Nathan Sidwell
2019-07-09 21:16                                     ` Jason Merrill [this message]
2019-07-10 11:42                                       ` Martin Liška
2019-07-10 12:53                                         ` Nathan Sidwell
2019-07-10 12:56                                           ` Martin Liška
2019-07-10 12:58                                             ` Nathan Sidwell
2019-07-10 13:22                                             ` Jakub Jelinek
2019-07-11  7:01                                               ` [PATCH] Deprecate -frepo on gcc-9 branch (PR c++/91125) Martin Liška
2019-07-11  7:17                                                 ` Jakub Jelinek
2019-07-11 17:43                                                   ` Jason Merrill
2019-07-12 13:00                                                     ` Martin Liška
2019-07-12 14:36                                                       ` Jason Merrill
2019-09-04  8:13                                   ` [PATCH] Deprecate -frepo option Martin Liška
2019-09-04  9:22                                     ` Jonathan Wakely
2019-09-04 11:20                                       ` Martin Liška
2019-09-04 12:57                                         ` Nathan Sidwell
2019-09-05 10:01                                           ` Richard Biener
2019-09-05 10:03                                             ` Martin Liška
2019-09-05 11:02                                               ` Nathan Sidwell
2019-09-05 11:09                                                 ` Richard Biener
2019-09-05 11:22                                                   ` Martin Liška
2019-09-05 12:06                                                     ` Jonathan Wakely
2019-09-05 12:31                                                       ` Richard Biener
2019-09-05 12:51                                                         ` Martin Liška
2019-09-06  6:58                                                           ` Martin Liška
2019-09-06 12:50                                                             ` Nathan Sidwell
2019-09-06 14:48                                                             ` Marek Polacek
2019-09-06 14:56                                                               ` Jakub Jelinek
2019-09-06 16:03                                                                 ` Martin Liška
2019-09-09 11:02                                                                 ` Martin Liška
2019-09-09 11:08                                                                   ` Jakub Jelinek
2019-09-09 11:25                                                                     ` [PATCH] Update comment of removed options Martin Liška
2019-09-09 11:35                                                                       ` Jonathan Wakely
2019-09-09 11:39                                                                       ` Jakub Jelinek
2019-09-09 11:46                                                                         ` Martin Liška

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=84ddcfbc-2d6a-031a-254b-e8c2e165bf85@redhat.com \
    --to=jason@redhat.com \
    --cc=dje.gcc@gmail.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=gcc@gcc.gnu.org \
    --cc=hubicka@ucw.cz \
    --cc=idsandoe@googlemail.com \
    --cc=jakub@redhat.com \
    --cc=jwakely.gcc@gmail.com \
    --cc=mliska@suse.cz \
    --cc=nathan@acm.org \
    --cc=richard.guenther@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).