re PR fortran/48298 ([F03] User-Defined Derived-Type IO (DTIO))
authorPaul Thomas <pault@gcc.gnu.org>
Thu, 22 Sep 2016 11:26:59 +0000 (11:26 +0000)
committerPaul Thomas <pault@gcc.gnu.org>
Thu, 22 Sep 2016 11:26:59 +0000 (11:26 +0000)
2016-09-22  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/48298
* gfortran.h : Place the pseudo operators INTRINSIC_FORMATTED
and INTRINSIC_UNFORMATTED after the sentinel in enum
gfc_intrinsic_op so that they do not appear as place holders
in module_write.
* interface.c (dtio_op): Comment on the special nature of the
pseudo operators INTRINSIC FORMATTED and INTRINSIC_UNFORMATTED.

From-SVN: r240349

gcc/fortran/gfortran.h
gcc/fortran/interface.c

index c3fb6ed5975cfb5d2f663c304a370deffb834b23..912f5fb368223ac0784f1cce3db8c94b541b807e 100644 (file)
@@ -178,9 +178,10 @@ enum gfc_intrinsic_op
   INTRINSIC_EQ_OS, INTRINSIC_NE_OS, INTRINSIC_GT_OS, INTRINSIC_GE_OS,
   INTRINSIC_LT_OS, INTRINSIC_LE_OS,
   INTRINSIC_NOT, INTRINSIC_USER, INTRINSIC_ASSIGN, INTRINSIC_PARENTHESES,
-  /* User defined derived type pseudo operator.  */
-  INTRINSIC_FORMATTED, INTRINSIC_UNFORMATTED,
-  GFC_INTRINSIC_END /* Sentinel */
+  GFC_INTRINSIC_END, /* Sentinel */
+  /* User defined derived type pseudo operators. These are set beyond the
+     sentinel so that they are excluded from module_read and module_write.  */
+  INTRINSIC_FORMATTED, INTRINSIC_UNFORMATTED
 };
 
 /* This macro is the number of intrinsic operators that exist.
index 09f5a539e7c4c2a8f0093e135b511837a40639bf..9a19fa731b0c309eab7c686a1eaa7bc15c3f4ce0 100644 (file)
@@ -115,7 +115,9 @@ fold_unary_intrinsic (gfc_intrinsic_op op)
 }
 
 
-/* Return the operator depending on the DTIO moded string.  */
+/* Return the operator depending on the DTIO moded string.  Note that
+   these are not operators in the normal sense and so have been placed
+   beyond GFC_INTRINSIC_END in gfortran.h:enum gfc_intrinsic_op.  */
 
 static gfc_intrinsic_op
 dtio_op (char* mode)