]> granicus.if.org Git - postgresql/commit
Extend configure's __int128 test to check for a known gcc bug.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 18 Jan 2018 16:09:44 +0000 (11:09 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 18 Jan 2018 16:09:44 +0000 (11:09 -0500)
commit456cab29df65b7ad3d9ce6345bb85448d7c8f98e
treee5f9423e9a3d3de4cbf71f07c4ee3a31ed627fe5
parent4a81c022975ec786b26ec8af6b7d8527319bf445
Extend configure's __int128 test to check for a known gcc bug.

On Sparc64, use of __attribute__(aligned(8)) with __int128 causes faulty
code generation in gcc versions at least through 5.5.0.  We can work around
that by disabling use of __int128, so teach configure to test for the bug.

This solution doesn't fix things for the case of cross-compiling with a
buggy compiler; to support that nicely, we'd need to add a manual disable
switch.  Unless more such cases turn up, it doesn't seem worth the work.
Affected users could always edit pg_config.h manually.

In passing, fix some typos in the existing configure test for __int128.
They're harmless because we only compile that code not run it, but
they're still confusing for anyone looking at it closely.

This is needed in support of commit 751804998, so back-patch to 9.5
as that was.

Marina Polyakova, Victor Wagner, Tom Lane

Discussion: https://postgr.es/m/0d3a9fa264cebe1cb9966f37b7c06e86@postgrespro.ru
config/c-compiler.m4
configure