aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/transam/parallel.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2018-08-31 12:26:20 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2018-08-31 12:26:47 -0400
commitc2dfbd18ce25c0141b681c04aa79c2e4e7cb20a7 (patch)
treef2ccb6e4f6706d02f520379825863c5b00e49bf9 /src/backend/access/transam/parallel.c
parent8af2a680681bcc7d85807bcfcaf336573432e046 (diff)
downloadpostgresql-c2dfbd18ce25c0141b681c04aa79c2e4e7cb20a7.tar.gz
postgresql-c2dfbd18ce25c0141b681c04aa79c2e4e7cb20a7.zip
Make checksum_impl.h safe to compile with -fstrict-aliasing.
In general, Postgres requires -fno-strict-aliasing with compilers that implement C99 strict aliasing rules. There's little hope of getting rid of that overall. But it seems like it would be a good idea if storage/checksum_impl.h in particular didn't depend on it, because that header is explicitly intended to be included by external programs. We don't have a lot of control over the compiler switches that an external program might use, as shown by Michael Banck's report of failure in a privately-modified version of pg_verify_checksums. Hence, switch to using a union in place of willy-nilly pointer casting inside this file. I think this makes the code a bit more readable anyway. checksum_impl.h hasn't changed since it was introduced in 9.3, so back-patch all the way. Discussion: https://postgr.es/m/1535618100.1286.3.camel@credativ.de
Diffstat (limited to 'src/backend/access/transam/parallel.c')
0 files changed, 0 insertions, 0 deletions