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 uninitialized in 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 uninitialized in 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


Reply via email to