From acc4efdecd034e70feffeb15799745880ce2c45b Mon Sep 17 00:00:00 2001 From: Per Bothner Date: Thu, 26 Jan 1995 02:32:25 +0000 Subject: * language.h (struct language_defn): New field c_style_arrays. * language.c (unknown_language_defn, auto_language_defn, local_language_defn), c-lang.c (c_language_defn, cplus_language_defn, asm_language_defn): Set c_style_arrays to true. * m2-lang.c (m2_language_defn), ch-lang.c (chill_language_defn), f-lang.c (f_language_defn): Set c_style_arrays to false. * valops.c (value_string): If c_style_array is not set, allocate string in gdb (not inferior) using allocate_value. * value.h (COERCE_ARRAY), valops.c (value_addr, value_arg_coerce): Only call value_coerce_array if current_language->c_style_arrays. * values.c: Add #include "language.h". (Needed for COERCE_ARRAY.) * valops.c (chill_varying_type): New predicate. * valops.c (value_cast): Support assigning a fixed string or array to a variable string/array structure. * valarith.c (value_subscripted_rvalue): Extra parameter lowerbound. Check index>=lowerbound, and then add lowerbound to index here, instead of in caller. Generalize to arbitrary lval_types. (value_subscript): Use enhanced value_subscripted_rvalue if c_style_arrays is false (and index is in range). --- gdb/language.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'gdb/language.h') diff --git a/gdb/language.h b/gdb/language.h index 7ab04db..6122bbf 100644 --- a/gdb/language.h +++ b/gdb/language.h @@ -172,6 +172,11 @@ struct language_defn const struct op_print *la_op_print_tab; + /* Zero if the language has first-class arrays. True if there are no + array values, and array objects decay to pointers, as in C. */ + + char c_style_arrays; + /* Add fields above this point, so the magic number is always last. */ /* Magic number for compat checking */ -- cgit v1.1