It is an up-to-date compiler.
AnonymousUser@ANONYMOUST MINGW64 /w/R-3.5._/postgres/build
$ x86_64-w64-mingw32-gcc --version
x86_64-w64-mingw32-gcc.exe (Rev1, Built by MSYS2 project) 8.2.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
These people here do not think that "a missing return statement" is a good
idea.
Why and how does GCC compile a function with a missing return statement?
https://stackoverflow.com/questions/7280877/why-and-how-does-gcc-compile-a-function-with-a-missing-return-statement
"
The subtraction of 32 was carried out in the %eax register.
And in the x86 calling convention, that is the register in which
the return value is expected to be! So... you got lucky.
"
Of
$ view /w/R-3.5._/postgres/src/backend/commands/statscmds.c
Here is the function.
419 void
420 UpdateStatisticsForTypeChange(Oid statsOid, Oid relationOid, int attnum,
421 Oid
oldColumnType, Oid newColumnType)
422 {
423 /*
424 * Currently, we don't actually need to do anything here. For
both
425 * ndistinct and functional-dependencies stats, the on-disk
representation
426 * is independent of the source column data types, and it is
plausible to
427 * assume that the old statistic values will still be good for
the new
428 * column contents. (Obviously, if the ALTER COLUMN TYPE has a
USING
429 * expression that substantially alters the semantic meaning of
the column
430 * values, this assumption could fail. But that seems like a
corner case
431 * that doesn't justify zapping the stats in common cases.)
432 *
433 * Future types of extended stats will likely require us to work
harder.
434 */
435 } <---------- ** The error is here at line 435 and position 1. **
--
Sent from: http://www.postgresql-archive.org/PostgreSQL-bugs-f2117394.html