> > I've pretty much localized the problem. It's a GCC middle-end bug. > > The problem is in passing a complex double from a thunk. The hppa > > specification says that values larger than 64 bits are passed by > > reference in the 32-bit runtime. However, the value is in a pair > > of registers and not copied to memory. This doesn't happen in calls > > from normal functions because the value gets copied to a stack slot. > > I'm slightly confused about "stack slot". Could the "pass by reference" > refer to the address in the stack?
The reference can refer to a location on the stack (region allocated for locals). However, values larger than 64 bits can't be passed in the argument slots. Dave -- J. David Anglin [email protected] National Research Council of Canada (613) 990-0752 (FAX: 952-6602) -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

