On Mon, 15 Oct 2012, Gary Funck wrote:

> Regarding ChangeLog entries, I can add them to each
> change set, if that is needed.  However, I was hoping to
> wait on that until the patches are generally approved,
> in principle.

As a patch submitter, it's your responsibility to make it easy for 
reviewers to review your patch.  The ChangeLogs provide a roadmap for the 
patch - showing what is changed where, at a glance.  They go alongside the 
plain text rationale, explaining at a higher level the structure and 
rationale for the changes and anything that might seem unclear as to why 
the patches work in a particular way.

Each patch submission's Subject: line should best include a brief 
description of that patch as well, not just a patch number.

Any changes that are not immediately and obviously inherently UPC-specific 
deserve specific explanation in the plain text rationale.  That certainly 
includes such things as the langhook change I mentioned, the target 
changes and the changes to non-C-family front-end Make-lang.in files.  In 
the case of the target changes, there should be a high-level explanation 
of how other target maintainers might determine whether changes to their 
targets might be appropriate for UPC, or how you determined that only 
those targets should be changed.

For changes developed over several years, reading through them in detail 
to prepare a ChangeLog is particularly valuable as it will show up places 
where there are spurious changes (such as those to whitespace) that may 
have resulted from code being changed and changed again in the course of 
development, but that are not needed for a clean patch submission.

I don't really think your division into 16 patches is a particularly good 
one - it separates things that should be together, and joins things that 
might better be separate.  Putting documentation in a separate patch from 
the things documented is always bad, for example - if you have new target 
hooks, put the .texi changes in the same patch that adds those hooks.  A 
better division might be:

* Target changes, split out per target.

* Changes to existing C front-end files (including c-family).

* Changes to any other front ends, split out by front end.

* New front-end files.

* Changes to the language and target independent compiler (including build 
system code).

* Library.

* Compiler testsuite.

-- 
Joseph S. Myers
jos...@codesourcery.com

Reply via email to