This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA] Compile objc-lang.c, objc-exp.tab.c [1/5]


Adam Fedor writes:
 > Now that I'm almost done, I finally understand the patch lingo (Thanks 
 > Michael)! This is a repost of the first of five final patches for ObjC 
 > suppport:
 > 
 > http://sources.redhat.com/ml/gdb-patches/2003-01/msg00049.html
 > 
 > The other two that I also need approval for are:
 > 
 > http://sources.redhat.com/ml/gdb-patches/2003-01/msg00050.html
 > http://sources.redhat.com/ml/gdb-patches/2003-01/msg00080.html
 > 
 > and two more (symtab.c, and linespec.c) will be coming soon.
 > 
 > ---
 > 
 > A new year brings a final push to get Objective-C support in gdb. This 
 > patch enables compilation and linking of the Objective-C files. I need 
 > this now since the remaining patches require so many of the Objective-C 
 > functions that it would be pointless to submit them otherwise.
 > 
 > 2003-01-02  Adam Fedor  <fedor at gnu dot org>
 > 
 > 	* Makefile.in (COMMON_OBS): Add objc-lang.o
 > 	(YYOBJ): Add objc-exp.tab.o
 > 	(maint.o, utils.o): Add $(objc_lang_h)
 > 	* maint.c (maintenance_demangle): Uncomment language_objc case.
 > 	* utils.c (fprintf_symbol_filtered): Likewise.
 > 	* parser-defs.h (start_msglist, add_msglist, end_msglist): Declare
 > 	Objective-C parsing functions (from objc-lang.c).


I think this is just 'obvious' in a sense given the code has been
already approved, and it is just dormant.  However, do we have
testcases already? I think we should have a gdb.objc
subdirectory. (sorry, i don't remember if you posted them).  I would
feel uncomfortable enabling objc w/o having tests, even very simple
ones, it could bitrot fast.

elena


 > 
 > Index: Makefile.in
 > ===================================================================
 > RCS file: /cvs/src/src/gdb/Makefile.in,v
 > retrieving revision 1.302
 > diff -u -p -r1.302 Makefile.in
 > --- Makefile.in	2 Jan 2003 20:29:15 -0000	1.302
 > +++ Makefile.in	3 Jan 2003 03:06:24 -0000
 > @@ -820,7 +820,7 @@ COMMON_OBS = version.o blockframe.o brea
 >  	exec.o bcache.o objfiles.o minsyms.o maint.o demangle.o \
 >  	dbxread.o coffread.o elfread.o \
 >  	dwarfread.o dwarf2read.o mipsread.o stabsread.o corefile.o \
 > -	c-lang.o f-lang.o \
 > +	c-lang.o objc-lang.o f-lang.o \
 >  	ui-out.o cli-out.o \
 >  	varobj.o wrapper.o \
 >  	jv-lang.o jv-valprint.o jv-typeprint.o \
 > @@ -847,6 +847,7 @@ YYFILES = c-exp.tab.c \
 >  	jv-exp.tab.c \
 >  	f-exp.tab.c m2-exp.tab.c p-exp.tab.c
 >  YYOBJ = c-exp.tab.o \
 > +	objc-exp.tab.o \
 >  	jv-exp.tab.o \
 >  	f-exp.tab.o m2-exp.tab.o p-exp.tab.o
 >  
 > @@ -1878,7 +1879,8 @@ main.o: main.c $(defs_h) $(top_h) $(targ
 >  	$(event_loop_h) $(ui_out_h) $(main_h)
 >  maint.o: maint.c $(defs_h) $(command_h) $(gdbcmd_h) $(symtab_h) \
 >  	$(gdbtypes_h) $(demangle_h) $(gdbcore_h) $(expression_h) \
 > -	$(language_h) $(symfile_h) $(objfiles_h) $(value_h) $(cli_decode_h)
 > +	$(language_h) $(symfile_h) $(objfiles_h) $(value_h) $(cli_decode_h) \
 > +	$(objc_lang_h)
 >  mcore-rom.o: mcore-rom.c $(defs_h) $(gdbcore_h) $(target_h) $(monitor_h) \
 >  	$(gdb_string_h) $(regcache_h) $(serial_h)
 >  mcore-tdep.o: mcore-tdep.c $(defs_h) $(frame_h) $(symtab_h) $(value_h) \
 > @@ -2240,7 +2242,8 @@ ui-out.o: ui-out.c $(defs_h) $(gdb_strin
 >  utils.o: utils.c $(config_h) $(defs_h) $(gdb_assert_h) $(gdb_string_h) \
 >  	$(event_top_h) $(gdbcmd_h) $(serial_h) $(bfd_h) $(target_h) \
 >  	$(demangle_h) $(expression_h) $(language_h) $(annotate_h) \
 > -	$(filenames_h) $(inferior_h) $(mmalloc_h) $(charset_h) $(readline_h)
 > +	$(filenames_h) $(inferior_h) $(mmalloc_h) $(charset_h) $(readline_h) \
 > +	$(objc_lang_h)
 >  uw-thread.o: uw-thread.c $(defs_h) $(gdbthread_h) $(target_h) $(inferior_h) \
 >  	$(regcache_h) $(gregset_h)
 >  v850-tdep.o: v850-tdep.c $(defs_h) $(frame_h) $(inferior_h) $(target_h) \
 > Index: maint.c
 > ===================================================================
 > RCS file: /cvs/src/src/gdb/maint.c,v
 > retrieving revision 1.30
 > diff -u -p -r1.30 maint.c
 > --- maint.c	24 Dec 2002 03:57:58 -0000	1.30
 > +++ maint.c	3 Jan 2003 03:06:25 -0000
 > @@ -35,6 +35,7 @@
 >  #include "symfile.h"
 >  #include "objfiles.h"
 >  #include "value.h"
 > +#include "objc-lang.h"
 >  
 >  #include "cli/cli-decode.h"
 >  
 > @@ -154,9 +155,8 @@ maintenance_demangle (char *args, int fr
 >        switch (current_language->la_language)
 >  	{
 >  	case language_objc:
 > -	  /* Commented out until ObjC handling is enabled. */
 > -	  /* demangled = objc_demangle (args); */
 > -	  /* break; */
 > +	  demangled = objc_demangle (args);
 > +	  break;
 >  	case language_cplus:
 >  	default:
 >  	  demangled = cplus_demangle (args, DMGL_ANSI | DMGL_PARAMS);
 > Index: parser-defs.h
 > ===================================================================
 > RCS file: /cvs/src/src/gdb/parser-defs.h,v
 > retrieving revision 1.15
 > diff -u -p -r1.15 parser-defs.h
 > --- parser-defs.h	19 Nov 2002 03:15:01 -0000	1.15
 > +++ parser-defs.h	3 Jan 2003 03:06:25 -0000
 > @@ -223,4 +223,9 @@ struct op_print
 >  
 >  extern void parser_fprintf (FILE *, const char *, ...) ATTR_FORMAT (printf, 2 ,3);
 >  
 > +/* for parsing Objective C */
 > +extern void start_msglist (void);
 > +extern void add_msglist (struct stoken *str, int addcolon);
 > +extern int end_msglist (void);
 > +
 >  #endif /* PARSER_DEFS_H */
 > Index: utils.c
 > ===================================================================
 > RCS file: /cvs/src/src/gdb/utils.c,v
 > retrieving revision 1.88
 > diff -u -p -r1.88 utils.c
 > --- utils.c	2 Jan 2003 14:27:27 -0000	1.88
 > +++ utils.c	3 Jan 2003 03:06:35 -0000
 > @@ -46,6 +46,7 @@
 >  #include "charset.h"
 >  #include "annotate.h"
 >  #include "filenames.h"
 > +#include "objc-lang.h"
 >  
 >  #include "inferior.h" /* for signed_pointer_to_address */
 >  
 > @@ -2310,9 +2311,8 @@ fprintf_symbol_filtered (struct ui_file 
 >  	      demangled = cplus_demangle (name, arg_mode | DMGL_JAVA);
 >  	      break;
 >  	    case language_objc:
 > -	      /* Commented out until ObjC handling is enabled.  */
 > -	      /*demangled = objc_demangle (name);*/
 > -	      /*break;*/
 > +	      demangled = objc_demangle (name);
 > +	      break;
 >  	    default:
 >  	      demangled = NULL;
 >  	      break;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]