io.h (st_parameter_dt): Revert 2005-12-10 change to u.pad, fix comment.
authorJakub Jelinek <jakub@redhat.com>
Tue, 11 Apr 2006 07:15:00 +0000 (09:15 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Tue, 11 Apr 2006 07:15:00 +0000 (09:15 +0200)
* io/io.h (st_parameter_dt): Revert 2005-12-10 change to
u.pad, fix comment.
(check_st_parameter_dt): New compile time assert.

From-SVN: r112850

libgfortran/ChangeLog
libgfortran/io/io.h

index 4f2c6ceb3debd99504080ef4fb90a79c23944607..867645d240395a69092ce39b3d0fd8762e0b6414 100644 (file)
@@ -1,3 +1,9 @@
+2006-04-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * io/io.h (st_parameter_dt): Revert 2005-12-10 change to
+       u.pad, fix comment.
+       (check_st_parameter_dt): New compile time assert.
+
 2006-04-10  Jakub Jelinek  <jakub@redhat.com>
 
        PR libgfortran/24685
index b829ad44005e3f62a843a03b084ee6eed3cd5516..cfb9401963305ffe6bf2eda272873a2eb6390120 100644 (file)
@@ -436,13 +436,19 @@ typedef struct st_parameter_dt
          char value[32];
          gfc_offset size_used;
        } p;
-      /* This pad size must be greater than or equal to the pad_size declared in
-        trans-io.c (gfc_build_io_library_fndecls)  */
-      char pad[16 * sizeof (char *) + 34 * sizeof (int)];
+      /* This pad size must be equal to the pad_size declared in
+        trans-io.c (gfc_build_io_library_fndecls).  The above structure
+        must be smaller or equal to this array.  */
+      char pad[16 * sizeof (char *) + 32 * sizeof (int)];
     } u;
 }
 st_parameter_dt;
 
+/* Ensure st_parameter_dt's u.pad is bigger or equal to u.p.  */
+extern char check_st_parameter_dt[sizeof (((st_parameter_dt *) 0)->u.pad)
+                                 >= sizeof (((st_parameter_dt *) 0)->u.p)
+                                 ? 1 : -1];
+
 #undef CHARACTER1
 #undef CHARACTER2