Re: fix for strict-alias warnings

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: fix for strict-alias warnings
Дата
Msg-id 27440.1065893347@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: fix for strict-alias warnings  (Bruce Momjian <pgman@candle.pha.pa.us>)
Список pgsql-patches
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> I don't have a version that does the double-cast, but I still have the
> patch to back out and put in a new one.  Andrew's point was that we cast
> to void * in many places, so this case is not unique.  Is that wrong?

I do not like code that uses cast to void* as a substitute for casting
to the real destination type.  I think it's a lazy substitute for
providing the correct cast, and it renders the code more fragile because
there is *no* possibility of the compiler detecting a problem should you
change the source or destination datatype in a way that renders the cast
wrong.

I have not gone around and tried to fix all the places that are lazy in
this way, but I don't want to introduce more, and for sure I don't want
to set a precedent that we'll weaken our type checking any time gcc
burps for ill-defined reasons.

I agree completely with all of the objections you raised in your
original comment on the patch.  In particular, I don't think we
understand why gcc is complaining about these few places and not any of
the thousands of other casts in our code.  Until we understand that
difference completely, we are not "fixing a bug" by introducing void*
casts.  I'd have to call it cargo-cult programming instead.

I am perfectly content to leave the warnings in place until we have a
satisfactory explanation.

            regards, tom lane

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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: fix for strict-alias warnings
Следующее
От: "Andrew Dunstan"
Дата:
Сообщение: Re: fix for strict-alias warnings