summaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorAndrew Burgess <andrew.burgess@embecosm.com>2019-02-16 16:39:29 +0000
committerAndrew Burgess <andrew.burgess@embecosm.com>2019-04-30 10:17:01 +0100
commitbbe75b9d00cc6f0694ff26569505c349d55e35f1 (patch)
tree832a194eb5b6d357635f22cd129b6c0802ff783e /gdb
parent1db455a76c39e2be6a8a9613b7a19439f24722d0 (diff)
downloadbinutils-gdb-bbe75b9d00cc6f0694ff26569505c349d55e35f1.tar.gz
gdb/fortran: Print 'void' type in lower case
For a program compiled with gfortran the base type names are written as lower cases in the DWARF, and so GDB will display them as lower case. Additionally, in most places where GDB supplies its own type names (for example all of the types defined in f-lang.c in `build_fortran_types`), the type names are all lower case. An exception to this is where GDB prints the void type for Fortran. In this case GDB uses upper case. I'm not aware of any reason why this type should merit special attention, and it looks our of place when printing types, so this commit changes from 'VOID' to 'void' to match all the other types. gdb/ChangeLog: * f-lang.c (build_fortran_types): Change name of void type to lower case. * f-typeprint.c (f_type_print_base): Print the name of the void type, rather than a fixed string. * f-valprint.c (f_decorations): Use lower case void string. gdb/testsuite/ChangeLog: * gdb.fortran/exprs.exp (test_convenience_variables): Expect lower case void string.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog8
-rw-r--r--gdb/f-lang.c2
-rw-r--r--gdb/f-typeprint.c6
-rw-r--r--gdb/f-valprint.c2
-rw-r--r--gdb/testsuite/ChangeLog5
-rw-r--r--gdb/testsuite/gdb.fortran/exprs.exp2
6 files changed, 21 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 2ccda008f06..f0e152006a5 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,4 +1,12 @@
2019-04-30 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * f-lang.c (build_fortran_types): Change name of void type to
+ lower case.
+ * f-typeprint.c (f_type_print_base): Print the name of the void
+ type, rather than a fixed string.
+ * f-valprint.c (f_decorations): Use lower case void string.
+
+2019-04-30 Andrew Burgess <andrew.burgess@embecosm.com>
Chris January <chris.january@arm.com>
* dwarf2read.c (dwarf2_init_complex_target_type): Use different
diff --git a/gdb/f-lang.c b/gdb/f-lang.c
index cc4e154f47a..9da6fdb3e1c 100644
--- a/gdb/f-lang.c
+++ b/gdb/f-lang.c
@@ -689,7 +689,7 @@ build_fortran_types (struct gdbarch *gdbarch)
= GDBARCH_OBSTACK_ZALLOC (gdbarch, struct builtin_f_type);
builtin_f_type->builtin_void
- = arch_type (gdbarch, TYPE_CODE_VOID, TARGET_CHAR_BIT, "VOID");
+ = arch_type (gdbarch, TYPE_CODE_VOID, TARGET_CHAR_BIT, "void");
builtin_f_type->builtin_character
= arch_type (gdbarch, TYPE_CODE_CHAR, TARGET_CHAR_BIT, "character");
diff --git a/gdb/f-typeprint.c b/gdb/f-typeprint.c
index a0e34b3058d..26ea9014135 100644
--- a/gdb/f-typeprint.c
+++ b/gdb/f-typeprint.c
@@ -328,7 +328,11 @@ f_type_print_base (struct type *type, struct ui_file *stream, int show,
break;
case TYPE_CODE_VOID:
- fprintfi_filtered (level, stream, "VOID");
+ {
+ gdbarch *gdbarch = get_type_arch (type);
+ struct type *void_type = builtin_f_type (gdbarch)->builtin_void;
+ fprintfi_filtered (level, stream, "%s", TYPE_NAME (void_type));
+ }
break;
case TYPE_CODE_UNDEF:
diff --git a/gdb/f-valprint.c b/gdb/f-valprint.c
index 37b0ed5176d..264416ec540 100644
--- a/gdb/f-valprint.c
+++ b/gdb/f-valprint.c
@@ -199,7 +199,7 @@ static const struct generic_val_print_decorations f_decorations =
")",
".TRUE.",
".FALSE.",
- "VOID",
+ "void",
"{",
"}"
};
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 5bbf15185e2..23047c155ba 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2019-04-30 Andrew Burgess <andrew.burgess@embecosm.com>
+ * gdb.fortran/exprs.exp (test_convenience_variables): Expect lower
+ case void string.
+
+2019-04-30 Andrew Burgess <andrew.burgess@embecosm.com>
+
* gdb.fortran/complex.exp: Expand.
* gdb.fortran/complex.f: Renamed to...
* gdb.fortran/complex.f90: ...this, and extended to add more
diff --git a/gdb/testsuite/gdb.fortran/exprs.exp b/gdb/testsuite/gdb.fortran/exprs.exp
index 3b24f7c135f..8649d0b246d 100644
--- a/gdb/testsuite/gdb.fortran/exprs.exp
+++ b/gdb/testsuite/gdb.fortran/exprs.exp
@@ -141,7 +141,7 @@ proc test_convenience_variables {} {
gdb_test "print (\$foo = 32) + 4" " = 36" \
"Use convenience variable assignment in arithmetic expression"
- gdb_test "print \$bar" " = VOID" \
+ gdb_test "print \$bar" " = void" \
"Print contents of uninitialized convenience variable"
}