Andreas Schwab wrote:
Matthew Woehlke <[EMAIL PROTECTED]> writes:

That said, I've seen even stranger things, too. For example:

foo->bar = make_a_bar();
foo->bar->none = value;

being rendered as:

call make_a_bar
foo->bar->none = value
foo->bar = <result of make_a_bar()>

You are not describing a C compiler.

Um, I'm describing what gcc did? I gave C code first (names changed, but almost exactly what I was doing), then described the assembly that was emitted. The resulting assembly called the function that is supposed to provide the value of 'foo->bar', and then dereferenced members of foo->bar /before/ assigning the return value to foo->bar. Trust me, I looked at the assembly, and that's what it was doing.

--
Matthew
Hi! I'm a .signature virus! Copy me into your ~/.signature, please!



Reply via email to