Re: Odd GCC Behavior
Re: Odd GCC Behavior
- Subject: Re: Odd GCC Behavior
- From: "J. Aaron Pendergrass" <email@hidden>
- Date: Mon, 30 Jun 2008 12:36:53 -0400
On Jun 30, 2008, at 12:26 PM, Clark Cox wrote:
On Mon, Jun 30, 2008 at 6:38 AM, J. Aaron Pendergrass
<email@hidden> wrote:
I'm aware that this is undefined.
I did explicitly say that the C spec leaves this unspecified.
But {1,2,7,4} seems like such an odd choice. Especially when
looking at the
disassembly:
lwz r2,56(r30)
addi r2,r2,-8
lwz r9,0(r2)
lwz r2,56(r30)
addi r0,r2,-4
stw r0,56(r30)
lwz r2,56(r30)
lwz r0,0(r2)
add r0,r9,r0
lwz r2,56(r30)
addi r2,r2,-8
stw r0,0(r2)
which really seems to be going out of its way to implement a fairly
unintuitive semantics
for this piece of undefined behavior and I was curious what the
motivation
behind this behavior might be.
With undefined behavior, there is no such thing as an "odd choice".
There is no choice to be made.
Of course there's a choice to be made.
The compiler has to do something. It chose to do something on powerpc
that is
completely different from what it chooses to do on other
architectures, and on other
programs which have very similar undefined usages, and which seemed
somewhat
unintuitive (in the sense that if I were to define a particular
behavior it would not have
been the one I observed).
I'm curious what the motivation is for this particular choice.
If you don't know the answer don't respond.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden