• Alvaro Herrera's avatar
    Fix portability issues in pg_bitutils · 109de05c
    Alvaro Herrera authored
    We were using uint64 function arguments as "long int" arguments to
    compiler builtins, which fails on machines where long ints are 32 bits:
    the upper half of the uint64 was being ignored.  Fix by using the "ll"
    builtin variants instead, which on those machines take 64 bit arguments.
    
    Also, remove configure tests for __builtin_popcountl() (as well as
    "long" variants for ctz and clz): the theory here is that any compiler
    version will provide all widths or none, so one test suffices.  Were
    this theory to be wrong, we'd have to add tests for
    __builtin_popcountll() and friends, which would be tedious.
    
    Per failures in buildfarm member lapwing and ensuing discussion.
    109de05c
c-compiler.m4 26.6 KB