Two last comments on your final patch. Here:
+ if (saw_i8)
+ gfc_large_io_int_kind = 8;
+ else
+ gfc_large_io_int_kind = 4;
and there:
+ #ifdef HAVE_GFC_INTEGER_8
+ typedef GFC_INTEGER_8 GFC_LARGE_IO_INT;
+ #else
+ #ifdef HAVE_GFC_INTEGER_4
+ typedef GFC_INTEGER_4 GFC_LARGE_IO_INT;
+ #endif
+ #endif
I'd prefer that we error out immediately if a integer(kind=4) is not
available. The first by a gfc_assert(saw_i4) and the second by an
#error "INTEGER KIND 4 should be available for the library to compile".
About the testcase:
!{ dg-do run }
!{ dg-options "-std=gnu" }
! PR25289 Cannot handle record numbers larger than huge(0_4).
! This test checks that very large record numbers can be used.
! Derived from example in PR.
! Submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org>
integer*1 abyte
integer*8 n
Could you change the integer declarations to integer(kind=.) and remove
the -std=gnu dg-options? I think we're not checkign for something
specificly GNU here...
Thanks a lot for the patch, Jerry.
FX