public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Xinliang David Li <davidxl@google.com>
To: Bernd Schmidt <bernds@codesourcery.com>
Cc: Gabriel Dos Reis <gdr@integrable-solutions.net>,
	Jakub Jelinek <jakub@redhat.com>,
		Eric Botcazou <ebotcazou@adacore.com>,
	gcc@gcc.gnu.org, Miles Bader <miles@gnu.org>,
		Torvald Riegel <triegel@redhat.com>,
	Richard Guenther <richard.guenther@gmail.com>,
		David Edelsohn <dje.gcc@gmail.com>,
	Diego Novillo <dnovillo@google.com>
Subject: Re: Switching to C++ by default in 4.8
Date: Wed, 11 Apr 2012 17:08:00 -0000	[thread overview]
Message-ID: <CAAkRFZKK_Tn5DKCHxF2h8v8rSSvwujvH_bq6KYK4U_-HKbX15w@mail.gmail.com> (raw)
In-Reply-To: <4F857A44.4030202@codesourcery.com>

Mostly agreed. In particular, the discussions should be more concrete
-- instead of voting on moving everything to C++ which can create a
huge chaos, we should first carefully partition the components that
are candidates for the migration (as mentioned by Richard). For
instance,

1) core APIs
   a) tree based
   b) GIMPLE
   c) RTL

2) Call Graph component

3) Utility (vec, hash etc)

4) IR streamer and reader

5) IR text dumper

6) optimization driver and pass manager

7) Alias manager

8) Loop managers etc

9) Global Symbol table (do we even have one other than varpool ?)

10) Type table (non existing)

11) Local symbol table (almost non existing)

12) Bitwise data flow framework

13) target model

14) ...

and

*) CPP and parser (should I mention Clang? :) )

The direction for each component can be voted and the migration plan
and roadmaps can also be determined before hand.

For C++ifying any component, the owner/driver needs to come up with
detailed proposal first. There should also be some new style
guidelines. For instance, when migrating to STL container classes,
should they be used in 'raw' form, or some kind of GCC style wrapper
classes are defined, etc.

thanks,

David



On Wed, Apr 11, 2012 at 5:34 AM, Bernd Schmidt <bernds@codesourcery.com> wrote:
> On 04/11/2012 09:45 AM, Gabriel Dos Reis wrote:
>> I have been having difficulty following the twists and the turns and
>> the goal post moving.
>> Are you essentially requiring to see GCC rewritten in C++ before we
>> switch to C++?
>
> Frankly, despite all this discussion, we still don't really know what
> the people who insist on a C++ conversion actually want to do. We've
> seen trivial suggestions like rewriting vec.[ch], which isn't really
> going to make a big difference in the grand scheme of things, but
> everything else has remained vague. At the GCC gathering last year we
> saw a presentation which made me feel like language features had just
> gone in search of possible applications, which doesn't fill me with a
> lot of confidence either.
>
> So yes, I would like some significant part rewritten in the way the C++
> folks would like to see it, so we can actually judge what we will get.
> And that's moving my personal goal post from "hell no" somewhere closer
> to what the C++ proponents would like.
>
> The incremental approach (tearing down the barrier of stage1 being
> compiled in C first and then getting things in piecewise) may seem like
> a path of less resistance, but we can't afford to have a thread like
> this for every change, and I wouldn't like to see us decide after 100
> patches that the end result sucks and we have to either live with it or
> revert the lot.
>
> IMO, gimple might be worth trying to convert, since it's the newest code
> in gcc and presumably already half-way to what people consider a
> "modern" style (lots of annoying little functions that get in the way
> while debugging).
>
> But I suspect that when such a branch has been done, it will still come
> down to personal preference as to which variant is best. This is why I
> still think the whole thing is deeply misguided, as it's not about
> objective technical issues, but merely about language preferences, and
> everyone has a different one. You can't match everyone's taste in a big
> project, and thus real developers have to adapt to a project, not the
> other way round. Discussions like this are a toxic distraction from real
> work.
>
> IMO it would be best if we could find a majority of global reviewers to
> speak out and say once and for all "no, this just isn't happening", so
> we can drop all this nonsense and get back to improving the compiler for
> users. The second best thing would be to have a branch with actual work
> done for us to consider.
>
>
> Bernd

  parent reply	other threads:[~2012-04-11 17:08 UTC|newest]

Thread overview: 182+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-03 17:38 Diego Novillo
2012-04-03 19:39 ` Paweł Sikora
2012-04-03 20:52   ` Ian Lance Taylor
2012-04-03 21:34     ` Paweł Sikora
2012-04-20 20:14       ` Joseph S. Myers
2012-04-04  5:19     ` Basile Starynkevitch
2012-04-04  1:13 ` David Edelsohn
2012-04-04  4:00   ` Ian Lance Taylor
2012-04-04  4:42     ` Miles Bader
2012-04-04  8:32   ` Gabriel Dos Reis
2012-04-04  9:06     ` Richard Guenther
2012-04-04  9:10       ` Gabriel Dos Reis
2012-04-04  9:15       ` Gabriel Dos Reis
2012-04-04  9:59         ` Richard Guenther
2012-04-04 10:02           ` Richard Guenther
2012-04-04 11:20       ` Diego Novillo
2012-04-04 11:38         ` Richard Guenther
2012-04-04 14:12           ` Tom Tromey
2012-04-04 14:45             ` Richard Guenther
2012-04-04 14:48               ` Richard Guenther
2012-04-14  1:35           ` Chiheng Xu
2012-04-14  9:09             ` Robert Dewar
2012-04-14 10:03               ` Chiheng Xu
2012-04-14 11:13                 ` Robert Dewar
2012-04-14 11:41                 ` Jonathan Wakely
2012-04-14 10:39               ` Gabriel Dos Reis
2012-04-14 11:08                 ` Robert Dewar
2012-04-16  9:37                   ` Chiheng Xu
2012-04-16  9:38                     ` Jonathan Wakely
2012-04-17  9:11                     ` Robert Dewar
2012-04-05 12:40         ` Pedro Lamarão
2012-04-05 13:05           ` Richard Guenther
2012-04-05 14:21             ` Diego Novillo
2012-04-05 14:24               ` Richard Guenther
2012-04-05 14:36                 ` Diego Novillo
2012-04-05 20:17                   ` David Edelsohn
2012-04-05 20:36                     ` Gabriel Dos Reis
2012-04-06  0:11                       ` David Edelsohn
2012-04-09 10:37                         ` Richard Guenther
2012-04-09 15:07                           ` David Edelsohn
2012-04-10 22:04               ` Pedro Lamarão
2012-04-10 22:56                 ` Diego Novillo
2012-04-04 11:53       ` Bernd Schmidt
2012-04-04 12:04         ` Richard Guenther
2012-04-04 14:59           ` Diego Novillo
2012-04-04 17:54           ` Lawrence Crowl
2012-04-05  9:18             ` Richard Guenther
2012-04-05 20:07               ` Lawrence Crowl
2012-04-09 10:40                 ` Richard Guenther
2012-04-09 17:56                   ` Lawrence Crowl
2012-04-09 18:22                     ` Jakub Jelinek
2012-04-09 18:52                       ` Lawrence Crowl
2012-04-09 18:54                         ` Jakub Jelinek
2012-04-09 21:15                           ` Lawrence Crowl
2012-04-10 11:09                         ` Richard Guenther
2012-04-11  1:36                           ` Lawrence Crowl
2012-04-11  6:55                             ` Jakub Jelinek
2012-04-13 23:26                               ` Dave Korn
2012-04-11  9:32                             ` Richard Guenther
2012-04-14  3:07                       ` Chiheng Xu
2012-04-14  3:04                   ` Chiheng Xu
2012-04-14 21:25                     ` Lawrence Crowl
2012-04-09 23:34           ` Xinliang David Li
2012-04-10  8:46             ` Jakub Jelinek
2012-04-10 12:26               ` Michael Matz
2012-04-10 15:51                 ` David Edelsohn
2012-04-10 16:05                   ` Gabriel Dos Reis
2012-04-10 16:13                     ` Diego Novillo
2012-04-11  9:17                       ` Richard Guenther
2012-04-11 16:35                         ` Xinliang David Li
2012-04-10 16:12                 ` Xinliang David Li
2012-04-10 16:24                   ` Michael Matz
2012-04-10 17:08                     ` Xinliang David Li
2012-04-10 17:29                     ` Torvald Riegel
2012-04-10 18:00                       ` Eric Botcazou
2012-04-10 19:56                         ` Torvald Riegel
2012-04-10 21:13                           ` Eric Botcazou
2012-04-10 21:29                             ` Torvald Riegel
2012-04-10 23:15                               ` Eric Botcazou
2012-04-11 20:57                                 ` Torvald Riegel
2012-04-11 21:15                                   ` Eric Botcazou
2012-04-11 21:43                                     ` Torvald Riegel
2012-04-13 23:33                                     ` Dave Korn
2012-04-11  9:24                       ` Richard Guenther
2012-04-11 12:58                         ` Torvald Riegel
2012-04-11 13:13                           ` Richard Guenther
2012-04-11 13:23                             ` Gabriel Dos Reis
2012-04-11 14:19                             ` Torvald Riegel
2012-04-11 17:24                             ` Xinliang David Li
2012-04-11 18:17                               ` Andrew Pinski
2012-04-11 20:02                                 ` Xinliang David Li
2012-04-12  5:08                                 ` Ian Lance Taylor
2012-04-12  6:12                                   ` Miles Bader
2012-04-12  6:22                                     ` James Dennett
2012-04-11 18:26                               ` Jonathan Wakely
2012-04-11 18:41                                 ` Pedro Alves
2012-04-11 20:00                                 ` Xinliang David Li
2012-04-11 20:05                                   ` Jonathan Wakely
2012-04-12  5:10                                     ` Ian Lance Taylor
     [not found]                           ` <12130397.ZsTVnyYbKR@pawels>
2012-04-11 13:14                             ` Richard Guenther
2012-04-11 13:24                           ` Bernd Schmidt
2012-04-11 17:31                             ` Xinliang David Li
2012-04-11 18:37                               ` Basile Starynkevitch
2012-04-11 18:52                                 ` Gabriel Dos Reis
2012-04-11 20:14                                 ` Xinliang David Li
2012-04-12 15:51                                 ` Ludovic Courtès
2012-04-13 23:45                             ` Dave Korn
2012-04-11 14:41                           ` Jonathan Wakely
2012-04-11 17:13                           ` Xinliang David Li
2012-04-11 19:30                           ` Tobias Burnus
2012-04-11 20:44                             ` Torvald Riegel
2012-04-13 23:48                             ` Dave Korn
2012-04-13 23:37                           ` Dave Korn
2012-04-10 17:48                     ` DJ Delorie
2012-04-10 19:21                     ` Dave Korn
2012-04-10 16:23               ` Xinliang David Li
2012-04-10 16:39                 ` Jakub Jelinek
2012-04-10 16:43                   ` Gabriel Dos Reis
2012-04-10 16:47                     ` Diego Novillo
2012-04-12 19:40                       ` Tom Tromey
2012-04-12 19:42                         ` Diego Novillo
2012-04-12 19:51                           ` Tom Tromey
2012-04-10 17:37                   ` Torvald Riegel
2012-04-10 21:39                     ` Miles Bader
2012-04-10 22:32                       ` Bernd Schmidt
2012-04-10 23:28                         ` Eric Botcazou
2012-04-10 23:35                           ` Gabriel Dos Reis
2012-04-11  7:49                             ` Eric Botcazou
2012-04-11  7:55                               ` Gabriel Dos Reis
2012-04-11  8:11                                 ` Eric Botcazou
2012-04-11 11:41                                   ` Jeff Law
2012-04-11  7:02                           ` Jakub Jelinek
2012-04-11  7:46                             ` Gabriel Dos Reis
2012-04-11  7:51                               ` Jakub Jelinek
2012-04-11 12:37                               ` Bernd Schmidt
2012-04-11 12:47                                 ` Richard Guenther
2012-04-11 17:10                                   ` Xinliang David Li
2012-04-11 13:20                                 ` Gabriel Dos Reis
2012-04-11 13:29                                   ` Jakub Jelinek
2012-04-11 13:44                                     ` Gabriel Dos Reis
2012-04-11 14:45                                     ` David Edelsohn
2012-04-11 17:41                                       ` Xinliang David Li
2012-04-11 17:08                                 ` Xinliang David Li [this message]
2012-04-11  8:07                             ` Eric Botcazou
2012-04-11  9:45                               ` Richard Guenther
2012-04-10 17:54                   ` Xinliang David Li
2012-04-11 12:44                     ` Marek Polacek
2012-04-11 16:49                       ` Xinliang David Li
2012-04-11  2:24                   ` Lawrence Crowl
2012-04-11  9:43                     ` Richard Guenther
2012-04-11 16:47                       ` Xinliang David Li
2012-04-11 20:48                       ` Paweł Sikora
2012-04-11 22:34                       ` Lawrence Crowl
2012-04-12  9:28                     ` Chiheng Xu
2012-04-12 10:30                       ` Richard Guenther
2012-04-14  1:15                         ` Chiheng Xu
2012-04-14  6:30                           ` Chiheng Xu
2012-04-14  9:08                           ` Robert Dewar
2012-04-14 10:38                             ` Chiheng Xu
2012-04-14 11:06                               ` Robert Dewar
2012-04-10 16:42               ` Paweł Sikora
2012-04-10 19:23                 ` Dave Korn
2012-04-10 20:39                   ` Andrew Pinski
2012-04-11  9:27                   ` Richard Guenther
2012-04-11  1:01               ` Lawrence Crowl
2012-04-14  3:40               ` Chiheng Xu
2012-04-14  3:48               ` Chiheng Xu
2012-04-15 20:11                 ` Chiheng Xu
2012-04-16  7:48                   ` Duncan Sands
2012-04-16  9:23                     ` Chiheng Xu
2012-04-16 18:53                   ` Oleg Endo
2012-04-17 22:03                     ` Chiheng Xu
2012-04-18  0:15                       ` Oleg Endo
2012-04-10 11:14             ` Richard Guenther
2012-04-10 16:33               ` Xinliang David Li
2012-04-14  2:41           ` Chiheng Xu
2012-04-04 11:22   ` Diego Novillo
2012-04-04  7:07 ` Tristan Gingold
2012-04-04 13:13   ` Ian Lance Taylor
2012-04-04 13:32     ` Tristan Gingold
2012-04-04 14:37       ` Gabriel Dos Reis
2012-04-04 14:52         ` Tristan Gingold

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=CAAkRFZKK_Tn5DKCHxF2h8v8rSSvwujvH_bq6KYK4U_-HKbX15w@mail.gmail.com \
    --to=davidxl@google.com \
    --cc=bernds@codesourcery.com \
    --cc=dje.gcc@gmail.com \
    --cc=dnovillo@google.com \
    --cc=ebotcazou@adacore.com \
    --cc=gcc@gcc.gnu.org \
    --cc=gdr@integrable-solutions.net \
    --cc=jakub@redhat.com \
    --cc=miles@gnu.org \
    --cc=richard.guenther@gmail.com \
    --cc=triegel@redhat.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).