Re: "errno" not set in case of "libm" functions (HPUX)

Поиск
Список
Период
Сортировка
От Ibrar Ahmed
Тема Re: "errno" not set in case of "libm" functions (HPUX)
Дата
Msg-id BANLkTimppphfYppwDKx_ut0CokDjA6bggg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: "errno" not set in case of "libm" functions (HPUX)  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: "errno" not set in case of "libm" functions (HPUX)
Список pgsql-hackers

Please find the updated patch. I have added this "+Olibmerrno" compile flag check in configure/configure.in file.


OS
----
HP-UX B.11.31 U ia64

without patch
---------------
postgres=# select acos(2);
 acos 
------
  NaN
(1 row)


with patch
-----------
postgres=# select acos(2);
ERROR:  input is out of range



On Tue, May 24, 2011 at 11:13 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> writes:
> So the default is indeed non-standard. But I wonder if we should use -Aa
> instead?

Probably not; at least on older HPUX versions, -Aa turns off access to
assorted stuff that we do want, eg "long long".  "man cc" on my box
saith

    -Amode         Specify the compilation standard to be used by the
                   compiler.  mode can be one of the following letters:

                      c    (Default) Compile in a mode compatible with
                           HP-UX releases prior to 7.0.  (See The C
                           Programming Language, First Edition by
                           Kernighan and Ritchie).  This option also
                           defines the symbol _HPUX_SOURCE and allows the
                           user to access macros and typedefs provided by
                           the HPUX Operating System. The default
                           compilation mode may change in future releases.

                      a    Compile under ANSI mode (ANSI programming
                           language C standard ISO 9899:1990).  When
                           compiling under ANSI mode, the header files
                           would define only those names (macros and
                           typedefs) specified by the Standard. To access
                           macros and typedefs that are not defined by the
                           ANSI Standard but are provided by the HPUX
                           Operating System, define the symbol
                           _HPUX_SOURCE; or use the extension option
                           described below.

                      e    Extended ANSI mode.  Same as -Aa -D_HPUX_SOURCE
                           +e.  This would define the names (macros and
                           typedefs) provided by the HPUX Operating System
                           and, in addition, allow the following
                           extensions: $ characters in identifier names,
                           sized enums, sized bit-fields, and 64-bit
                           integral type long long.  Additional extensions
                           may be added to this option in the future.

The +e option is elsewhere stated to mean

         +e                Enables HP value-added features while compiling
                           in ANSI C mode, -Aa.  This option is ignored
                           with -Ac because these features are already
                           provided.  Features enabled:

                                o  Long pointers
                                o  Integral type specifiers can appear in
                                   enum declarations.
                                o  The $ character can appear in
                                   identifier names.
                                o  Missing parameters on intrinsic calls

which isn't 100% consistent with what it says under -Ae, so maybe some
additional experimentation is called for.  But anyway, autoconf appears
to think that -Ae is preferable to the combination -Aa -D_HPUX_SOURCE
(that choice is coming from autoconf not our own code); so I'm not
optimistic that we can get more-standard behavior by overriding that.

                       regards, tom lane



--
   Ibrar Ahmed


Вложения

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

Предыдущее
От: Vaibhav Kaushal
Дата:
Сообщение: Re: Expression Evaluator used for creating the plan tree / stmt ?
Следующее
От: Robert Haas
Дата:
Сообщение: Re: New/Revised TODO? Gathering actual read performance data for use by planner