mirror of
https://github.com/postgres/postgres.git
synced 2025-08-27 07:42:10 +03:00
Attempt to work around a 32bit xlc compiler bug from a different place.
In de6fd1c8
I moved the the work around from 53f73879 into the aix
template. The previous location was removed in the former commit, and I
thought that it would be nice to emit a warning when running configure.
That didn't turn out to work because at the point the template is
included we don't know whether we're compiling a 32/64 bit binary and
it's possible to install compilers for both on a 64 bit kernel/OS.
So go back to a less ambitious approach and define
PG_FORCE_DISABLE_INLINE in port/aix.h, without emitting a warning. We
could try a more fancy approach, but it doesn't seem worth it.
This requires moving the check for PG_FORCE_DISABLE_INLINE in c.h to
after including the system headers included from therein which isn't
perfect, as it seems slightly more robust to include all system headers
in a similar environment. Oh well.
Discussion: 20150807132000.GC13310@awork2.anarazel.de
This commit is contained in:
@@ -12,14 +12,6 @@ if test "$GCC" != yes ; then
|
||||
esac
|
||||
fi
|
||||
|
||||
# "IBM XL C/C++ for AIX, V12.1" miscompiles, for 32-bit, some inline
|
||||
# expansions of ginCompareItemPointers() "long long" arithmetic. To
|
||||
# take advantage of inlining, build a 64-bit PostgreSQL.
|
||||
if test "$GCC" != yes -a $(getconf HARDWARE_BITMODE) == '32'; then
|
||||
echo "$as_me: WARNING: disabling inlining on 32 bit aix due to a bug in xlc" 2>&1
|
||||
CPPFLAGS="$CPPFLAGS -DPG_FORCE_DISABLE_INLINE"
|
||||
fi
|
||||
|
||||
# Native memset() is faster, tested on:
|
||||
# AIX 5.1 and 5.2, XLC 6.0 (IBM's cc)
|
||||
# AIX 5.3 ML3, gcc 4.0.1
|
||||
|
Reference in New Issue
Block a user