aboutsummaryrefslogtreecommitdiff
path: root/gdb/ch-lang.c
AgeCommit message (Collapse)AuthorFilesLines
2002-02-132002-02-13 Michael Chastain <mec@shout.net>Michael Chastain1-2/+2
* defs.h: Kill CONST_PTR. * c-lang.h (c_builtin_types): Change CONST_PTR to simple "const". * c-lang.c (c_builtin_types): Likewise. * ch-lang.c (ch_builtin_types): Likewise. * f-lang.c (f_builtin_types): Likewise. * language.c (unknown_builtin_types): Likewise. * m2-lang.c (m2_builtin_types): Likewise. * p-lang.c (pascal_builtin_types): Likewise. * scm-lang.c (c_builtin_types): Likewise.
2001-12-25* cli/cli-script.c (execute_control_command): Replace value_ptrAndrew Cagney1-1/+2
with a struct value pointer. * ch-lang.c (evaluate_subexp_chill): Ditto. * printcmd.c (printf_command): Ditto. * tracepoint.c (set_traceframe_context): Ditto. (encode_actions): Ditto. * eval.c (evaluate_subexp_standard): Ditto.
2001-11-10s/value_ptr/struct value */Andrew Cagney1-18/+19
2001-03-06Update/correct copyright notices.Kevin Buettner1-1/+2
2000-08-112000-08-10 Jimmy Guo <guo@cup.hp.com>Jimmy Guo1-0/+1
* c-lang.c: Set case sensitivity on for c_language_defn, cplus_language_defn, and asm_language_defn. * ch-lang.c: Set case sensitivity on for chill_language_defn. * f-lang.c: Set case sensivitity off for f_language_defn. * jv-lang.c: Set case sensitivity on for java_language_defn. * language.h: Add enum case_mode, case_sensitivity. * language.c: Define case_mode, case_sensitivity. Set case sensitivity on for unknown_language_defn, auto_language_defn, and local_language_defn. (show_case_command,set_case_command,set_case_str): New static func. (set_type_range_case): New static func, replaces set_type_range (). (set_language_command,set_type_command,set_range_command,set_language): Call set_type_range_case (). (language_info): Print case sensitivity setting. (_initialize_language): Add set/show commands for 'case-sensitive'. Set default case mode 'auto'. Set default language 'auto'. * m2-lang.c: Set case sensitivity on for m2_language_defn. * p-lang.c: Set case sensitivity on for pascal_language_defn. * scm-lang.c: Set case sensitivity off for scm_language_defn. * symtab.c (lookup_symbol): Downcase symbol name if case sensivitity is off.
2000-07-30Protoization.Kevin Buettner1-31/+14
2000-05-28PARAMS removal.Kevin Buettner1-10/+7
2000-02-08 Clean up compiler warnings:Jim Kingdon1-2/+1
* bcache.h, bcache.c, c-valprint.c, coffread.c, stabsread.c, stack.c, valprint.c: Change variables to unsigned. * bcache.c: Rearrange to avoid warnings about variables not being set. * c-lang.c, ch-lang.c, f-lang.c, m2-lang.c: Include valprint.h rather than declaring print_max and repeat_count_threashold ourselves (incorrectly). * valprint.h: Do declare repeat_count_threashold. * ch-exp.c: Use default case for internal error. * findvar.c: Don't omit argument type. * symtab.c: Remove unused variable.
2000-02-02import gdb-2000-02-01 snapshotJason Molenda1-7/+7
1999-07-07import gdb-1999-07-07 post reformatJason Molenda1-120/+123
1999-05-25import gdb-1999-05-25 snapshotJason Molenda1-0/+2
1999-04-16Initial creation of sourceware repositorygdb-4_18-branchpointStan Shebs1-0/+675
1999-04-16Initial creation of sourceware repositoryStan Shebs1-675/+0
1998-10-05 * c-lang.c (emit_char c_printchar c_printstr), c-lang.h (c_printstr)Stu Grossman1-2/+4
ch-lang.c (chill_printstr chill_printchar) c-valprint.c (c_val_print) ch-valprint.c (chill_val_print) expprint.c (print_subexp) f-lang.c (f_printstr f_printchar emit_char) f-valprint.c (f_val_print) jv-lang.c (java_printchar java_emit_char) jv-valprint.c (java_value_print java_val_print) language.c (unk_lang_printchar unk_lang_printstr unk_lang_emit_char) language.h (struct language_defn LA_PRINT_STRING LA_EMIT_CHAR) m2-lang.c (m2_printstr m2_printchar emit_char) printcmd.c (print_formatted) scm-lang.c (scm_printstr) valprint.c (val_print_string) value.h (val_print_string): Add emit_char routines to language_desc struct to allow finer control over language specific character output issues. Add character width arg to printstr routines to allow handling of wchar_t/Unicode strings. Fix c_printstr to handle wide characters. Supply width argument to LA_PRINT_STRING and val_print_string. * jv-lang.c (java_object_type dynamics_objfile java_link_class_type get_dynamics_objfile get_java_object_type) jv-lang.h (get_java_object_type): Make lots of things static. * expprint.c (dump_prefix_expression dump_subexp): Move opcode name printing to common routine (op_name). * (dump_subexp): Add support for OP_SCOPE.
1996-08-13 * defs.h: Define CONST_PTR as blank if compiling with MicrosoftStu Grossman1-1/+1
C, else it's `const'. * c-lang.c c-lang.h ch-lang.c f-lang.c language.c m2-lang.c scm-lang.c: Microsoft C can't hack const pointers. Use CONST_PTR macro instead. * configure configure.in defs.h: Use AC_C_CONST to figure out if the compiler supports const. Gets rid of some cruft in defs.h. * dwarf2read.c: <string.h> -> "gdb_string.h" * remote-sim.c: Add prototypes. Fix call to gdbsim_kill. * sparcl-tdep.c (download): Add prototypes to write_routine and start_routine args. * mswin/gdbwin.c: Don't include both varargs.h AND stdarg.h. Get rid of varargs.h Include string.h. * (gdbwin_update gdbwin_fputs regs_changed_f bpt_changed_f update): Fix prototypes, fix calls. * (update): Return value for catch_errors. * (run_execute_command togdb_command_from_tty togdb_command): Cleanup catching of errors from calls to execute_command. Also, dup command string to avoid modifying const strings. * (togdb_breakinfo_i_init togdb_breakinfo_i_next): Use 0 instead of NULL when see if b->address isn't set. * (bi_disable_bpt bi_enable_bpt bi_delete_all bi_delete_breakpoint): Add arg to calls to update. * (gui_command): Add prototype. * (mswin_query): Fix prototype. * (_initialize_gdbwin): Dup string to avoid modifying const. * (info_path togdb_get_info_path): Remove const from decls cuz this can't be const (it points at malloc'ed memory). * (togdb_searchpath): Remove const from path. Dup string to avoid modifying const strings. * rindex -> strrchr. * (gdbwin_list_symbols): Regexp param is const. * Fix lots of refs to psymtabs to deref correct pointers. * (togdb_set_breakpoint_sal): Call set_breakpoint_sal with sal, not &sal. * mswin/gdbwin.h (togdb_searchpath togdb_get_info_path toget_set_info_path): Fix prototypes to match reality. * mswin/gui.cpp: Define _beginthreadex and _endthreadex routines with proper prototypes. * mswin/iface.cpp (gdbwin_fputs): Define with correct number of args. * mswin/ser-win32s.c: Fix defs of min and max. * mswin/serdll32.c (OpenComm16): Make cbInQueue and cbOutQueue be USHORT. * (WriteComm16): Change lpBug from LPVOID to LPCSTR. * mswin/serdll32.h: Fix prototypes for OpenComm16 and WriteComm16.
1996-07-26See gdb ChangeLog entry with header:Fred Fish1-0/+20
Thu Jul 25 19:41:31 1996 Fred Fish <fnf@cygnus.com> for a rather huge set of changes. I was going to put them here, but it made cvs dump core. :-(
1996-03-23 * ch-lang.c (evaluate_subexp_chill): Fix typo.Fred Fish1-1/+1
1996-03-06 * ch-exp.c (parse_primval): Handle CARD, MAX, MIN.Wilfried Moser1-8/+116
(match_string_literal): Handle control sequence. (match_character_literal): Deto. * ch-lang.c (chill_printchar): Change formating of nonprintable characters from C'xx' to ^(num). (chill_printstr): Deto. (value_chill_card, value_chill_max_min): New functions to process Chill's CARD, MAX, MIN. (evaluate_subexp_chill): Process UNOP_CARD, UNOP_CHMAX, UNOP_CHMIN. * expression.h (exp_opcode): Add UNOP_CARD, UNOP_CHMAX, UNOP_CHMIN for Chill's CARD, MAX, MIN. * valarith.c (value_in): Add processing of TYPE_CODE_RANGE and change return type from builtin_type_int to builtin_type_chill_bool.
1996-03-05 * ch-lang.c (evaluate_subexp_chill case MULTI_SUBSCRIPT): ErrorPer Bothner1-9/+8
if "function" is pointer to non-function. Fixes PR chill/9095.
1996-02-16 * demangle.c (is_cplus_marker): New function, checks if aFred Fish1-4/+13
character is one of the commonly used C++ marker characters. * defs.h (is_cplus_marker): Add prototype. * c-typeprint.c (c_type_print_base), ch-lang.c (chill_demangle), cp-valprint.c (cp_print_class_method), mdebugread.c (parse_symbol), stabsread.c (define_symbol, read_member_functions, read_struct_fields), symtab.h (OPNAME_PREFIX_P, VTBL_PREFIX_P, DESTRUCTOR_PREFIX_P), values.c (vb_match): Use is_cplus_marker instead of comparison with CPLUS_MARKER.
1996-01-12 * stabsread.c (define-symbol): Use invisible referencesPer Bothner1-0/+11
for TYPE_CODE_SET and TYPE_CODE_BITSTRING too. * eval.c (evaluate_subexp_standard): When known, use the formal parameter type as the expected type when evaluating arg expressions. * ch-lang.c (evaluate_subexp_chill): Likewise (for MULTI_SUBSCRIPT). This (with a fix to gcc/config/sparc/sparc.h) fixes PR chill/8742.
1995-11-30 * gdbtypes.h (enum type_code): Added TYPE_CODE_TYPEDEF.Per Bothner1-20/+24
(check_typedef): New prototype. (CHECK_TYPEDEF): New macro. (TYPE_DUMMY_RANGE): Removed. * gdbtypes.c (get_discrete_bounds): Fix paren error; make more robust. (create_array_type): Don't force_to_range_type; users of the array are responsible for handling non-range index types. (create_set_type): Likewise. (force_to_range_type): Removed. (check_typedef): New function handles stub types and typedefs. (check_stub_type): Just call check_typedef. (To be removed.) (recursive_dump_type): Handle TYPE_CODE_TYPEDEF. * ch-lang.c (type_lower_upper): Use get_discrete_bounds. (evaluate_subexp_chill): Handle string repetition. Re-arrange to handle EVAL_AVOID_SIDE_EFFECTS better. * ch-typeprint.c (chill_type_print_base): Handle TYPE_CODE_TYPEDEF. Pass show=0 in recursive calls various places. (case TYPE_CODE_ARRAY): Don't require index type to have TYPE_CODE_RANGE. (case TYPE_CODE_RANGE): Don't need to support TYPE_DUMMY_RANGE. * gdbtypes.c, ch-lang.c, ch-typeprint.c (numerous places): Add check_typedef/CHECK_TYPEDEF as needed.
1995-11-29 * expression.h (enum exp_opcode): Add BINOP_RANGE.Per Bothner1-0/+4
* expprint.c (dump_expression): Support BINOP_RANGE. * eval.c (evaluate_subexp_standard): Handle BINOP_RANGE (as error). (case MULTI_SUBSCRIPT): Fix broken f77 value->int ad hoc conversion. * ch-lang.c (chill_op_print_tab): Support BINOP_RANGE. (evaluate_subexp_chill): Error on BINOP_COMMA.
1995-08-02Update FSF address.Fred Fish1-1/+1
1995-07-18 * dache.c (struct dcache_block): Change data member from unsigned charFred Fish1-1/+14
to char, since everything passed in and out of dcache is char or casted to appropriate type anyway. (dcache_alloc): Move assignment of db out of test and combine separate tests into if-else. (dcache_peek_byte): Change ptr from unsigned char* to char*. (dcache_peek_byte): Remove now unnecessary cast in read_memory call. (dcache_peek): Change cast of incoming data arg. (dcache_poke): Change cast of addr of incoming data arg. (dcache_info): Mask data passed to printf_filtered to lsbyte only. (dcache_info): Change printf_filtered arg from "% 2x" to " %2x". * target.c (debug_to_thread_alive): Change return type to int and return zero, for type compatibility with other *_thread_alive funcs. (cleanup_target): Change cast of ignore function to match type of the to_thread_alive member. * defs.h (error_hook): Add ATTR_NORETURN. * defs.h (NORETURN, ATTR_NORETURN): Switch from volatile to __attribute__ method with gcc 2.7, to avoid gcc 2.6.3 bug. * remote.c (remote_wait): Cast first arg to strtol, strchr, and strncmp to "const char *" from "unsigned char *". (remote_wait): Cast arg to putpkt and strcpy from "unsigned char *" to "char *". (remote_wait): Change printf format for long arg from "%d" to "%ld". (getpkt): Remove unused variable "bp". (remote_fetch_word, remote_store_word): Ifdef out apparently unused functions. * breakpoint.c (watchpoint_check): Removed unused variables "saved_level" and "saved_frame". * valops.c (value_arg_coerce): Add other enum TYPE_CODE_* and default cases to switch for completeness. * infrun.c (wait_for_inferior): Enclose "have_waited" label in #ifdef that matches the one in which it is referenced. * ser-unix.c (hardwire_noflush_set_tty_state): Enclose otherwise unused variable "state" in #ifdef that matches one in which it is referenced. * eval.c (evaluate_subexp_standard): Remove unused variable "var". * eval.c (evaluate_subexp_standard): Remove unused variable "tmp_symbol". * valarith.c (value_subscript): Remove unused variable "lowerbound", which is redeclared in a nested scope prior to use. * printcmd.c (print_frame_nameless_args): Use "%ld" to print long arg, not "%d". * {mem-break.c, remote-pa.c, remote.c, saber.suppress}: Remove unused static var "check_break_insn_size". * buildsym.c (finish_block): Add other enum LOC_* and default cases to switch for completeness. ch-lang.c (type_lower_upper): Removed unused label "retry". Add other enum TYPE_* and default cases to switch for completeness. * f-typeprint.c (f_type_print_args): Ifdef out unused function that may be used someday when Fortran support is complete. * ch-valprint.c (chill_print_type_scalar): Add other enum TYPE_* and default cases to switch for completeness. (chill_val_print): Remove unused local var "high_bound" that is redeclared in a nested scope prior to use. (chill_var_print): Use "%ld" to print long arg, not "%d". * regex.c (re_compile_fastmap, re_match_2): Add remaining enum types and default to switches for completeness. * minsyms.c (lookup_minimal_symbol_text): Delete unused variable "trampoline_symbol". (prim_record_minimal_symbol_and_info): Return NULL rather than trash. * elfread.c (elf_symtab_read): Don't dereference NULL returns from record_minimal_symbol_and_info. * f-lang.c (saved_function_list_end): Ifdef out unused variable that may be used someday. * f-valprint.c (f_val_print): Remove unused local variable "straddr".
1995-06-14 * parser-defs.h (enum precedence): Added PREC_BUILTIN_FUNCTION.Per Bothner1-1/+109
* expression.h (enum exp_opcode): Added UNOP_LOWER, UNOP_UPPER, UNUP_LENGTH. * expprint.c (dump_expression): Handle the new exp_opcodes. (print_subexp): Handle PREC_BUILTIN_FUNCTION. (print_simple_m2_func): Removed. (print_subexp): Remove support for Modula2 builtin functions. * m2-lang.c (m2_op_print_tab): Add support for builtin functions. * ch-exp.y: Parse LOWER, UPPER, and LENGTH builtins. (write_lower_upper_value): Convenience function for LOWER and UPPER. (upper_lower_argument, length_argument): Removed non-terminals. * ch-lang.c (chill_op_print_tab): Entries for UPPER, LOWER, LENGTH. (type_lower_upper): New function. Calculate LOWER/UPPER of type. (value_chill_length): New function. Calcalate LENGTH of ARRAY/STRING. (evaluate_subexp_chill): Handle UNOP_LOWER, UNOP_UPPER, UNOP_LENGTH. This fixes PR 5015 (and 5826 which is a duplicate).
1995-02-12 * valops.c (value_arg_coerce): Use VALUE_TYPE not SYMBOL_TYPE onJim Kingdon1-0/+4
arg, it is a value not a symbol. gcc -Wall lint: * eval.c: Move declaration of evaluate_subexp_with_coercion from here.. * expression.h: ..to here. * expression.h: Include value.h. * ch-lang.c (evaluate_subexp_chill): Add default case in switch.
1995-02-12 * language.h (struct language_defn): New field evaluate_exp.Per Bothner1-1/+50
* c-lang.c (c_language_defn, cplus_language_defn, asm_langauge_defn), f-lang.c (f_language_defn), language.c (unknown_language_defn, auto_language_defn, local_language_defn), m2-lang.c (m2_language_defn): Set evaluate_exp to evaluate_subexp_standard. * ch-lang.c (evaluate_subexp_chill): New function. Chill-specific support for MULTI_SUBSCRIPT. (chill_language_defn): Set evaluate_exp to evaluate_subexp_chill. * eval.c (enum noside): Move from here .... * expression.h (enum noside): ... to here. (evaluate_subexp_standard): New prototype. * eval.c (evaluate_subexp): Renamed to evaluate_subexp_standard. Removed lo-longer-needed test for chill_varying_type. (evaluate_subexp): New. Calls exp->language_defn->evaluate_exp.
1995-02-02 * eval.c (evaluate_subexp): Clean up handling ofPer Bothner1-15/+2
OP_UNDETERMINED_ARGLIST (no backtracking, more general). * f-valprint.c (f_val_print): Print TYPE_CODE_STRING using LA_PRINT_STRING, and not val_print_string (which reads from inferior). * ch-lang.c (chill_is_varying_struct), ch-lang.h: Remve function duplicate function made redundant by chill_varying_type. Re-write of f77 string and complex number support: * language.h (struct language_defn): New fields string_lower_bound and string_char_type. * c-lang.c (c_language_defn, cplus_language_defn, asm_language_defn), language.c (unknown_language_defn, auto_language_defn, local_language_defn), m2-lang.c (m2_language_defn), f-lang.c (f_language_defn), ch-lang.c (chill_language_defn): Set new fields. * gdbtypes.c (create_string_type): Use new string_char_type field. * valops.c (value_string): Use new string_lower_bound field. * defs.h (TARGET_COMPLEX_BIT, TARGET_DOUBLE_COMPLEX_BIT): Removed. * f-lang.c (f_create_fundamental_type, _initialize_f_language), m2-lang.c (m2_create_fundamental_type), gdbtypes.c (_initialize_gdbtypes): Set TYPE_TARGET_TYPE of complex types. Set their TYPE_CODEs to TYPE_CODE_COMPLEX. * mdebugread.c (mdebug_type_complex, mdebug_type_double_complex): Removed. Use builtin_type_complex and builtin_type_double_complex. * gdbtypes.h (enum type_code): Removed TYPE_CODE_LITERAL_STRING and TYPE_CODE_LITERAL_COMPLEX. * c-typeprint.c, f-typeprint.c, f-valprint.c, eval.c: Removed uses of TYPE_CODE_LITERAL_STRING and TYPE_CODE_LITERAL_COMPLEX. * gdbtypes.c, gdbtypes.h (f77_create_literal_complex_type, f77_create_literal_string_type): Removed. * value.h (VALUE_LITERAL_DATA, VALUE_SUBSTRING_MEMADDR, VALUE_SUBSTRING_MYADDR): Removed. * expression.h (enum exp_opcode): Rename OP_F77_LITERAL_COMPLEX to OP_COMPLEX. * parse.c: Update accordingly. * f-valprint.c (f77_print_cmplx): Removed. (f_val_print case TYPE_CODE_COMPLEX): Re-write to use print_floating. * f-exp.y (STRING_LITERAL): Use OP_STRING instead of OP_ARRAY. * eval.c (evaluate_subexp): For case OP_ARRAY, don't call f77_value_literal_string. * valops.c, value.h (f77_value_literal_string, f77_value_substring, f77_assign_from_literal_string, f77_assign_from_literal_complex): Removed. (value_assign): No longer need to handle literal types. * valops.c (f77_value_literal_complex), value.h: Re-written and renamed to value_literal_complex. Last arg is now a (complex) type. * valops.c (f77_cast_into_complex): Re-written and renamed to cast_into_complex. * eval.c (evaluate_subexp): Update accordingly.
1995-01-26 * language.h (struct language_defn): New field c_style_arrays.Per Bothner1-0/+1
* 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).
1994-09-16 * ch-exp.y: Get rid of some extra non-terminals, and movePer Bothner1-0/+2
their rules into primitive_value. * ch-lang.c (chill_op_print_tab): Add '->'. * expprint.c (print_subexp): Recognize unary postfix operator.
1994-08-04 * ch-lang.c (chill_language_defn): Ditto.Stan Shebs1-1/+0
1994-06-05 Fix value_print, which used to be ostensibly langauge-indepentdent,Per Bothner1-0/+1
but would print pointers and arrays in C syntax. Instead, call a language-specific function. See ChangeLog for details.
1994-03-30 * ch-lang.c (chill_is_varying_struct): Magic string isPer Bothner1-1/+1
was "<var_length>" is now "__var_length" (more portable).
1994-02-03 * printcmd.c (decode_format): Don't blithely set the size forJim Kingdon1-2/+0
an address to 'w'. Make it 'g' or 'h', depending on TARGET_PTR_BIT. * defs.h: Just typedef CORE_ADDR to bfd_vma. Include bfd.h. If BFD64, make a LONGEST a BFD_HOST_64_BIT. * defs.h (longest_to_int): Don't depend on CC_HAS_LONG_LONG; instead always just check against INT_MIN and INT_MAX (this also fixes things if sizeof (long) > sizeof (int), e.g. Alpha). * config/pa/tm-hppa.h, config/i386/sun386.h, config/rs6000/tm-rs6000.h: Don't define LONGEST or BUILTIN_TYPE_LONGEST. * gdbtypes.h: Remove BUILTIN_TYPE_LONGEST and BUILTIN_TYPE_UNSIGNED_LONGEST. * language.h, c-lang.c, ch-lang.c, m2-lang.c: Remove longest_int and longest_unsigned_int. * value.h (struct value): Just align to LONGEST, rather than worrying about CC_HAS_LONG_LONG. * valarith.c (value_binop, _initialize_valarith): Figure out type ourself based on sizeof (LONGEST) rather than relying on BUILTIN_TYPE_LONGEST. The point is that we don't depend on CC_HAS_LONG_LONG anymore. * valprint.c (val_print_type_code_int): Just call extract_unsigned_integer directly, rather than going through unpack_long. * printcmd.c (decode_format): Remove code which would sometimes change 'g' size to 'w' for integers. print_scalar_formatted handles printing huge integers well enough, thank you.
1994-01-23 * ch-exp.y (match_string_literal): Allow a zero-length string.Per Bothner1-1/+1
* ch-lang.c (chill_printstr): Don't print zero-length string funny.
1993-12-21 * ch-exp.y (match_dollar_tokens): Fix off-by-one bug.Per Bothner1-6/+21
* ch-lang.c (chill_is_varying_struct), ch-lang.h: New function. * ch-lang.c (chill_printstr): Use double quotes, not single quotes. * ch-typeprint.c (chill_type_print_base): Handle TYPE_CODE_BITSTRING. Improve printing of TYPE_CODE_STRING, TYPE_CODE_SET, and TYPE_CODE_STRUCT (including checking chill_is_varying_struct). Print TYPE_DUMMY_RANGE by printing its TYPE_TARGET_TYPE. Handle TYPE_CODE_ENUM. * ch-valprint.c (chill_val_print): Handle TYPE_CODE_BITSTRING. For TYPE_CODE_STRING, never print address. Handle VARYING strings. * gdbtypes.c (force_to_range_type): New. * gdbtypes.c (create_set_type): Make work, following Chill layout. * gdbtypes.h (TYPE_LOW_BOUND, TYPE_HIGH_BOUND, TYPE_DUMMY_RANGE): New. * stabsread.c (read_type): Distinguish string and bitstring from char-array and set. * valarith.c (value_subscript), valops.c (value_coerce_array): Handle STRINGs as well as ARRAYs. * valarith.c (value_bit_index): Fix think. Use new macros.
1993-11-15 * gdbtypes.h: Add TYPE_FLAG_TARGET_STUB.Jim Kingdon1-3/+3
* gdbtypes.c (check_stub_type): On TYPE_FLAG_TARGET_STUB, do what cleanup_undefined_types does for arrays, except we clear TYPE_FLAG_TARGET_STUB if we fix up the type. * stabsread.c (cleanup_undefined_types): Add comments about how doing arrays here is no longer the clean way to do it. (read_array_type): Set TYPE_FLAG_TARGET_STUB as well as calling add_undefined_type. * c-typeprint.c, ch-typeprint.c: Move call to check_stub_type outside switch so it happens for all type codes. * cp-valprint.c (cp_print_value_fields): Recurse to val_print, instead of c_val_print, so that check_stub_type gets called. * gdbtypes.h, gdbtypes.c, m2-lang.c, ch-lang.c, c-lang.c: Remove TYPE_FLAG_SIGNED. It was inconsistently set, never checked (except in recursive_dump_type), and is pointless.
1993-11-01Change the stream argument to _filtered to GDB_FILE *.Thomas Lord1-2/+2
Change all references to stdout/stderr to gdb_stdout/gdb_stderr. Replace all calls to stdio output functions with calls to corresponding _unfiltered functions (`fprintf_unfiltered') Replaced calls to fopen for output to gdb_fopen. Added sufficient goo to utils.c and defs.h to make the above work. The net effect is that stdio output functions are only directly used in utils.c. Elsewhere, the _unfiltered and _filtered functions and GDB_FILE type are used. In the near future, GDB_FILE will stop being equivalant to FILE. The semantics of some commands has changed in a very subtle way: called in the right context, they may cause new occurences of prompt_for_continue() behavior. The testsuite doesn't notice anything like this, though. Please respect this change by not reintroducing stdio output dependencies in the main body of gdb code. All output from commands should go to a GDB_FILE. Target-specific code can still use stdio directly to communicate with targets.
1993-09-28Tue Sep 28 09:45:38 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)Jim Kingdon1-3/+3
* symmisc.c (print_symbol): Use %02x not %2x for LOC_CONST_BYTES. Clean up problems with targets and hosts that have 64 bit longs and pointers and 32 bit ints. * breakpoint.c, buildsym.c, c-lang.c, c-valprint.c, ch-lang.c, ch-valprint.c, core.c, cp-valprint.c, dbxread.c, exec.c, expprint.c, gdbtypes.c, infcmd.c, language.c, language.h, m2-lang.c, maint.c, mips-tdep.c, mipsread.c, partial-stab.h, printcmd.c, remote-vx.c, solib.c, source.c, stack.c, symfile.c, symmisc.c, symtab.c, valops.c, valprint.c, xcoffexec.c: Change all printf formats from %x to %lx if outputting an address. Change la_*_format to use long format. local_hex_string, local_hex_string_custom now take an unsigned long argument, change all callers. * coffread.c (read_coff_symtab): Remove superfluous cast for complaint output. * dbxread.c (end_psymtab): Cast MSYMBOL_INFO to long, not int. * findvar.c, value.h (write_register): Change register value to long. * gdbtypes.h (struct type): Change `bitsize' to long as TYPE_FIELD_STATIC_PHYSNAME uses this field as a pointer. * inferior.h (struct inferior_status): Change type of stop_pc to CORE_ADDR. * language.h (local_octal_string, local_octal_string_custom): Remove prototype, the functions are neither defined nor used. * mipsread.c (parse_symbol): Use temporary variable for bitsize as f->bitsize is a long now. * objfiles.c (add_to_objfile_sections, build_objfile_section_table): Use unsigned long casts instead of int for abusing sections_end pointer as integer. * stack.c (parse_frame_specification): Change type of `args' to CORE_ADDR for SETUP_ARBITRARY_FRAME. * printcmd.c (make_vasize): Allow redefinition via MAKEVA_SIZE. * mipsread.c (parse_type): Alpha cc now supports the t->continued bit, update algorithm to match the way the compiler uses it.
1993-02-23 * ch-lang.c (chill_create_fundamental_type): Track compilerFred Fish1-2/+6
change that now emits debugging info with the type long for Chill longs. * dwarfread.c (read_tag_string_type): Rewrite to allow forward references of TAG_string_type DIEs in user defined types.
1993-01-21 * eval.c (evaluate_subexp): Fix OP_ARRAY, remove code thatFred Fish1-0/+1
implied that "no side effects" was nonfunctional. * eval.c (evaluate_subexp): Add BINOP_CONCAT case to deal with character string and bitstring concatenation. * expprint.c (dump_expression): Add case for BINOP_CONCAT. * expression.h (exp_opcode): Add BINOP_CONCAT. * gdbtypes.h (type_code): Add TYPE_CODE_BITSTRING. * language.c (string_type): Add function to determine if a type is a string type. * language.c (binop_type_check): Add case for BINOP_CONCAT. * valarith.c (value_concat): New function to concatenate two values, such as character strings or bitstrings. * valops.c (value_string): Remove error stub and implement function body. * value.h (value_concat): Add prototype. **** start-sanitize-chill **** * ch-exp.y (operand_3): Add actions for SLASH_SLASH (//). * ch-exp.y (yylex): Recognize SLASH_SLASH. * ch-lang.c (chill_op_print_tab): Add SLASH_SLASH (//) as BINOP_CONCAT. **** end-sanitize-chill ****
1993-01-05 * expression.h (exp_opcode): Add BINOP_MOD.Fred Fish1-1/+2
* eval.c (evaluate_subexp): Handle new BINOP_MOD. * expprint.c (dump_expression): Handle new BINOP_MOD. * language.c (binop_type_check): Handle new BINOP_MOD. * main.c (float_handler): Re-enable float handler when hit. * valarith.c (language.h): Include, need current_language. * valarith.c (TRUNCATION_TOWARDS_ZERO): Define default macro for integer divide truncates towards zero for negative results. * valarith.c (value_x_binop): Handle BINOP_MOD if seen. * valarith.c (value_binop): Allow arithmetic operations on TYPE_CODE_CHAR variables. Add case to handle new BINOP_MOD. **** start-sanitize-chill **** * ch-exp.y (operand_4): Add useful actions for MOD and REM. * ch-exp.y (tokentab3): Add MOD and REM. * ch-exp.y (yylex): Set innermost_block for symbols found in local scopes. Return LOCATION_NAME for local symbols. * ch-lang.c (chill_op_print_tab): Fix MOD entry to use BINOP_MOD instead of BINOP_REM. Add REM entry, using BINOP_REM. **** end-sanitize-chill ****
1993-01-01 * tm-sun4sol2.h (CPLUS_MARKER): Remove, now set in tm-sysv4.h.Fred Fish1-0/+24
* tm-sysv4.h (CPLUS_MARKER): By default, g++ uses '.' as the CPLUS_MARKER for all SVR4 systems, so follow suit. * defs.h (strdup_demangled): Remove prototype. * dwarfread.c (enum_type, synthesize_typedef): Use new macro SYMBOL_INIT_LANGUAGE_SPECIFIC. * dwarfread.c (new_symbol): Use SYMBOL_INIT_DEMANGLED_NAME. * minsyms.c (install_minimal_symbols, prim_record_minimal_symbol, prim_record_minimal_symbol_and_info): Use new macro SYMBOL_INIT_LANGUAGE_SPECIFIC. * minsyms.c (install_minimal_symbols): Use new macro SYMBOL_INIT_DEMANGLED_NAME. * stabsread.c (define_symbol): Use new macro SYMBOL_INIT_DEMANGLED_NAME. * symfile.c (add_psymbol_to_list, add_psymbol_addr_to_list): Use new macro SYMBOL_INIT_DEMANGLED_NAME. * symfile.h (ADD_PSYMBOL_VT_TO_LIST): Use new macro SYMBOL_INIT_DEMANGLED_NAME. * symmisc.c (dump_msymbols, dump_symtab, print_partial_symbol): SYMBOL_DEMANGLED_NAME now tests language itself. * symtab.c (COMPLETION_LIST_ADD_SYMBOL): SYMBOL_DEMANGLED_NAME now tests language itself. * symtab.h (SYMBOL_CPLUS_DEMANGLED_NAME): New macro that does what SYMBOL_DEMANGLED_NAME used to do, directly access the C++ mangled name member in the language dependent portion of a symbol. * symtab.h (SYMBOL_DEMANGLED_NAME): New macro that returns the mangled name member appropriate for a symbol's language. * symtab.h (SYMBOL_SOURCE_NAME, SYMBOL_LINKAGE_NAME, SYMBOL_MATCHES_NAME, SYMBOL_MATCHES_REGEXP): SYMBOL_DEMANGLED_NAME now tests language itself. * symtab.h (SYMBOL_INIT_LANGUAGE_SPECIFIC): New macro that initializes language dependent portion of symbol. * symtab.h (SYMBOL_INIT_DEMANGLED_NAME): New macro that demangles and caches the demangled form of symbol names. * utils.c (fputs_demangled, fprint_symbol): Use current language to select an appropriate demangling algorithm. * utils.c (strdup_demangled): Remove, no longer used. **** start-sanitize-chill **** * symtab.h (SYMBOL_CHILL_DEMANGLED_NAME): New macro that directly access the Chill mangled name member in the language dependent portion of a symbol. * ch-lang.c (chill_demangle): New function, simple demangler. * defs.h (chill_demangle): Add prototype. * symtab.h (language_dependent_info): Add struct for Chill. **** end-sanitize-chill ****
1992-12-18 * Makefile.in (VERSION): Bump to 4.7.4.Fred Fish1-6/+11
* Makefile.in (SFILES_MAINDIR): Add typeprint.c, c-typeprint.c, m2-typeprint.c, c-valprint.c cp-valprint.c m2-valprint.c. * Makefile.in (HFILES): Add valprint.h. * Makefile.in (OBS): Add typeprint.o, c-typeprint.o, m2-typeprint.o, c-valprint.o, cp-valprint.o m2-valprint.o. * typeprint.c, typeprint.h: New files for language independent type printing functions. * c-typeprint.c, m2-typeprint.c: New files for language dependent type printing functions and definitions. * valprint.h: New include file for language independent value printing definitions. * c-valprint.c, cp-valprint.c, m2-valprint.c: New files for language dependent value printing functions. * c-exp.y (production ptype): Add range_type variable and use new create_range_type function. * c-exp.y (tokentab2, tokentab3), c-lang.c (c_op_print_tab), infcmd.c (path_var_name), language.c (unk_op_print_tab), m2-lang.c (m2_op_print_tab): Change from ANSI-obsolescent "const static" to ANSI-conformant "static const". * c-exp.y (c_create_fundamental_type): Remove unused nbytes. * c-exp.y (c_language_defn, cplus_language_defn): Add c_print_type, and c_val_print. * c-lang.h (c_print_type, c_val_print): Add prototypes. * coffread.c (decode_type): Add range_type variable and call to new create_range_type function. * complaints.c (complain): Remove unused val variable. * complaints.c (_initialize_complaints): Make it void. * convex-tdep.c (value_of_trapped_internalvar): Add range_type variable and call new create_range_type function. * defs.h (enum val_prettyprint): Move enum from value.h to here so we can avoid having to include value.h just for prototypes that need the enum (thanks ANSI). * dwarfread.c (struct_type): Local anonymous_size variable is only used if !BITS_BIG_ENDIAN. * dwarfread.c (decode_subscript_data_item): Add rangetype variable and call new create_range_type function. * elfread.c (elf_symfile_read): Remove unused dbx and text_sect variables. * eval.c (evaluate_subexp): Remove unused local variable name and the statement with no side effects that initializes it. * expprint.c (print_subexp): Change local_printstr to LA_PRINT_STRING. * gdbtypes.c (create_range_type): New function that creates a range type using code fragments from object file readers as an example of what has to be initialized. * gdbtypes.c (create_array_type): Removed index_type, low_bound, and high_bound parameters, replaced with a single range_type parameter. Change function body to use passed in range_type rather than handcrafting one. * gdbtypes.h (create_range_type): Add prototype. * gdbtypes.h (create_array_type): Change prototype parameters. * infrun.c (normal_stop): Remove unused local variables tem and c. * infrun.c (hook_stop_stub): Return 0 rather than random value. * language.c (unk_lang_print_type, unk_lang_val_print): Add stub functions that call error if called. * language.c (unknown_language_defn, auto_language_defn, local_language_defn): Add initializers unk_lang_print_type and unk_lang_val_print. * language.h (struct language_defn): Reformat for larger comments, add la_print_type and la_val_print members. Add LA_PRINT_TYPE and LA_VAL_PRINT macros. Change local_printchar to LA_PRINT_CHAR and local_printstr to LA_PRINT_STRING. * m2-lang.c (m2_create_fundamental_type): Remove unused local variable nbytes. * m2-lang.c (m2_language_defn): Add initializers m2_print_type and m2_val_print. * m2-lang.h (m2_print_type, m2_val_print): Add prototypes. * main.c (execute_command): Remove unused local variable cmdlines. * main.c (echo_command), stabsread.c (read_type), printcmd.c (clear_displays), symmisc.c (block_depth), values.c (clear_value_history): Make testing of truth value of assignment result explicit. * mipsread.c (upgrade_type): Update FIXME to include future use of create_range_type. * printcmd.c (ptype_command, ptype_eval, whatis_command, whatis_exp, maintenance_print_type): Move prototypes and functions to new typeprint.c. * printcmd.c (_initialize_printcmd): Move add_com calls for ptype_command and whatis_command to new typeprint.c. * ser-bsd.c (serial_open): Remove unused variable sgttyb. * source.c (find_source_lines): Local variable c only used when LSEEK_NOT_LINEAR is defined. * stabsread.c (read_array_type): Use new create_range_type function. * stabsread.c (read_range_type): Add new index_type variable and call new create_range_type function rather than handcrafting range types. * symmisc.c (type_print_1): Change usages to LA_PRINT_TYPE. * symtab.c (typedef_print usages): Use c_typedef_print, renamed. * symtab.c (type_print_base usages): Use c_type_print_base. * symtab.c (type_print_varspec_prefix usages): Use c_type_print_varspec_prefix. * symtab.c (type_print_method_args usages): Use cp_type_print_method_args. * valprint.c: Completely ripped apart and the fragments used to create c-valprint.c, cp-valprint.c, m2-valprint.c, and valprint.h. Remaining stuff is language independent. * value.h (struct fn_field): Forward declare for prototypes. * value.h (type_print_1): Remove prototype. * value.h (enum val_prettyprint): Moved to defs.h. * value.h (typedef_print): Prototype renamed to c_typedef_print. * value.h (baseclass_offset): Add prototype. **** start-sanitize-chill **** * Makefile.in (SFILES_MAINDIR): Add ch-typeprint.c, ch-valprint.c. * Makefile.in (OBS): Add ch-typeprint.o, ch-valprint.o. * ch-typeprint.c: New file for language dependent type printing. * ch-valprint.c: New file for language dependent value printing. * ch-exp.y (parse_number): Remove prototype and stub function. * ch-exp.y (decode_integer_literal): Removed unused digits and temp variables. * ch-exp.y (convert_float): Completely ifdef out for now. * ch-exp.y (tokentab2, tokentab3, tokentab4, tokentab5), ch-lang.c (chill_op_print_tab): Change from ANSI-obsolescent "const static" to ANSI-conformant "static const". * ch-exp.y (yylex): Add unhandled storage class enumeration literals to switch statement for completeness. * ch-lang.c (chill_create_fundamental_types): Remove unused nbytes variable. Change dummy type to 2 bytes to match int. Handle FT_VOID types gratuituously added to chill DWARF by compiler. Change FT_CHAR case to generate an TYPE_CODE_CHAR type rather than a one byte TYPE_CODE_INT type. * ch-lang.c (chill_language_defn): Add chill_print_type and chill_val_print. * ch-lang.h (chill_print_type, chill_val_print): Add prototypes. **** end-sanitize-chill ****
1992-12-09 * c-lang.c (_initialize_c_language): Name changed fromFred Fish1-1/+1
_initialize_c_exp. * m2-lang.c (_initialize_m2_language): Name changed from _initialize_m2_exp. * m2-lang.c (_initialize_m2_language): Change malloc to xmalloc since it is no longer inside m2-exp.y, where it was remapped by Makefile. **** start-sanitize-chill **** * ch-lang.c (_initialize_chill_language): Name changed from _initialize_chill_exp. **** end-sanitize-chill ****
1992-12-09 * c-exp.y, m2-exp.y: Migrate code that has nothing to do withFred Fish1-0/+306
expression parsing into c-lang.c and m2-lang.c respectively. * c-lang.c, m2-lang.c: New files, code migrated from c-exp.y and m2-exp.y respectively. * c-lang.h, m2-lang.h: New files, internal interfaces between c-* and m2-* files respectively. * Makefile.in (SFILES_MAINDIR): Add c-lang.c, m2-lang.c. * Makefile.in (HFILES): Add c-lang.h, m2-lang.h. * Makefile.in (OBS): Add c-lang.o, m2-lang.o. * expression.h (struct block): Forward declaration for prototypes. * language.h (struct objfile): Forward declaration for prototypes. **** start-sanitize-chill **** * Makefile.in (SFILES_MAINDIR): Add ch-lang.c. * Makefile.in (HFILES): Add ch-lang.h. * Makefile.in (OBS): Add ch-lang.o. * ch-exp.y: Migrate code that has nothing to do with expression parsing into ch-lang.c. * ch-lang.c: New file, code migrated from c-exp.y. * ch-lang.h: New file, internal interface between ch-* files. **** end-sanitize-chill ****