diff options
-rw-r--r-- | src/H5Fsuper_cache.c | 6 | ||||
-rw-r--r-- | src/H5HFcache.c | 7 | ||||
-rw-r--r-- | src/H5HGcache.c | 6 |
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 |