diff --git a/src/lib/libast/features/float b/src/lib/libast/features/float index cadf8f201..d927bc167 100644 --- a/src/lib/libast/features/float +++ b/src/lib/libast/features/float @@ -993,6 +993,7 @@ tst - -DSCAN=1 - -lm -DSTRTO=1 - -DMAC=1 - -DDIV=1 - -DEXP=1 - -DADD=1 - -DMPY=1 #include #include #include + #include #if _hdr_float #include #endif @@ -1094,6 +1095,7 @@ tst - -DSCAN=1 - -lm -DSTRTO=1 - -DMAC=1 - -DDIV=1 - -DEXP=1 - -DADD=1 - -DMPY=1 char* e; #endif + memset(&f, '\0', sizeof(f)); #if SCAN if (sscanf(NAN, "%Lg", &f) != 1) return 1; @@ -1103,6 +1105,7 @@ tst - -DSCAN=1 - -lm -DSTRTO=1 - -DMAC=1 - -DDIV=1 - -DEXP=1 - -DADD=1 - -DMPY=1 return 1; #endif list("ldbl", "nan", &f, sizeof(f)); + memset(&f, '\0', sizeof(f)); #if SCAN if (sscanf(INF, "%Lg", &f) != 1) return 1; diff --git a/src/lib/libast/sfio/sfcvt.c b/src/lib/libast/sfio/sfcvt.c index a83b8ef89..8063a5f42 100644 --- a/src/lib/libast/sfio/sfcvt.c +++ b/src/lib/libast/sfio/sfcvt.c @@ -44,6 +44,7 @@ static char *Zero = "0"; #define isnan(n) (fpclassify(n)==FP_NAN) #define isnanl(n) (fpclassify(n)==FP_NAN) #else +#error "This is an invalid test for NaN" #define isnan(n) (memcmp((void*)&n,(void*)&_Sfdnan,sizeof(n))==0) #define isnanl(n) (memcmp((void*)&n,(void*)&_Sflnan,sizeof(n))==0) #endif