• Andres Freund's avatar
    Fix alignment of pg_atomic_uint64 variables on some 32bit platforms. · db4ec2ff
    Andres Freund authored
    I failed to recognize that pg_atomic_uint64 wasn't guaranteed to be 8
    byte aligned on some 32bit platforms - which it has to be on some
    platforms to guarantee the desired atomicity and which we assert.
    
    As this is all compiler specific code anyway we can just rely on
    compiler specific tricks to enforce alignment.
    
    I've been unable to find concrete documentation about the version that
    introduce the sunpro alignment support, so that might need additional
    guards.
    
    I've verified that this works with gcc x86 32bit, but I don't have
    access to any other 32bit environment.
    
    Discussion: op.xpsjdkil0sbe7t@vld-kuci
    
    Per report from Vladimir Koković.
    db4ec2ff
generic-acc.h 3.04 KB