• Tom Lane's avatar
    Extend configure's __int128 test to check for a known gcc bug. · 2082b374
    Tom Lane authored
    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 75180499, so back-patch to 9.5
    as that was.
    
    Marina Polyakova, Victor Wagner, Tom Lane
    
    Discussion: https://postgr.es/m/0d3a9fa264cebe1cb9966f37b7c06e86@postgrespro.ru
    2082b374
configure 488 KB