From ebf85e50c00c7c0f1fa418c53ccaeff8ec982db9 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Tue, 11 Apr 2006 09:15:00 +0200 Subject: io.h (st_parameter_dt): Revert 2005-12-10 change to u.pad, fix comment. * 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/io/io.h | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'libgfortran/io') diff --git a/libgfortran/io/io.h b/libgfortran/io/io.h index b829ad44005..cfb94019633 100644 --- a/libgfortran/io/io.h +++ b/libgfortran/io/io.h @@ -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 -- cgit v1.2.1