Re: Question about ECPGset_noind_null() and ECPGis_noind_null()

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Question about ECPGset_noind_null() and ECPGis_noind_null()
Дата
Msg-id 29461.1258663872@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Question about ECPGset_noind_null() and ECPGis_noind_null()  (Andrew Dunstan <andrew@dunslane.net>)
Ответы Re: Question about ECPGset_noind_null() and ECPGis_noind_null()
Список pgsql-hackers
Andrew Dunstan <andrew@dunslane.net> writes:
> Boszormenyi Zoltan wrote:
>> 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, 

> Not if they come after a short-circuit operator such as && - after all, 
> that's what short-circuit evaluation implies. If the left hand operand 
> of && is false the right hand should not be evaluated at all.

Yes.  && is a sequence point and the compiler is not allowed to move
side-effects across a sequence point.  What your C teacher was warning
you against was things likea[i] = i++;
'=' is not a sequence point so it's undefined which array index
will be stored into.
        regards, tom lane


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Andrew Dunstan
Дата:
Сообщение: Re: Question about ECPGset_noind_null() and ECPGis_noind_null()
Следующее
От: Heikki Linnakangas
Дата:
Сообщение: Re: Architecture of walreceiver (Streaming Replication)