1
0
mirror of https://github.com/postgres/postgres.git synced 2025-12-21 05:21:08 +03:00

Revert workarounds for -Wmissing-braces false positives on old GCC

We have collected several instances of a workaround for GCC bug 53119,
which caused false-positive compiler warnings.  This bug has long been
fixed, but was still seen on the buildfarm, most recently on lapwing
with gcc (Debian 4.7.2-5).  (The GCC bug tracker mentions that a fix
was backported to 4.7.4 and 4.8.3.)

That compiler no longer runs warning-free since commit 6fdd5d9563, so
we don't need to keep these workarounds.  And furthermore, the
consensus appears to be that we don't want to keep supporting that era
of platform anymore at all.

This reverts the following commits:

d937904cce
506428d091
b449afb582
6392f2a096
bad0763a4d
5e0c761d0a

and makes a few similar fixes to newer code.

Discussion: https://www.postgresql.org/message-id/flat/e170d61f-01ab-4cf9-ab68-91cd1fac62c5%40eisentraut.org
Discussion: https://www.postgresql.org/message-id/flat/CA%2BTgmoYEAm-KKZibAP3hSqbTFTjUd47XtVcf3xSFDpyecXX9uQ%40mail.gmail.com
This commit is contained in:
Peter Eisentraut
2025-03-20 11:25:58 +01:00
parent b7076c1e7f
commit 618c64ffd3
9 changed files with 16 additions and 25 deletions

View File

@@ -265,7 +265,7 @@ BlockRefTableSetLimitBlock(BlockRefTable *brtab,
BlockNumber limit_block)
{
BlockRefTableEntry *brtentry;
BlockRefTableKey key = {{0}}; /* make sure any padding is zero */
BlockRefTableKey key = {0}; /* make sure any padding is zero */
bool found;
memcpy(&key.rlocator, rlocator, sizeof(RelFileLocator));
@@ -300,7 +300,7 @@ BlockRefTableMarkBlockModified(BlockRefTable *brtab,
BlockNumber blknum)
{
BlockRefTableEntry *brtentry;
BlockRefTableKey key = {{0}}; /* make sure any padding is zero */
BlockRefTableKey key = {0}; /* make sure any padding is zero */
bool found;
#ifndef FRONTEND
MemoryContext oldcontext = MemoryContextSwitchTo(brtab->mcxt);
@@ -340,7 +340,7 @@ BlockRefTableEntry *
BlockRefTableGetEntry(BlockRefTable *brtab, const RelFileLocator *rlocator,
ForkNumber forknum, BlockNumber *limit_block)
{
BlockRefTableKey key = {{0}}; /* make sure any padding is zero */
BlockRefTableKey key = {0}; /* make sure any padding is zero */
BlockRefTableEntry *entry;
Assert(limit_block != NULL);
@@ -521,7 +521,7 @@ WriteBlockRefTable(BlockRefTable *brtab,
for (i = 0; i < brtab->hash->members; ++i)
{
BlockRefTableSerializedEntry *sentry = &sdata[i];
BlockRefTableKey key = {{0}}; /* make sure any padding is zero */
BlockRefTableKey key = {0}; /* make sure any padding is zero */
unsigned j;
/* Write the serialized entry itself. */
@@ -616,7 +616,7 @@ BlockRefTableReaderNextRelation(BlockRefTableReader *reader,
BlockNumber *limit_block)
{
BlockRefTableSerializedEntry sentry;
BlockRefTableSerializedEntry zentry = {{0}};
BlockRefTableSerializedEntry zentry = {0};
/*
* Sanity check: caller must read all blocks from all chunks before moving
@@ -1291,7 +1291,7 @@ BlockRefTableWrite(BlockRefTableBuffer *buffer, void *data, int length)
static void
BlockRefTableFileTerminate(BlockRefTableBuffer *buffer)
{
BlockRefTableSerializedEntry zentry = {{0}};
BlockRefTableSerializedEntry zentry = {0};
pg_crc32c crc;
/* Write a sentinel indicating that there are no more entries. */

View File

@@ -687,7 +687,7 @@ pg_pwritev_with_retry(int fd, const struct iovec *iov, int iovcnt, off_t offset)
ssize_t
pg_pwrite_zeros(int fd, size_t size, off_t offset)
{
static const PGIOAlignedBlock zbuffer = {{0}}; /* worth BLCKSZ */
static const PGIOAlignedBlock zbuffer = {0}; /* worth BLCKSZ */
void *zerobuf_addr = unconstify(PGIOAlignedBlock *, &zbuffer)->data;
struct iovec iov[PG_IOV_MAX];
size_t remaining_size = size;