Steven Bosscher wrote:
Anyway, if this can be done in gigi, then let's make a plan and work on it. I'd really like to see MAPPED_LOCATION become the default, and Ada is basically the major blocker right now, so we need to agree on something instead of arguing... ;-)
I think that this is largely in people's imagination that Ada is a blocker here. Our commercial product is based on older back ends at this stage. For us gcc 4 is future development anyway (it is not stable enough yet to meet our product requirements, so we are quite happy to be in development mode here. The worse that happens is that the migration of our product release to gcc 4 is delayed, which is not a big deal). I don't see any major issue at this stage in going to the use of MAPPED_LOCATION in the back end. Of course we would like to get our product release moved to gcc 4.x ASAP, and we are working furiously on doing that (it's in much better shape now than it was a few months ago, and we hope for a beta release soon), but if there is a change that is a good idea in the back end, we should go ahead and do it, even if it delays the Ada migration (that's the attitude we took for SSA after all!)
But, we'll first have to try and get MAPPED_LOCATION to bootstrap again...
Well yes, and Ada is not standing in the way of this at all. If you recall, we knew that going to Tree SSA would break Ada, and we took the view that that's not a big deal. If Ada stops working in the latest fsf release for a period of time while we catch up, that's not an issue for us. It does mean that Ada may not be able to be built for a while, but a) that's not a big deal, since we don't enable the Ada bootstrap by default. b) we will work to fix it ASAP, because it is to our advantage to have Ada bootstrap properly, and we appreciate those who do regularly bootstrap Ada with the latest FSF sources (as we do internally of course). The point is that there is no need to wait for gigi to be adapted here. Steam ahead and get MAPPED_LOCATION working and bootstrapped, and we will fix gigi to correspond ASAP (gigi is heavily branched anyway, so it's not a problem). We do try to keep the front end stable and independent of middle end changes, and that's practical because of the use of a separate tree (this tree precisely matches the grammar of the Ada standard, and we find this correspondence vital to providing correct semantics). But gigi is a different matter entirely and does indeed change (radically if necessary) to match middle end and back end changes. I don't see MAPPED_LOCATION as a special case here. Robert Dewar