This patch adds Objective-C language support to gdb based upon a patch provided by Apple Computer Inc from their version of gdb. Note that the patch only contains changes to existing files. New files (objc-lang.h, objc-lang.c, objc-exp.y) and a gdb.objc testsuite directory are located at ftp://ftp.gnustep.org/pub/gnustep/contrib/gdb-objc-patch.tar.gz gdb ChangeLog -------------- 2002-09-17 Adam Fedor * Add Objective-C language support to gdb (mostly from a patch provided by Apple Computer, Inc.). * Makefile.in: Add rules for objc files. Extra dependencies for changed files * breakpoint.c (parse_breakpoint_sals): Ignore ObjC method names when checking default. * completer.c (skip_quoted): Take additional argument. * completer.h: Update definition of skip_quoted. * c-exp.y: Update for change in skip_quoted. * jv-exp.y: Likewise. * p-exp.y: Likewise. * defs.h (enum language): Add language_objc. Update definitions. * elfread.c (elf_symtab_read): Skip ObjC symbols. * expression.h: New ops NSSTRING, SELECTOR, MSGCALL, and SELF. * eval.c (evaludate_subexp): Remove static attribute. (evaluate_subexp_standard): Handle new ops. * expprint.c (print_subexp): Likewise. (op_name): Likewise. * parse.c: Likewise. * infrun.c (handle_inferior_event): Step into ObjC method call. * language.c (binop_result_type): Add language_objc to case. (integral_type): Likewise. (character_type): Likewise. (string_type): Likewise. (boolean_type): Likewise. (structured_type): Likewise. (binop_type_check): Likewise. * language.h (CAST_IS_CONVERSION): Likewise. * linespec.c (decode_line_1): Handle ObjC methods. * maint.c (maintenance_demangle): Demangle ObjC names. * objc-exp.y: New file * objc-lang.h: Likewise. * objc-lang.c: Likewise. * parser-defs.h (struct objc_class_str): New struct. * printfcmd.c (address_info): Print 'self' for ObjC. * source.c (print_source_lines): Update comments. * stabsread.c (stabsread_objc_colon): New function. (define_symbol): Use it. * stabsread.h: Declare it. * symfile.c (init_filename_language_table): Add ObjC extensions. * symtab.h: New objc_specific struct. (SYMBOL_INIT_LANGUAGE_SPECIFIC): Handle ObjC. (SYMBOL_DEMANGLED_NAME): Likewise. * symtab.c (symbol_init_demangled_name): Demangle ObjC symbols. (make_symbol_completion_list): Likewise. * utils.c (puts_filtered_tabular): New function. (fprintf_symbol_filtered): Get ObjC demangled name. * valops.c (call_function_by_hand_expecting_type): New function. (value_of_local): New function. (value_of_this): Use it. * values.h: Define functions. gdb/doc ChangeLog: ----------------- 2002-09-17 Adam Fedor * gdb.texinfo: Add ObjC documentation. gdb/testsuite ChangeLog: ----------------- 2002-09-17 Adam Fedor * configure.in: Add gdb.objc dir * gdb.base/default.exp: Update for ObjC in output. * gdb.base/help.exp: Likewise. * gdb.base/maint.exp: Likewise. * gdb.objc/: New testsuite dir