aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/io.c
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2008-12-07 01:10:42 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2008-12-07 01:10:42 +0000
commitf5c64803b9d08a3e94ede19cf16a40ca6702751f (patch)
tree3345a5a58a9bd3ee5568c7ec5d7b9aaa69a7a2ad /gcc/fortran/io.c
parent1dff2af7dfd2c9582c3ae9a7c9dc6d1a799ef358 (diff)
downloadgcc-f5c64803b9d08a3e94ede19cf16a40ca6702751f.zip
gcc-f5c64803b9d08a3e94ede19cf16a40ca6702751f.tar.gz
gcc-f5c64803b9d08a3e94ede19cf16a40ca6702751f.tar.bz2
re PR fortran/38425 (I/O: POS= compile-time diagnostics)
2008-12-06 Jerry DeLisle <jvdelisle@gcc.gnu.org> 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
Diffstat (limited to 'gcc/fortran/io.c')
-rw-r--r--gcc/fortran/io.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/gcc/fortran/io.c b/gcc/fortran/io.c
index 97f304b..98112fc 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)