There is a Standard'Default_Bit_Order so it's the same as Word_Size: we just
loose "source" documentation (and gain less diff between target file).

Yes, but Arnaud said that system-* constants are written down for a reason. I don't understand *what* is the reason, but that's just because I have no clue (among other things) of what parts of the Ada RTS are installed.

For example, are these system-*.ads files installed? If so, is it possible to install different versions for each multilib? If not (question to Arnaud), is this self-documentation meant only for the people reading the source code of GNAT? IOW, is it meant as a quick-and-dirty reference as to what are the characteristics of the target?

My impression is that 50% of the constants system-*.ads files are boilerplate (same for every file), 30% is easily derivable from configure.ac tests or from other Standard'xyz constants, and only 20% is actually something that depends on how GNAT works on the target.

If it was up to me, I would make the system.ads file automatically generated (except for the latter 20%, which would have to be specified in some way). That would simplify multilibbing, but is moot unless there is a guarantee that this 20% is *totally* derivable from the target triplet, so that no conceivable flag combination can affect it. If this guarantee is not there, any attempt to multilib the Ada RTS is going to be a sore failure.

Paolo

Reply via email to