+2020-02-03  Alok Kumar Sharma  <AlokKumar.Sharma@amd.com>
+
+       * f-valprint.c (f77_print_array_1): Changed datatype of index
+       variable to LONGEST from int to enable it to contain bound
+       values correctly.
+
 2020-02-03  Maciej W. Rozycki  <macro@wdc.com>
 
        * riscv-linux-nat.c [!NFPREG] (NFPREG): New macro.
 
   struct type *range_type = TYPE_INDEX_TYPE (check_typedef (type));
   CORE_ADDR addr = address + embedded_offset;
   LONGEST lowerbound, upperbound;
-  int i;
+  LONGEST i;
 
   get_discrete_bounds (range_type, &lowerbound, &upperbound);
 
 
+2020-02-03  Alok Kumar Sharma  <AlokKumar.Sharma@amd.com>
+
+       * gdb.fortran/array-bounds-high.exp: New file.
+       * gdb.fortran/array-bounds-high.f90: New file.
+
 2020-02-03  Lukas Durfina  <ldurfina@tachyum.com>  (tiny change)
 
        * gdb.base/fileio.c: Remove #include of <sys/errno.h>.
 
--- /dev/null
+# Copyright 2020 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# This file is part of the gdb testsuite.  It contains test to ensure that
+# array bounds accept LONGEST.
+
+if { [skip_fortran_tests] } { return -1 }
+
+set testfile "array-bounds-high"
+standard_testfile .f90
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {f90 debug}]} {
+    return -1
+}
+
+if {![runto MAIN__]} {
+    perror "Could not run to breakpoint `MAIN__'."
+    continue
+}
+
+gdb_test "until 21" {21.*print.*}
+
+# Lets check whether too high (with - sign) indexed array are printed correctly
+gdb_test "print arr1" {.*\(11, 11\).*}
+
+# Lets check whether too high (with + sign) indexed array are printed correctly
+gdb_test "print arr2" {.*\(22, 22\).*}
 
--- /dev/null
+! Copyright 2020 Free Software Foundation, Inc.
+
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 3 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License
+! along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+program main
+      integer(4) :: arr1(-4294967297_8:-4294967296_8)
+      integer(4) :: arr2(4294967296_8:4294967297_8)
+      arr1 = 11
+      arr2 = 22
+      print *, 'arr1 = ', arr1
+      print *, 'arr2 = ', arr2
+end