From: Jerry DeLisle Date: Sun, 7 Dec 2008 01:10:42 +0000 (+0000) Subject: re PR fortran/38425 (I/O: POS= compile-time diagnostics) X-Git-Tag: releases/gcc-4.4.0~1320 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f5c64803b9d08a3e94ede19cf16a40ca6702751f;p=thirdparty%2Fgcc.git re PR fortran/38425 (I/O: POS= compile-time diagnostics) 2008-12-06 Jerry DeLisle PR fortran/38425 * io.c (check_io_constraints): Check constraints on REC=, POS=, and internal unit with POS=. Fix punctuation on a few error messages. From-SVN: r142534 --- diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 0fed3d295707..7f53a8ee1d01 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2008-12-06 Jerry DeLisle + + PR fortran/38425 + * io.c (check_io_constraints): Check constraints on REC=, POS=, and + internal unit with POS=. Fix punctuation on a few error messages. + 2008-12-06 Janus Weil PR fortran/38415 diff --git a/gcc/fortran/io.c b/gcc/fortran/io.c index 97f304b19170..98112fcb8a8f 100644 --- a/gcc/fortran/io.c +++ b/gcc/fortran/io.c @@ -2931,6 +2931,10 @@ if (condition) \ io_constraint (dt->rec != NULL, "REC tag at %L is incompatible with internal file", &dt->rec->where); + + io_constraint (dt->pos != NULL, + "POS tag at %L is incompatible with internal file", + &dt->pos->where); io_constraint (unformatted, "Unformatted I/O not allowed with internal unit at %L", @@ -3169,7 +3173,7 @@ if (condition) \ io_constraint (dt->format_expr, "IO spec-list cannot contain both NAMELIST group name " - "and format specification at %L.", + "and format specification at %L", &dt->format_expr->where); io_constraint (dt->format_label, @@ -3178,22 +3182,26 @@ if (condition) \ io_constraint (dt->rec, "NAMELIST IO is not allowed with a REC= specifier " - "at %L.", &dt->rec->where); + "at %L", &dt->rec->where); io_constraint (dt->advance, "NAMELIST IO is not allowed with a ADVANCE= specifier " - "at %L.", &dt->advance->where); + "at %L", &dt->advance->where); } if (dt->rec) { io_constraint (dt->end, "An END tag is not allowed with a " - "REC= specifier at %L.", &dt->end_where); + "REC= specifier at %L", &dt->end_where); io_constraint (dt->format_label == &format_asterisk, "FMT=* is not allowed with a REC= specifier " - "at %L.", spec_end); + "at %L", spec_end); + + io_constraint (dt->pos, + "POS= is not allowed with REC= specifier " + "at %L", &dt->pos->where); } if (dt->advance)