summaryrefslogtreecommitdiff
path: root/gdb/language.h
diff options
context:
space:
mode:
authorPer Bothner <per@bothner.com>1994-06-05 01:43:40 +0000
committerPer Bothner <per@bothner.com>1994-06-05 01:43:40 +0000
commite10cfcaa374a1a493e5aa68dc251534800d38124 (patch)
treed383531402da1319216a25ca121bef26f3610d54 /gdb/language.h
parentc4d7d826d72aeabda9a30bf836a2734033c476e3 (diff)
downloadbinutils-gdb-e10cfcaa374a1a493e5aa68dc251534800d38124.tar.gz
Fix value_print, which used to be ostensibly langauge-indepentdent,
but would print pointers and arrays in C syntax. Instead, call a language-specific function. See ChangeLog for details.
Diffstat (limited to 'gdb/language.h')
-rw-r--r--gdb/language.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/gdb/language.h b/gdb/language.h
index 2198a15c72c..a4ec6fb5234 100644
--- a/gdb/language.h
+++ b/gdb/language.h
@@ -144,6 +144,11 @@ struct language_defn
int (*la_val_print) PARAMS ((struct type *, char *, CORE_ADDR, GDB_FILE *,
int, int, int, enum val_prettyprint));
+ /* Print a top-level value using syntax appropriate for this language. */
+
+ int (*la_value_print) PARAMS ((struct value *, GDB_FILE *,
+ int, enum val_prettyprint));
+
/* Longest floating point type */
struct type **la_longest_float;
@@ -247,6 +252,8 @@ set_language PARAMS ((enum language));
#define LA_VAL_PRINT(type,valaddr,addr,stream,fmt,deref,recurse,pretty) \
(current_language->la_val_print(type,valaddr,addr,stream,fmt,deref, \
recurse,pretty))
+#define LA_VALUE_PRINT(val,stream,fmt,pretty) \
+ (current_language->la_value_print(val,stream,fmt,pretty))
/* Return a format string for printf that will print a number in one of
the local (language-specific) formats. Result is static and is