Hi,
On 2020-04-03 15:22:23 -0400, Robert Haas wrote:
> I've pushed all the patches.
Seeing new warnings in an optimized build
/home/andres/src/postgresql-master/src/bin/pg_validatebackup/parse_manifest.c: In function 'json_manifest_object_end':
/home/andres/src/postgresql-master/src/bin/pg_validatebackup/parse_manifest.c:591:2: warning: 'end_lsn' may be used
uninitializedin this function [-Wmaybe-uninitialized]
591 | context->perwalrange_cb(context, tli, start_lsn, end_lsn);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/andres/src/postgresql-master/src/bin/pg_validatebackup/parse_manifest.c:567:5: note: 'end_lsn' was declared here
567 | end_lsn;
| ^~~~~~~
/home/andres/src/postgresql-master/src/bin/pg_validatebackup/parse_manifest.c:591:2: warning: 'start_lsn' may be used
uninitializedin this function [-Wmaybe-uninitialized]
591 | context->perwalrange_cb(context, tli, start_lsn, end_lsn);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/andres/src/postgresql-master/src/bin/pg_validatebackup/parse_manifest.c:566:13: note: 'start_lsn' was declared
here
566 | XLogRecPtr start_lsn,
| ^~~~~~~~~
The warnings don't seem too unreasonable. The compiler can't see that
the error_cb inside json_manifest_parse_failure() is not expected to
return. Probably worth adding a wrapper around the calls to
context->error_cb and mark that as noreturn.
- Andres