From a1fe10691cf7ce1737aa420191efb996f7fe5657 Mon Sep 17 00:00:00 2001 From: Raymond Lu Date: Wed, 4 Sep 2013 17:09:23 -0500 Subject: [svn-r24098] Issue 8500 - H5detect.c has trouble to find info for long double with GCC 4.8. A user in the forum found the problem in H5detect.c (uninitialized buffer) and provided the solution. I checked it in yesterday. But it turned out to be a false fix. So I'm back it out. Tested on jam - reverse of changes. --- config/gnu-flags | 5 +++++ src/H5detect.c | 2 -- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/config/gnu-flags b/config/gnu-flags index a79cc72..eef38ad 100644 --- a/config/gnu-flags +++ b/config/gnu-flags @@ -156,6 +156,11 @@ case "$cc_vendor-$cc_version" in gcc-3.*) PROD_CFLAGS="-O3" ;; + gcc-4.8.*) + # temp patch: when GCC 4.8.x is used for Linux, dt_arith fails if -O* + # is used. Remove any -O* flags. (AKC HDFFV-8500) + PROD_CFLAGS="`echo $PROD_CFLAGS | sed -e 's/-O[0-3]*//'`" + ;; gcc-4.*) PROD_CFLAGS="-O3" ;; diff --git a/src/H5detect.c b/src/H5detect.c index 25fe778..2bf0d2d 100644 --- a/src/H5detect.c +++ b/src/H5detect.c @@ -238,7 +238,6 @@ precision (detected_t *d) unsigned char *_x; \ \ HDmemset(&INFO, 0, sizeof(INFO)); \ - HDmemset(INFO.perm, 0, sizeof(INFO.perm)); \ INFO.varname = #VAR; \ INFO.size = sizeof(TYPE); \ \ @@ -298,7 +297,6 @@ precision (detected_t *d) char *_mesg; \ \ HDmemset(&INFO, 0, sizeof(INFO)); \ - HDmemset(INFO.perm, 0, sizeof(INFO.perm)); \ INFO.varname = #VAR; \ INFO.size = sizeof(TYPE); \ \ -- cgit v0.12