Обсуждение: Re: Replace plain-memory ordered array by binary tree in ts_stat() function.

Поиск
Список
Период
Сортировка

Re: Replace plain-memory ordered array by binary tree in ts_stat() function.

От
Peter Eisentraut
Дата:
The patch mentioned in the subject leaves this compiler warning:

tsvector_op.c: In function ‘insertStatEntry’:
tsvector_op.c:815: warning: ‘res’ may be used uninitialized in this function

I took a quick look but it is not immediately obvious whether the 
compiler might actually have a point here.  Could you please fix this?


Re: Re: Replace plain-memory ordered array by binary tree in ts_stat() function.

От
Teodor Sigaev
Дата:
Fixed, but my gcc didn't emit such message.

> The patch mentioned in the subject leaves this compiler warning:
> 
> tsvector_op.c: In function ‘insertStatEntry’:
> tsvector_op.c:815: warning: ‘res’ may be used uninitialized in this 
> function

-- 
Teodor Sigaev                                   E-mail: teodor@sigaev.ru
  WWW: http://www.sigaev.ru/
 


Re: Re: Replace plain-memory ordered array by binary tree in ts_stat() function.

От
Tom Lane
Дата:
Teodor Sigaev <teodor@sigaev.ru> writes:
> Fixed, but my gcc didn't emit such message.

That's not actually too surprising.  gcc's "uninitialized variable"
analysis is per-function, which means that its scope can change
depending on how much inlining the compiler chooses to do.
So you can see different warnings at different -O levels or on
different platforms.

Also, I think you don't get any such warnings at all at -O0 ...
which is why I always use at least -O1 even in debug builds.
        regards, tom lane