aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog7
-rw-r--r--gdb/p-valprint.c5
2 files changed, 10 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 6db546a..50c6b35 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,10 @@
+2007-09-26 Pierre Muller <muller@ics.u-strasbg.fr>
+
+ * Fix PR pascal/2283
+ p-valprint.c (pascal_val_print): correct current language check.
+ Also print array of char as strings.
+
+
2007-09-26 David Ung <davidu@mips.com>
Maciej W. Rozycki <macro@mips.com>
diff --git a/gdb/p-valprint.c b/gdb/p-valprint.c
index 0f40d6d..2ebbaf8 100644
--- a/gdb/p-valprint.c
+++ b/gdb/p-valprint.c
@@ -87,7 +87,7 @@ pascal_val_print (struct type *type, const gdb_byte *valaddr,
/* For an array of chars, print with string syntax. */
if (eltlen == 1
&& ((TYPE_CODE (elttype) == TYPE_CODE_INT)
- || ((current_language->la_language == language_m2)
+ || ((current_language->la_language == language_pascal)
&& (TYPE_CODE (elttype) == TYPE_CODE_CHAR)))
&& (format == 0 || format == 's'))
{
@@ -170,7 +170,8 @@ pascal_val_print (struct type *type, const gdb_byte *valaddr,
/* For a pointer to char or unsigned char, also print the string
pointed to, unless pointer is null. */
if (TYPE_LENGTH (elttype) == 1
- && TYPE_CODE (elttype) == TYPE_CODE_INT
+ && (TYPE_CODE (elttype) == TYPE_CODE_INT
+ || TYPE_CODE(elttype) == TYPE_CODE_CHAR)
&& (format == 0 || format == 's')
&& addr != 0)
{