GCC Development Plan - GNU Project - Free Software Foundation (FSF)

2019-09-08 Thread piti rbr
gcc@gcc.gnu.org
gcc-h...@gcc.gnu.org


Pook


Re: missing explanation of Stage 4 in GCC Development Plan document

2015-10-19 Thread Richard Biener
On Mon, Oct 19, 2015 at 3:41 AM, Gerald Pfeifer  wrote:
> fOn Tue, 28 Apr 2015, Richard Biener wrote:
 Stage 2 has been missing for 7 years now, Stages 3 and 4 seem to blur
 together, the "regression only" rule is more like "non-invasive fixes
 only" (likewise for the support branches).
>>> Don't stage3 and stage4 differ in that substantial changes are still
>>> allowed for backends in stage3?
>> stage3 is for _general_ bugfixing while stage4 is for _regression_ bugfixing.
>
> I am wondering, do we want to keep this "forever", or adjust to
> the fact that stage 2 has been non-existent for a while?
>
> We may not want to redefine stage 3 to 2 and stage 4 to 3, but could
> use stage A, B, and C?  (Or in fact alpha, beta, and RC phases which
> is what this essentially has become?)

I think we'd want to transition to more descriptive stage names.  Like
"Development Stage" (stage1), "Stabilization Stage" (stage3) and
"Release Stage" (stage4).  Note that Stage 4 is equal to the state
release branches are in (but we didn't yet branch for the release),
thus "Release Branch Stage" would be even better but also possibly
confusing (there isn't a branch).

Richard.

>
> Gerald


Re: missing explanation of Stage 4 in GCC Development Plan document

2015-10-18 Thread Gerald Pfeifer
fOn Tue, 28 Apr 2015, Richard Biener wrote:
>>> Stage 2 has been missing for 7 years now, Stages 3 and 4 seem to blur
>>> together, the "regression only" rule is more like "non-invasive fixes
>>> only" (likewise for the support branches).
>> Don't stage3 and stage4 differ in that substantial changes are still 
>> allowed for backends in stage3?
> stage3 is for _general_ bugfixing while stage4 is for _regression_ bugfixing.

I am wondering, do we want to keep this "forever", or adjust to
the fact that stage 2 has been non-existent for a while?

We may not want to redefine stage 3 to 2 and stage 4 to 3, but could 
use stage A, B, and C?  (Or in fact alpha, beta, and RC phases which
is what this essentially has become?)

Gerald


Re: missing explanation of Stage 4 in GCC Development Plan document

2015-04-28 Thread Richard Biener
On Tue, Apr 28, 2015 at 7:01 AM, Thomas Preud'homme
 wrote:
>> From: gcc-ow...@gcc.gnu.org [mailto:gcc-ow...@gcc.gnu.org] On
>> Behalf Of James Greenhalgh
>
> Hi James,
>
>>
>> The stages, timings, and exact rules for which patches are acceptable
>> and when, seem to have drifted quite substantially from that page.
>> Stage 2 has been missing for 7 years now, Stages 3 and 4 seem to blur
>> together, the "regression only" rule is more like "non-invasive fixes
>> only" (likewise for the support branches).
>
> Don't stage3 and stage4 differ in that substantial changes are still allowed
> for backends in stage3?

stage3 is for _general_ bugfixing while stage4 is for _regression_ bugfixing.

Richard.

>
>>
>> So, why not try to reflect practice and form a two stage model (and
>> name the stages in a descriptive fashion)?
>>
>>   Development:
>>
>>   Expected to last for around 70% of a release cycle. During this
>>   period, changes of any nature may be made to the compiler. In
>> particular,
>>   major changes may be merged from branches. In order to avoid chaos,
>>   the Release Managers will ask for a list of major projects proposed for
>>   the coming release cycle before the start of this stage. They will
>>   attempt to sequence the projects in such a way as to cause minimal
>>   disruption. The Release Managers will not reject projects that will be
>>   ready for inclusion before the end of the development phase. Similarly,
>>   the Release Managers have no special power to accept a particular
>>   patch or branch beyond what their status as maintainers affords.
>>   The role of the Release Managers is merely to attempt to order the
>>   inclusion of major features in an organized manner.
>>
>>   Stabilization:
>>
>>   Expected to last for around 30% of a release cycle. New functionality
>>   may not be introduced during this period. Changes during this phase
>>   of the release cycle should focus on preparing the trunk for a high
>>   quality release, free of major regression and code generation issues.
>>   As we near the end of a release cycle, changes will only be accepted
>>   where they fix a regression, or are sufficiently non-intrusive as to
>>   not introduce a risk of affecting the quality of the release.
>
> If we keep referring to stages in our communication it would be nice to
> document them. I'm not saying this rewording is wrong, I just think we
> should add 1-2 sentences to explain the stages (I know it confused me
> at first because stage4 was not listed). Alternatively we could just
> refer to these 2 names only (development and stabilization).
>
> Best regards,
>
> Thomas
>
>


RE: missing explanation of Stage 4 in GCC Development Plan document

2015-04-27 Thread Thomas Preud'homme
> From: gcc-ow...@gcc.gnu.org [mailto:gcc-ow...@gcc.gnu.org] On
> Behalf Of James Greenhalgh

Hi James,

> 
> The stages, timings, and exact rules for which patches are acceptable
> and when, seem to have drifted quite substantially from that page.
> Stage 2 has been missing for 7 years now, Stages 3 and 4 seem to blur
> together, the "regression only" rule is more like "non-invasive fixes
> only" (likewise for the support branches).

Don't stage3 and stage4 differ in that substantial changes are still allowed
for backends in stage3?


> 
> So, why not try to reflect practice and form a two stage model (and
> name the stages in a descriptive fashion)?
> 
>   Development:
> 
>   Expected to last for around 70% of a release cycle. During this
>   period, changes of any nature may be made to the compiler. In
> particular,
>   major changes may be merged from branches. In order to avoid chaos,
>   the Release Managers will ask for a list of major projects proposed for
>   the coming release cycle before the start of this stage. They will
>   attempt to sequence the projects in such a way as to cause minimal
>   disruption. The Release Managers will not reject projects that will be
>   ready for inclusion before the end of the development phase. Similarly,
>   the Release Managers have no special power to accept a particular
>   patch or branch beyond what their status as maintainers affords.
>   The role of the Release Managers is merely to attempt to order the
>   inclusion of major features in an organized manner.
> 
>   Stabilization:
> 
>   Expected to last for around 30% of a release cycle. New functionality
>   may not be introduced during this period. Changes during this phase
>   of the release cycle should focus on preparing the trunk for a high
>   quality release, free of major regression and code generation issues.
>   As we near the end of a release cycle, changes will only be accepted
>   where they fix a regression, or are sufficiently non-intrusive as to
>   not introduce a risk of affecting the quality of the release.

If we keep referring to stages in our communication it would be nice to
document them. I'm not saying this rewording is wrong, I just think we
should add 1-2 sentences to explain the stages (I know it confused me
at first because stage4 was not listed). Alternatively we could just
refer to these 2 names only (development and stabilization).

Best regards,

Thomas




Re: missing explanation of Stage 4 in GCC Development Plan document

2015-04-27 Thread James Greenhalgh
On Mon, Apr 27, 2015 at 09:37:36AM +0100, Richard Biener wrote:
> On Sun, Apr 26, 2015 at 9:56 AM, Honggyu Kim  wrote:
> > Hi all,
> >
> > I would like to know about the stages of development plan so I checked the 
> > following article:
> > https://gcc.gnu.org/develop.html

[Just Bike-shedding...]

The stages, timings, and exact rules for which patches are acceptable
and when, seem to have drifted quite substantially from that page.
Stage 2 has been missing for 7 years now, Stages 3 and 4 seem to blur
together, the "regression only" rule is more like "non-invasive fixes
only" (likewise for the support branches).

In which case, we seem only to be keeping the process listed as an
aspiration, rather than a document of reality.

So, why not try to reflect practice and form a two stage model (and
name the stages in a descriptive fashion)?

  Development:

  Expected to last for around 70% of a release cycle. During this
  period, changes of any nature may be made to the compiler. In particular,
  major changes may be merged from branches. In order to avoid chaos,
  the Release Managers will ask for a list of major projects proposed for
  the coming release cycle before the start of this stage. They will
  attempt to sequence the projects in such a way as to cause minimal
  disruption. The Release Managers will not reject projects that will be
  ready for inclusion before the end of the development phase. Similarly,
  the Release Managers have no special power to accept a particular
  patch or branch beyond what their status as maintainers affords.
  The role of the Release Managers is merely to attempt to order the
  inclusion of major features in an organized manner.

  Stabilization:

  Expected to last for around 30% of a release cycle. New functionality
  may not be introduced during this period. Changes during this phase
  of the release cycle should focus on preparing the trunk for a high
  quality release, free of major regression and code generation issues.
  As we near the end of a release cycle, changes will only be accepted
  where they fix a regression, or are sufficiently non-intrusive as to
  not introduce a risk of affecting the quality of the release.

Thanks,
James



Re: missing explanation of Stage 4 in GCC Development Plan document

2015-04-27 Thread Richard Biener
On Sun, Apr 26, 2015 at 9:56 AM, Honggyu Kim  wrote:
> Hi all,
>
> I would like to know about the stages of development plan so I checked the 
> following article:
> https://gcc.gnu.org/develop.html
>
> I have reported a bug recently but didn't clearly understand the term "stage 
> 4" here.
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65358
>
> Do you think "stage 4" explanation is missing in "GCC Development Plan" 
> document?
> If so, can anyone please explain it or write the description on the document?

I have committed the following.

Richard.

2014-04-27  Richard Biener  

* develop.html: Document stage 4.

Index: develop.html
===
RCS file: /cvs/gcc/wwwdocs/htdocs/develop.html,v
retrieving revision 1.153
diff -u -r1.153 develop.html
--- develop.html22 Apr 2015 11:21:43 -  1.153
+++ develop.html27 Apr 2015 08:36:49 -
@@ -127,6 +127,14 @@
 require changes to other parts of the compiler.
 New functionality may not be introduced during this period.

+Stage 4
+
+During this period, the only (non-documentation) changes that may
+be made are changes that fix regressions.  Other changes may not be
+done during this period.  Note that the same constraints apply
+to release branches.  This period lasts until stage 1 opens for
+the next release.
+
 Rationale

 In order to produce releases on a regular schedule, we must ensure


> Thanks,
>
> Honggyu
>


missing explanation of Stage 4 in GCC Development Plan document

2015-04-26 Thread Honggyu Kim
Hi all,

I would like to know about the stages of development plan so I checked the 
following article:
https://gcc.gnu.org/develop.html

I have reported a bug recently but didn't clearly understand the term "stage 4" 
here.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65358

Do you think "stage 4" explanation is missing in "GCC Development Plan" 
document?
If so, can anyone please explain it or write the description on the document?

Thanks,

Honggyu



Re: GCC development plan

2010-01-20 Thread Ed Smith-Rowland

Piotr Wyderski wrote:

Tobias Burnus wrote:

  

Well, for the new features in the trunk: Have a look at the release
notes for the upcoming version 4.5 at
http://gcc.gnu.org/gcc-4.5/changes.html
For C++ 0x (1x?) have also a look at
http://gcc.gnu.org/gcc-4.5/cxx0x_status.html



Yes, I know those pages pretty well, as I check  the
C++0x implementation progress every other week.
But, from the perspective of trunk, they describe what
has already been done and I'm using that features happily.

Of course I realize that there is no strict plan,
as it is an Open Source project run by volunteers.
I would like to know what is in progress or planned
/speculated to be, but failed to find that information.
The person who maintains the mentioned sites
somehow knows what is going on under the hood,
so I wonder whether that information is available
to mere mortals, and -- if yes -- then how.

  

No - there might be some (tentative) plan for some parts of the compiler
and ideas what should implemented first



That would be more than enough, but where can I find that?
I read this list rather carefully, however not much information
of that kind is disclosed here.

Best regards
Piotr Wyderski

  
I think there are three broad parts to this question: infrastructure, 
core language and library runtimes.  I tend to work on the latter and in 
that case I think all the languages are trying to fill any holes in the 
published standards for those languages.  I know at least C, C++, and 
Fortran have status pages in the manual and in Wikis describing the 
coverage with respect to the various standards and Technical Reports and 
Defect Reports in each language.  Pick a hole and start filling.


As for infrastructure I know much less.  It seems that a lot of thought 
is presented at GCC workshops.  Ideas are presented for new optimization 
passes and so on.  Also, watching the list will reveal annoyances like 
reload and other stuff.  Obviously I don't know these parts ;-) well 
enough to talk.


As a core language evolves in subsequent standards (in particular, right 
now, C++-0x is coming up) new language features must be supported 
possibly in conjunction with the corresponding runtime.  As for timing 
at least C++ and possibly Fortran track the standards as the progress 
and add features as they solidify either in an experimental mode or on a 
separate branch.  Gcc is an important part of the feedback loop into the 
wider standards world about implementation experience for new language 
and library proposals.


So basically, it's this: 1. look at the standards documents, 2. look at 
the current coverage in gcc, 3. Fill holes, 4. Don't add too much new 
stuff.  Rinse.  Repeat.


Ed



Re: GCC development plan

2010-01-20 Thread Piotr Wyderski
Tobias Burnus wrote:

> Well, for the new features in the trunk: Have a look at the release
> notes for the upcoming version 4.5 at
> http://gcc.gnu.org/gcc-4.5/changes.html
> For C++ 0x (1x?) have also a look at
> http://gcc.gnu.org/gcc-4.5/cxx0x_status.html

Yes, I know those pages pretty well, as I check  the
C++0x implementation progress every other week.
But, from the perspective of trunk, they describe what
has already been done and I'm using that features happily.

Of course I realize that there is no strict plan,
as it is an Open Source project run by volunteers.
I would like to know what is in progress or planned
/speculated to be, but failed to find that information.
The person who maintains the mentioned sites
somehow knows what is going on under the hood,
so I wonder whether that information is available
to mere mortals, and -- if yes -- then how.

> No - there might be some (tentative) plan for some parts of the compiler
> and ideas what should implemented first

That would be more than enough, but where can I find that?
I read this list rather carefully, however not much information
of that kind is disclosed here.

Best regards
Piotr Wyderski


Re: GCC development plan

2010-01-20 Thread Tobias Burnus
On 01/20/2010 12:17 PM, Piotr Wyderski wrote:
> is there something like an unofficial documentation
> of trunk features

Well, for the new features in the trunk: Have a look at the release
notes for the upcoming version 4.5 at
http://gcc.gnu.org/gcc-4.5/changes.html
For C++ 0x (1x?) have also a look at
http://gcc.gnu.org/gcc-4.5/cxx0x_status.html


> or a more or less detailed development
> plan of the compiler?

No - there might be some (tentative) plan for some parts of the compiler
and ideas what should implemented first but there is no overall
development plan.

> What I'm trying to say... how do you know what to work on

That depends on who is paying (if any), personal interest, and perceived
importance of a given feature/bug.

> and what are schedules?

See Stage 1/2/3 at http://gcc.gnu.org/develop.html and the time line on
that page that gives you an idea of a schedule of GCC (though not for a
given feature).

Tobias


Re: GCC development plan

2010-01-20 Thread Paolo Carlini
On 01/20/2010 12:17 PM, Piotr Wyderski wrote:
> Hello,
>
> is there something like an unofficial documentation
> of trunk features or a more or less detailed development
> plan of the compiler?
http://catb.org/~esr/writings/homesteading/

with the usual caveats about Open Source vs Free Software.

Paolo.


GCC development plan

2010-01-20 Thread Piotr Wyderski
Hello,

is there something like an unofficial documentation
of trunk features or a more or less detailed development
plan of the compiler? What I'm trying to say... how do
you know what to work on and what are schedules?

I'm particularly interested in C++0x, SIMDs and optimization
plans.

Best regards
Piotr Wyderski