summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Young <dyoung@hdfgroup.org>2019-11-22 21:31:00 (GMT)
committerDavid Young <dyoung@hdfgroup.org>2019-11-22 21:31:00 (GMT)
commitedd529714302f9ed218d1e61d5f496fa788d10b4 (patch)
tree7850c0ea94463e851cb6b1a892643df5ebfa162a
parent6d5ec83fc3537ec7fc6e9f1802ae36ef9b54acb4 (diff)
downloadhdf5-edd529714302f9ed218d1e61d5f496fa788d10b4.zip
hdf5-edd529714302f9ed218d1e61d5f496fa788d10b4.tar.gz
hdf5-edd529714302f9ed218d1e61d5f496fa788d10b4.tar.bz2
Quiet some more maybe-uninitialized warnings---each is a false positive,
*sigh*. This is more code that may not compile with VS2010, *sigh sigh*.
-rw-r--r--src/H5Fsuper_cache.c6
-rw-r--r--src/H5HFcache.c7
-rw-r--r--src/H5HGcache.c6
3 files changed, 16 insertions, 3 deletions
diff --git a/src/H5Fsuper_cache.c b/src/H5Fsuper_cache.c
index ecb98ed..b5e4255 100644
--- a/src/H5Fsuper_cache.c
+++ b/src/H5Fsuper_cache.c
@@ -349,7 +349,11 @@ H5F__cache_superblock_get_final_load_size(const void *_image, size_t image_len,
{
const uint8_t *image = _image; /* Pointer into raw data buffer */
H5F_superblock_cache_ud_t *udata = (H5F_superblock_cache_ud_t *)_udata; /* User data */
- H5F_super_t sblock; /* Temporary file superblock */
+ /* Temporary file superblock, initialized because GCC 5.5 does not
+ * realize that H5F__superblock_prefix_decode() initializes it.
+ * TBD condition on compiler version.
+ */
+ H5F_super_t sblock = {.super_vers = 0, .sizeof_addr = 0, .sizeof_size = 0};
htri_t ret_value = SUCCEED; /* Return value */
FUNC_ENTER_STATIC
diff --git a/src/H5HFcache.c b/src/H5HFcache.c
index 2d1c1f2..39dc554 100644
--- a/src/H5HFcache.c
+++ b/src/H5HFcache.c
@@ -406,7 +406,12 @@ static herr_t
H5HF__cache_hdr_get_final_load_size(const void *_image, size_t image_len,
void *_udata, size_t *actual_len)
{
- H5HF_hdr_t hdr; /* Temporary fractal heap header */
+ /* Temporary fractal heap header, initialized because GCC 5.5 does
+ * not realize that the H5HF__hdr_prefix_decode() call is sufficient
+ * to initialize. GCC 8 is clever enough to see that the variable
+ * is initialized. TBD condition on compiler version.
+ */
+ H5HF_hdr_t hdr = {.filter_len = 0};
const uint8_t *image = (const uint8_t *)_image; /* Pointer into into supplied image */
H5HF_hdr_cache_ud_t *udata = (H5HF_hdr_cache_ud_t *)_udata; /* User data for callback */
herr_t ret_value = SUCCEED; /* Return value */
diff --git a/src/H5HGcache.c b/src/H5HGcache.c
index 29e88df..a6c9996 100644
--- a/src/H5HGcache.c
+++ b/src/H5HGcache.c
@@ -205,7 +205,11 @@ static herr_t
H5HG__cache_heap_get_final_load_size(const void *image, size_t image_len,
void *udata, size_t *actual_len)
{
- H5HG_heap_t heap; /* Global heap */
+ /* Global heap, initialized because GCC 5.5 cannot see that
+ * H5HG__hdr_deserialize() initializes. TBD condition on compiler
+ * version.
+ */
+ H5HG_heap_t heap = {.size = 0};
herr_t ret_value = SUCCEED; /* Return value */
FUNC_ENTER_STATIC