On Sat, Jul 26, 2025 at 11:57:50PM +0800, Yuao Ma wrote: > > On 7/26/2025 11:25 PM, Steve Kargl wrote: > > On Sat, Jul 26, 2025 at 09:14:43PM +0800, Yuao Ma wrote: > > > + add_sym_4s ("split", GFC_ISYM_SPLIT, CLASS_IMPURE, > > > + BT_UNKNOWN, 0, GFC_STD_F2023, > > > + gfc_check_split, NULL, gfc_resolve_split, > > > + "string", BT_CHARACTER, dc, REQUIRED, INTENT_IN, > > > + "set", BT_CHARACTER, dc, REQUIRED, INTENT_IN, > > > + "pos", BT_INTEGER, di, REQUIRED, INTENT_INOUT, > > > + "back", BT_LOGICAL, dl, OPTIONAL, INTENT_IN); > > > + > > > > This looks incorrect. SPLIT is a simple subroutine. (Yes, > > I know gfortran does not have the simple concept, yet). > > See Fortran 2023, 15.8: > > > > A simple procedure is also a pure procedure and is subject to the > > constraints for pure procedures (15.7). A simple procedure can also > > be an elemental procedure. > > > > Shouldn't you have CLASS_PURE? > > That was indeed my oversight. Initially, I believed split had an argument > with INTENT_INOUT, which suggested a side effect. However, I then discovered > move_alloc also has an INOUT argument, but with the CLASS_PURE type. This > has been corrected in the new patch.
Thanks. > > The rest of the patch looks Ok. > > Thanks for the review! If the new patch looks good for trunk and there are > no other objections, could you please help me merge it? I haven't committed a patch since the transition from subversion to git. I'm not paid to learn yet-another-SCCS. I've become fairly well versed with 'rm -rf gcc && git clone URL gcc'. Hopefully, someone else can do the commit for you or you can get 'write after approval' access to the source tree. -- steve