aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2022-11-03 10:47:31 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2022-11-03 10:47:31 -0400
commit50467082c9d44c1cb7d8fc105f65c37338d9a5a0 (patch)
tree70f98d2467d5e071ef7a176aa6c61d590fe8e3a0
parentc479492c04eeec0ae1bce270b2bb21851add8a78 (diff)
downloadpostgresql-50467082c9d44c1cb7d8fc105f65c37338d9a5a0.tar.gz
postgresql-50467082c9d44c1cb7d8fc105f65c37338d9a5a0.zip
Add casts to simplehash.h to silence C++ warnings.
Casting the result of palloc etc. to the intended type is more per project style anyway. (The fact that cpluspluscheck doesn't notice these problems is because it doesn't expand any macros, which seems like a troubling shortcoming. Don't have a good idea about improving that.) Back-patch to v13, which is as far as the patch applies cleanly; doesn't seem worth working harder. David Geier Discussion: https://postgr.es/m/aa5d88a3-71f4-3455-11cf-82de0372c941@gmail.com
-rw-r--r--src/include/lib/simplehash.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/include/lib/simplehash.h b/src/include/lib/simplehash.h
index e70d5a3714f..3de8d47e9d7 100644
--- a/src/include/lib/simplehash.h
+++ b/src/include/lib/simplehash.h
@@ -367,9 +367,9 @@ SH_CREATE(MemoryContext ctx, uint32 nelements, void *private_data)
uint64 size;
#ifdef SH_RAW_ALLOCATOR
- tb = SH_RAW_ALLOCATOR(sizeof(SH_TYPE));
+ tb = (SH_TYPE *) SH_RAW_ALLOCATOR(sizeof(SH_TYPE));
#else
- tb = MemoryContextAllocZero(ctx, sizeof(SH_TYPE));
+ tb = (SH_TYPE *) MemoryContextAllocZero(ctx, sizeof(SH_TYPE));
tb->ctx = ctx;
#endif
tb->private_data = private_data;
@@ -379,7 +379,7 @@ SH_CREATE(MemoryContext ctx, uint32 nelements, void *private_data)
SH_COMPUTE_PARAMETERS(tb, size);
- tb->data = SH_ALLOCATE(tb, sizeof(SH_ELEMENT_TYPE) * tb->size);
+ tb->data = (SH_ELEMENT_TYPE *) SH_ALLOCATE(tb, sizeof(SH_ELEMENT_TYPE) * tb->size);
return tb;
}
@@ -424,7 +424,7 @@ SH_GROW(SH_TYPE * tb, uint64 newsize)
/* compute parameters for new table */
SH_COMPUTE_PARAMETERS(tb, newsize);
- tb->data = SH_ALLOCATE(tb, sizeof(SH_ELEMENT_TYPE) * tb->size);
+ tb->data = (SH_ELEMENT_TYPE *) SH_ALLOCATE(tb, sizeof(SH_ELEMENT_TYPE) * tb->size);
newdata = tb->data;
@@ -935,7 +935,7 @@ SH_STAT(SH_TYPE * tb)
double fillfactor;
uint32 i;
- uint32 *collisions = palloc0(tb->size * sizeof(uint32));
+ uint32 *collisions = (uint32 *) palloc0(tb->size * sizeof(uint32));
uint32 total_collisions = 0;
uint32 max_collisions = 0;
double avg_collisions;