Re: x86_64 ABI

2007-08-08 Thread Michael Matz
Hi, On Wed, 8 Aug 2007, Maurizio Vitale wrote: > with reference to the following: > > struct data { > data (long v) : m_data (v) {} > data (const data&) {} > long m_data; > }; > > data foo (data v) { > return v; > } > > my

x86_64 ABI

2007-08-08 Thread Maurizio Vitale
with reference to the following: struct data { data (long v) : m_data (v) {} data (const data&) {} long m_data; }; data foo (data v) { return v; } my reading of the x86_64 ABI (v .98, sept 2006) on page 17 is that data should have class MEMORY when passed as argu

Re: x86_64 ABI

2006-07-14 Thread Michael Matz
Hi, On Thu, 13 Jul 2006, Maurizio Vitale wrote: > my understanding of the x86_64 ABI is that the following structure should be > passed in registers: Right. > struct data { > unsigned int x; > unsigned int y; > unsigned long z; > }; > > but wh

x86_64 ABI

2006-07-13 Thread Maurizio Vitale
my understanding of the x86_64 ABI is that the following structure should be passed in registers: struct data { unsigned int x; unsigned int y; unsigned long z; }; but when I compile: #include struct data { unsigned int x : 32; unsigned int y : 32