Sun Studio 12 vs. __builtin_constant_p()

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Sun Studio 12 vs. __builtin_constant_p()
Дата
Msg-id 22997.1513264066@sss.pgh.pa.us
обсуждение исходный текст
Список pgsql-hackers
Well, that's annoying: buildfarm member castoroides just fell over
with symptoms indicating that its compiler thinks that
__builtin_constant_p("string literal") is false, thus breaking the
check I installed in commit 9fa6f00b1 that AllocSetContextCreate's
name argument is a literal.

https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=castoroides&dt=2017-12-14%2013%3A03%3A05

I think removing that check would be entirely impractical, and
anyway it's sufficient if it works on "most people's" compilers.
Fortunately, buildfarm results so far suggest that most compilers
do accept this usage of __builtin_constant_p, if they know the
function at all.

What I propose to do is adjust the configure check for
__builtin_constant_p so that it explicitly checks for
__builtin_constant_p("string literal") being true, in addition
to what it tests now.  That will result in slightly worse
code optimization around ereport/elog calls on compilers that
don't have this behavior, but that seems fine to me.

            regards, tom lane


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

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: PATCH: Exclude unlogged tables from base backups
Следующее
От: Robert Haas
Дата:
Сообщение: Re: access/parallel.h lacks PGDLLIMPORT