This is the mail archive of the gcc-bugs@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]
Other format: [Raw text]

Re: c/3711: ICE in instantiate_virtual_regs_1, at function.c:3880


On Tue, Mar 26, 2002 at 11:53:03AM +0000, Nicola Pero wrote:
> Hmmm ... well this testcase arrives from a real example ... forwarding
> code in some advanced OO stuff which worked perfectly well with all GCC
> releases up to now (code from mframe.m in gnustep-base).

No it didn't.  It worked perfectly well *with some particular abi*,
which is not the same thing.

> So I can use SMSmessages in place of a struct {char text[255];} everywhere
> I want, but I can't pass it in place of a struct {char text[255];} to a
> function ?

Correct.

> This is very confusing for users I must say.  And it is not how it worked
> in previous versions of the compiler.

Yes it is.  Like I said, this has *never* worked on sparc64, and
never will.

> I think you understood what the function in the testcase "wants/needs" to
> do - which is that it can be called with an arbitrary struct (fixed size)
> as the second argument, and it is informed of the size of the struct from
> the first argument (which is just to say, a source providing the info at
> runtime), and it needs to be able to access the bytes in the struct.

Why don't you just pass a pointer to the structure all the time?


r~


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