summaryrefslogtreecommitdiff
path: root/gcc/fortran/dump-parse-tree.c
diff options
context:
space:
mode:
authortkoenig <tkoenig@138bc75d-0d04-0410-961f-82ee72b054a4>2005-09-09 18:21:45 +0000
committertkoenig <tkoenig@138bc75d-0d04-0410-961f-82ee72b054a4>2005-09-09 18:21:45 +0000
commit65f9e5fc730d0ed1763b00efb53144ab9d5b0b1d (patch)
tree56c7562709009df08fd688c5642a73bd009d5144 /gcc/fortran/dump-parse-tree.c
parentd14b4c1584e4c22fd175c0932bd93f222403072d (diff)
downloadgcc-65f9e5fc730d0ed1763b00efb53144ab9d5b0b1d.tar.gz
2005-09-09 Thomas Koenig <Thomas.Koenig@online.de>
* gfortran.h: Add iomsg to gfc_open, gfc_close, gfc_filepos, gfc_inquire and gfc_dt. * dump-parse-tree.c (gfc_show_code_node): Add iomsg for open, close, file positioning, inquire and namelist. * io.c (io_tag): Add tag_iomsg. (resolve_tag): Add standards warning for iomsg. (match_open_element): Add iomsg. (gfc_free_open): Add iomsg. (gfc_resolve_open): Add iomsg. (gfc_free_close): Add iomsg. (match_close_element): Add iomsg. (gfc_resolve_close): Add iomsg. (gfc_free_filepos): Add iomsg. (match_file_element): Add iomsg. (gfc_resolve_filepos): Add iostat and iomsg. (match-dt_element): Add iomsg. (gfc_free_dt): Add iomsg. (gfc_resolve_dt): Add iomsg. (gfc_free_inquire): Add iomsg. (match_inquire_element): Add iomsg. (gfc_resolve_inquire): Add iomsg. * trans_io.c: Add ioparm_iomsg and ioparm_iomsg_len. (gfc_build_io_library_fndecls): Add iomsg as last field. (gfc_trans_open): Add iomsg. (gfc_trans_close): Add iomsg. (build_fileos): Call set_string for iomsg. (gfc_trans_inquire): Add iomsg. (build_dt): Add iomsg. 2005-09-09 Thomas Koenig <Thomas.Koenig@online.de> * io/io.h: Add iomsg as last field of st_parameter. * runtime/error.c (generate_error): If iomsg is present, copy the message there. 2005-09-09 Thomas Koenig <Thomas.Koenig@online.de> * gfortran.dg/iomsg_1.f90: New test case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104102 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/dump-parse-tree.c')
-rw-r--r--gcc/fortran/dump-parse-tree.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/fortran/dump-parse-tree.c b/gcc/fortran/dump-parse-tree.c
index 8f039d2f364..2d708f7efed 100644
--- a/gcc/fortran/dump-parse-tree.c
+++ b/gcc/fortran/dump-parse-tree.c
@@ -1084,6 +1084,11 @@ gfc_show_code_node (int level, gfc_code * c)
gfc_status (" UNIT=");
gfc_show_expr (open->unit);
}
+ if (open->iomsg)
+ {
+ gfc_status (" IOMSG=");
+ gfc_show_expr (open->iomsg);
+ }
if (open->iostat)
{
gfc_status (" IOSTAT=");
@@ -1153,6 +1158,11 @@ gfc_show_code_node (int level, gfc_code * c)
gfc_status (" UNIT=");
gfc_show_expr (close->unit);
}
+ if (close->iomsg)
+ {
+ gfc_status (" IOMSG=");
+ gfc_show_expr (close->iomsg);
+ }
if (close->iostat)
{
gfc_status (" IOSTAT=");
@@ -1190,6 +1200,11 @@ gfc_show_code_node (int level, gfc_code * c)
gfc_status (" UNIT=");
gfc_show_expr (fp->unit);
}
+ if (fp->iomsg)
+ {
+ gfc_status (" IOMSG=");
+ gfc_show_expr (fp->iomsg);
+ }
if (fp->iostat)
{
gfc_status (" IOSTAT=");
@@ -1214,6 +1229,11 @@ gfc_show_code_node (int level, gfc_code * c)
gfc_show_expr (i->file);
}
+ if (i->iomsg)
+ {
+ gfc_status (" IOMSG=");
+ gfc_show_expr (i->iomsg);
+ }
if (i->iostat)
{
gfc_status (" IOSTAT=");
@@ -1360,6 +1380,12 @@ gfc_show_code_node (int level, gfc_code * c)
gfc_status (" FMT=%d", dt->format_label->value);
if (dt->namelist)
gfc_status (" NML=%s", dt->namelist->name);
+
+ if (dt->iomsg)
+ {
+ gfc_status (" IOMSG=");
+ gfc_show_expr (dt->iomsg);
+ }
if (dt->iostat)
{
gfc_status (" IOSTAT=");