This is the mail archive of the 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]

Re: Ada files now checked in

<<if after this some bug is found in a past packaged release that prevents
bootstrap, you can contribute a test for the relevant bug (*not* a version

Note that this need not always be a bug, there are two other cases:

  a) a new version of GNAT uses a feature that has not always been
     supported in previous releases. Obviously one does not do this
     casually, but if code can be improved substantially by such usage
     as has happened in the past (e.g. the addition of Inline_ALways)
     then you want to be able to take advantage of the improvement
     in some cases.

  b) sometimes bugs cannot be fixed cleanly because of bootstrap path
     problems, and we have to fix them in two stages, a kludge to get
     things working for now, and a clean fix in a later version once
     the version with the kludge is sufficiently official/distributed
     to base the bootstrap on. An example is the Style_Checks pragmas
     that are in the current sources. They have an awkward form, just
     because of such a consideration. Another example is from s-stalib:

   Inside_Elab_Final_Code : Integer := 0;
   pragma Export (C, Inside_Elab_Final_Code, "__gnat_inside_elab_final_code");
   --  ???This variable is obsolete starting from 29/08 but cannot be removed
   --  ???right away due to the bootstrap problems

     (these are both examples from the current sources where we are at the
     kludge stage, but not past it yet)

The reason I separate these is that indeed you can produce a test for 
class a) problems, but not always for class b) problems.

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