On Thu, Nov 23, 2017 at 3:58 PM, Ramana Radhakrishnan <ramana....@googlemail.com> wrote: > On Thu, Nov 23, 2017 at 1:53 PM, Janne Blomqvist > <blomqvist.ja...@gmail.com> wrote: >> On Thu, Nov 23, 2017 at 2:56 PM, Janne Blomqvist >> <blomqvist.ja...@gmail.com> wrote: >>> On Wed, Nov 22, 2017 at 8:10 PM, Thomas Koenig <tkoe...@netcologne.de> >>> wrote: >>>> Hi Janne, >>>> >>>>>> So, attached is a new version of the patch. No update >>>>>> on the ChangeLog. OK for trunk? >>>>> >>>>> Yup, just really fix the copyright and string length stuff first. Thanks! >>>> >>>> >>>> Committed as rev 255070 with the fixes. >>>> >>>> There are still some files which mention Fortran 95, that can be fixed >>>> later. >>> >>> That's ok, I wasn't expecting you to fix all such occurences, just the >>> new files you added. >>> >>> However, to continue my nitpicking (sorry!), it seems that in many >>> cases compare_fcn still takes an integer length argument. Could you >>> make that gfc_charlen_type as well? Or maybe size_t, since the >>> argument is passed straight to memcmp{_char4} anyway? Please consider >>> such a patch pre-approved. Thanks! >> >> To continue, the prototypes are inconsistent too, e.g. m4/minloc2s.m4: >> >> extern 'rtype_name` 'name`'rtype_qual`_'atype_code` ('atype` * const >> restrict, int); >> export_proto('name`'rtype_qual`_'atype_code`); >> >> 'rtype_name` >> 'name`'rtype_qual`_'atype_code` ('atype` * const restrict array, >> gfc_charlen_type len) >> >> See also lines 77/82, and in maxloc2s.m4 lines 42/46 and 144/149. >> >> Thanks to James and Ramana on IRC, who are working on some target >> where gfc_charlen_type != int and reported build failures. > > > I'm not sure why gfc_charlen_type != int on arm-none-eabi and > aarch64-none-elf which is where both James and I saw the issue. > > The issue hasn't appeared on any of our cross-linux builds.
gfc_charlen_type is typedeffed to a GFC_INTEGER_4, which comes from kinds.h generated during the library build time (see libgfortran/mk-kinds-h.sh). At least on x86_64-pc-linux-gnu this is then a int32_t which is a typedef for plain int. HTH. -- Janne Blomqvist