> In this same vein, I am very interested in using the gimple type > system as a way to start moving gcc from being a C compiler that > accommodates other languages to a compiler that handles different > languages on an equal footing. The freedom that C and C++ "enjoy" to > basically take a pointer to one type and convert it to a pointer to > almost any other type is not something that is allowed by the other > languages that gcc supports. Fortran seems to require (and this > should be confirmed by a fortran expert) a very disciplined use of > pointers, even restricting pointers to only being able to point to > variables that are declared to be targets of pointers.
I do not know Fortran, but from the description above, this is similar in Ada: you cannot freely mix different pointers, and you cannot make a pointer out of any variable, unless variables are marked 'aliased'. This semantic is already expressed today in GCC trees, so I'm not sure what more/different you're suggesting though. Arno