This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Re: is it time to mass change from .c to .cc in gcc/ ?


On 04/15/2015 11:53 AM, Mikhail Maltsev wrote:
You mentioned that you are planning to do reorganization of the
directory structure. That would be really helpful. LLVM has two separate
directories for utility classes, functions and custom datatypes
(llvm/include/llvm/ADT and llvm/include/llvm/Support). In GCC all those
useful things are scattered among 771 files in gcc directory, some are
in libiberty.

There are many intermediate projects that would help this reorganization. But someone needs to do them. Anybody can come up with things to do and grand plans (see https://gcc.gnu.org/wiki/ImprovementProjects and https://gcc.gnu.org/wiki/ModularGCC and https://gcc.gnu.org/wiki/rearch and ). Somebody needs to flesh out the details and start implementing them.

The "right" steps to see progress:

1. You think that some concrete change may improve GCC, for example, to move vec.h and is-a.h to some gcc/include/core. Ask if the key people (Global Reviewers in this case) will accept this change. Be concrete, say that you will do it (not 'we could do it'). Perhaps even present a proof-of-concept to see how difficult it will be.

2.1 If not, then goto 1 and think about something else (or perhaps people misunderstood what you meant? See point 7 at https://gcc.gnu.org/wiki/Community). It is not worth it fixating on something. Moreover, your ideas will be judged according to your experience and past successes. Start with something small and no contentious. Then, revisit the more contentious things.

2.2 If yes, incorporate feedback (not include/core but include/support, or not is-a.h but hash-map.h).

3. Sent a patch. The smaller, the better.

4. Repeat and rinse.

There is no need to wait for reorganization to at least create a list of
such support data structures and functions (something like this:
http://llvm.org/docs/ProgrammersManual.html). The good thing is that we
already have excellent documentation for some of them in source code
(for example vec.h and is-a.h), but we are missing the list.

No "maybe we", please :) (Point 11 here: https://gcc.gnu.org/wiki/Community)

Just do it. Sent a patch for gccint.texi or create a webpage in the wiki to draft it or just draft it in plain-text and send it to the mailing list. Follow the four steps above.

Cheers from someone that has said "maybe we" a lot, but got a few things implemented in the end,

Manuel.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]