On Thu, 3 Mar 2005, Waldek Hebisch wrote:

> 1) With current GPC I can work out a new feature and test it using old
> backend. Such feature relatively quickly can go out in a development
> snapshot which is usable by ordinary users (the development snapshot
> uses old, tested backend which shields users form most bugs outside
> the front end). At the same time I can work on adapting GPC to newer
> backend. All that when _I_ have time. 
> 
> Staged development introduces deadlines and delays, which are very
> disruptive for me (it seems that other peope can handle schedules
> much better than I can). I can easily miss stage-1 or even 
> stage-1 and stage-2 window...

For the 4.0 release cycle Mark allowed front end maintainers discretion to 
determine what changes were appropriate in Stage 3, including new features 
if they felt it appropriate.  Ada in particular did new development right 
up to the branch - the other side of that was that functionality of Ada is 
not considered in the release criteria, and likely this would be the case 
for Pascal as well.

> 2) GPC developers are supposed to work the mainline. While many changes
> are applied automatically to the whole mainline, some will require
> manual intervention. While such intervention is usually trivial,
> it is still significant distraction from other work (adjusting GPC
> to follow mainline I have found that I spent much less time 
> doing the work in a single batch, then trying to follow smaller
> changes).

If GPC proves sufficiently stable on multiple platforms it is plausible it 
could be included in bootstrap by default and so maintainers changing 
interfaces would be expected to include it in the front ends updated.

> 3) AFAIU dropping support for multiple backends is considered as a
> pre-condition to inclusion of GPC into GCC. GPC release wold be
> part of GCC release. People trying GPC snapshots would automatically
> get backend snapshot. I am affraid that for Pascal that means
> 6-8 months extra delay between including a feature in GPC and first
> bug reports (and consequently more effort for bug fixing).

The way to avoid this is for front ends to have internal datastructures 
decoupled from those of the rest of GCC and to have a small piece of code 
that does the conversion (like the Ada front end's gigi), then just 
maintain multiple versions of that small piece of code.  This seems to 
work well for Ada.

-- 
Joseph S. Myers               http://www.srcf.ucam.org/~jsm28/gcc/
    [EMAIL PROTECTED] (personal mail)
    [EMAIL PROTECTED] (CodeSourcery mail)
    [EMAIL PROTECTED] (Bugzilla assignments and CCs)

Reply via email to