From: | Boszormenyi Zoltan <zb(at)cybertec(dot)at> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Michael Meskes <meskes(at)postgresql(dot)org>, pgsql-hackers(at)postgresql(dot)org, Hans-Juergen Schoenig <hs(at)cybertec(dot)at> |
Subject: | Re: Question about ECPGset_noind_null() and ECPGis_noind_null() |
Date: | 2009-11-19 20:36:29 |
Message-ID: | 4B05AC4D.6070705@cybertec.at |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Boszormenyi Zoltan írta:
> Tom Lane írta:
>
>> Boszormenyi Zoltan <zb(at)cybertec(dot)at> writes:
>>
>>
>>> for (; length > 0 && ptr[--length] == 0xff;);
>>>
>>>
>>
>>
>>> I suspect that GCC does the "--length" after checking
>>> "length > 0" and before checking the "ptr[...] == 0xff",
>>> but HP CC does it before checking "length > 0".
>>>
>>>
>> If it does, that is *unquestionably* a bug in HP's CC and should be
>> reported to them.
>>
>
> Is it *really* a bug? I recalled a comment from my C teacher
> in '92 or '93 about this exact issue, that the prefix/postfix
> increment/decrement operators are executed in the
> statement in an implementation-defined order, i.e. they
> can be freely reordered or placed anywhere in the
> expression, provided that the postfix operator's evaluation
>
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Above is the prefix case obviously...
> is earlier than the usage of the variable it's used on and
> evaluation is later than the variable usage in the postfix case.
> This means that their usage has to be minimized so the
> result is unambiguous.
--
Bible has answers for everything. Proof:
"But let your communication be, Yea, yea; Nay, nay: for whatsoever is more
than these cometh of evil." (Matthew 5:37) - basics of digital technology.
"May your kingdom come" - superficial description of plate tectonics
----------------------------------
Zoltán Böszörményi
Cybertec Schönig & Schönig GmbH
http://www.postgresql.at/
From | Date | Subject | |
---|---|---|---|
Next Message | Andrew Dunstan | 2009-11-19 20:38:53 | Re: Question about ECPGset_noind_null() and ECPGis_noind_null() |
Previous Message | Boszormenyi Zoltan | 2009-11-19 20:32:51 | Re: Question about ECPGset_noind_null() and ECPGis_noind_null() |