This is the mail archive of the gcc@gcc.gnu.org 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: Bug in 19980806 and 19980814 snapshots


On Sun, 20 Sep 1998 01:33:51 -0400, David Edelsohn <dje@watson.ibm.com> wrote:

> 	I believe the rs6000 port was change in this area since egcs-1.0.
> Depending on what compiler and version you were using as a base to test
> your changes and when, this error may not have occurred when testing on
> AIX a while ago.
> 
> 	I just worry that all of these individual macros you need to fake
> out the normal backend macros defined by various ports will be a
> maintenance problem for both you and port maintainers.  I realize that
> there is not much way around it, especially given what Objective C is
> trying to accomplish.  Even defining all current TREE and TYPE macros
> fails if new ones are added because they are needed by a new target.
> Either the person maintaining Objective C or individual port maintainers
> probably are going to hit similar problems again with other changes whose
> impact upon encoding.c is not known.

The macros that pose the problem are not very much. They define the layout of
structures on the target machine and from what I saw so far few machines use
special rules. PowerPC is one of them, with the structure aligned at multiple
of 8 in the case the first element is a double and at a multiple of 4
otherwise. I agree with you that on other machines, especially on future ones
with more aggressive optimizations, this could be a possible problem.

On the other hand the Objective-C runtime library is the most appropriate place
to code this kind of dependencies, because the information is present in the
target files. If we pull out that piece of code, the user level libraries will
have to deal with it, which is much harder. I think is better to have the
machine level dependencies at the lowest level possible in a hierarchy of
libraries.

Ovidiu




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