diff -Naurp insight-7.12.50.20170416.orig/gdb/f-lang.h insight-7.12.50.20170416.new/gdb/f-lang.h
--- insight-7.12.50.20170416.orig/gdb/f-lang.h 2017-04-16 12:50:42.704709525 +0100
+++ insight-7.12.50.20170416.new/gdb/f-lang.h 2017-04-16 12:51:39.948242006 +0100
@@ -49,9 +49,9 @@ struct common_block
struct symbol *contents[1];
};
-extern int f77_get_upperbound (struct type *);
+extern LONGEST f77_get_upperbound (struct type *);
-extern int f77_get_lowerbound (struct type *);
+extern LONGEST f77_get_lowerbound (struct type *);
extern void f77_get_dynamic_array_length (struct type *);
diff -Naurp insight-7.12.50.20170416.orig/gdb/f-typeprint.c insight-7.12.50.20170416.new/gdb/f-typeprint.c
--- insight-7.12.50.20170416.orig/gdb/f-typeprint.c 2017-03-04 04:09:18.000000000 +0100
+++ insight-7.12.50.20170416.new/gdb/f-typeprint.c 2017-04-16 12:53:44.404399699 +0100
@@ -161,7 +161,7 @@ f_type_print_varspec_suffix (struct type
int show, int passed_a_ptr, int demangled_args,
int arrayprint_recurse_level)
{
- int upper_bound, lower_bound;
+ LONGEST upper_bound, lower_bound;
/* No static variables are permitted as an error call may occur during
execution of this function. */
@@ -194,7 +194,7 @@ f_type_print_varspec_suffix (struct type
lower_bound = f77_get_lowerbound (type);
if (lower_bound != 1) /* Not the default. */
- fprintf_filtered (stream, "%d:", lower_bound);
+ fprintf_filtered (stream, "%s:", plongest (lower_bound));
/* Make sure that, if we have an assumed size array, we
print out a warning and print the upperbound as '*'. */
@@ -204,7 +204,7 @@ f_type_print_varspec_suffix (struct type
else
{
upper_bound = f77_get_upperbound (type);
- fprintf_filtered (stream, "%d", upper_bound);
+ fprintf_filtered (stream, "%s", plongest (upper_bound));
}
if (TYPE_CODE (TYPE_TARGET_TYPE (type)) != TYPE_CODE_ARRAY)
@@ -273,7 +273,7 @@ void
f_type_print_base (struct type *type, struct ui_file *stream, int show,
int level)
{
- int upper_bound;
+ LONGEST upper_bound;
int index;
QUIT;
@@ -355,7 +355,7 @@ f_type_print_base (struct type *type, st
else
{
upper_bound = f77_get_upperbound (type);
- fprintf_filtered (stream, "character*%d", upper_bound);
+ fprintf_filtered (stream, "character*%s", plongest (upper_bound));
}
break;
diff -Naurp insight-7.12.50.20170416.orig/gdb/f-valprint.c insight-7.12.50.20170416.new/gdb/f-valprint.c
--- insight-7.12.50.20170416.orig/gdb/f-valprint.c 2017-04-16 12:50:42.705709534 +0100
+++ insight-7.12.50.20170416.new/gdb/f-valprint.c 2017-04-16 12:51:39.950242024 +0100
@@ -43,7 +43,7 @@ LONGEST f77_array_offset_tbl[MAX_FORTRAN
/* Array which holds offsets to be applied to get a row's elements
for a given array. Array also holds the size of each subarray. */
-int
+LONGEST
f77_get_lowerbound (struct type *type)
{
if (TYPE_ARRAY_LOWER_BOUND_IS_UNDEFINED (type))
@@ -52,7 +52,7 @@ f77_get_lowerbound (struct type *type)
return TYPE_ARRAY_LOWER_BOUND_VALUE (type);
}
-int
+LONGEST
f77_get_upperbound (struct type *type)
{
if (TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED (type))