postgresql/src
Tom Lane 9daff2fe69 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
2018-08-31 12:26:37 -04:00
..
backend Disable support for partitionwise joins in problematic cases. 2018-08-31 20:47:17 +09:00
bin Fix pg_verify_checksums on Windows. 2018-08-31 15:45:09 +05:30
common Clean up assorted misuses of snprintf()'s result value. 2018-08-15 16:29:32 -04:00
fe_utils Fix lexing of standard multi-character operators in edge cases. 2018-08-23 21:43:51 +01:00
include Make checksum_impl.h safe to compile with -fstrict-aliasing. 2018-08-31 12:26:37 -04:00
interfaces Fix lexing of standard multi-character operators in edge cases. 2018-08-23 21:43:51 +01:00
makefiles Include contrib modules in the temp installation even without REGRESS. 2018-08-28 17:26:19 -04:00
pl Fix snapshot leak warning for some procedures 2018-08-27 22:15:39 +02:00
port Make snprintf.c follow the C99 standard for snprintf's result value. 2018-08-15 17:25:49 -04:00
template Force "restrict" not to be used when compiling with xlc. 2017-10-13 12:15:06 -07:00
test Disable support for partitionwise joins in problematic cases. 2018-08-31 20:47:17 +09:00
timezone Update time zone data files to tzdata release 2018e. 2018-05-09 13:56:22 -04:00
tools MSVC: Finish clean.bat tmp_check coverage. 2018-08-19 01:12:25 -07:00
tutorial Update copyright for 2018 2018-01-02 23:30:12 -05:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
DEVELOPERS Replace a couple of references to files that no longer exist in the source 2009-05-04 08:08:47 +00:00
Makefile Fix partial-build problems introduced by having more generated headers. 2018-04-09 16:42:10 -04:00
Makefile.global.in Ensure we build generated headers at the start of some more cases. 2018-07-30 18:04:39 -04:00
Makefile.shlib Prevent accidental linking of system-supplied copies of libpq.so etc. 2018-04-03 16:26:05 -04:00
nls-global.mk nls-global.mk: search build dir for source files, too 2016-06-07 18:55:18 -04:00