Jakub Jelinek <jj@ultra.linux.cz>
authorJakub Jelinek <jj@ultra.linux.cz>
Mon, 2 Aug 1999 23:23:45 +0000 (01:23 +0200)
committerRichard Henderson <rth@gcc.gnu.org>
Mon, 2 Aug 1999 23:23:45 +0000 (16:23 -0700)
        * real.c (PUT_REAL): Clear unused bytes if long double is IEEE quad.

From-SVN: r28422

gcc/ChangeLog
gcc/real.c

index 69857347cdf2d09e034f11f37161abc1bd1ec5ee..7ec52047468fbcd37dc0d9b26cda130f05f0c5a9 100644 (file)
@@ -1,3 +1,7 @@
+1999-08-02  Jakub Jelinek  <jj@ultra.linux.cz>
+
+       * real.c (PUT_REAL): Clear unused bytes if long double is IEEE quad.
+
 1999-08-02  Jakub Jelinek  <jj@ultra.linux.cz>
 
        * c-decl.c (get_parm_info, store_parm_decls): Change all uses of
index 2d615757af1606fc8f575892a6178a9707bb7afd..a077213309c8b611bef2fbf7379c7814d2369e2e 100644 (file)
@@ -260,7 +260,12 @@ do {                                               \
 #define MAXDECEXP 4932
 #define MINDECEXP -4977
 #define GET_REAL(r,e) bcopy ((char *) r, (char *) e, 2*NE)
-#define PUT_REAL(e,r) bcopy ((char *) e, (char *) r, 2*NE)
+#define PUT_REAL(e,r)                          \
+do {                                           \
+  if (2*NE < sizeof(*r))                       \
+    bzero((char *)r, sizeof(*r));              \
+  bcopy ((char *) e, (char *) r, 2*NE);                \
+} while (0)
 #else
 #define NE 6
 #define MAXDECEXP 4932