This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos 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] |
Patrick Doyle wrote:
I just looked at the standard to be absolutely sure about this and it says: "If the value of the right operand is negative or is greater than or equal to the width of the promoted left operand, the behavior is undefined."Thats what im relying on. 1<<32 should be 0 on most processors. If so, it all works out correct. But its not something i would trust unless it was written down in some standard and gcc actually implements that standard.
Well that's true, although it would be nice if we allowed it to work with 64-bit addresses in future (difficult with the CDL constraint, but whatever).Wandering in here very late in the game, I am wondering why you don't just mask the result of the shift with 0xFFFFFFFFu whereever you use it. On 32-bit machines, the optimizer will (presumably) ignore the NOP mask, and on other machines, the result will be 0 as you desire.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |