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]

[rfa] delete macro SYMBOL_LINKAGE_NAME


This is the first part of my plan to clean up symbol accessors.  It
deletes the macro SYMBOL_LINKAGE_NAME: that macro is only used in two
places in one function, and is easy to replace by an equivalent use of
asm_demangle, SYMBOL_SOURCE_NAME, and SYMBOL_NAME.  Given that I'd
like to use the name SYMBOL_LINKAGE_NAME for something else, I'd like
to get rid of its current use.

Tested on i686-pc-linux-gnu/GCC3.1/DWARF-2 (and seems obviously
correct by inspection, assuming that you agree that its goal is
valid).  OK to commit?

David Carlton
carlton@math.stanford.edu

2003-01-20  David Carlton  <carlton@math.stanford.edu>

	* symtab.h (SYMBOL_LINKAGE_NAME): Delete.
	* printcmd.c (build_address_symbolic): Replace uses of
	SYMBOL_LINKAGE_NAME by equivalent uses of SYMBOL_SOURCE_NAME,
	SYMBOL_NAME, and asm_demangle.
	Update copyright.

Index: symtab.h
===================================================================
RCS file: /cvs/src/src/gdb/symtab.h,v
retrieving revision 1.55
diff -u -p -r1.55 symtab.h
--- symtab.h	19 Jan 2003 04:06:46 -0000	1.55
+++ symtab.h	21 Jan 2003 00:18:36 -0000
@@ -172,17 +172,6 @@ extern char *symbol_demangled_name (stru
    ? SYMBOL_DEMANGLED_NAME (symbol)					\
    : SYMBOL_NAME (symbol))
 
-/* Macro that returns the "natural assembly name" of a symbol.  In C++ this is
-   the "mangled" form of the name if demangle is off, or if demangle is on and
-   asm_demangle is off.  Otherwise if asm_demangle is on it is the "demangled"
-   form.  In other languages this is just the symbol name.  The result should
-   never be NULL. */
-
-#define SYMBOL_LINKAGE_NAME(symbol)					\
-  (demangle && asm_demangle && SYMBOL_DEMANGLED_NAME (symbol) != NULL	\
-   ? SYMBOL_DEMANGLED_NAME (symbol)					\
-   : SYMBOL_NAME (symbol))
-
 /* Macro that tests a symbol for a match against a specified name string.
    First test the unencoded name, then looks for and test a C++ encoded
    name if it exists.  Note that whitespace is ignored while attempting to
Index: printcmd.c
===================================================================
RCS file: /cvs/src/src/gdb/printcmd.c,v
retrieving revision 1.50
diff -u -p -r1.50 printcmd.c
--- printcmd.c	21 Nov 2002 18:54:44 -0000	1.50
+++ printcmd.c	21 Jan 2003 00:56:47 -0000
@@ -1,7 +1,7 @@
 /* Print values for GNU debugger GDB.
 
    Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
-   1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software
+   1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software
    Foundation, Inc.
 
    This file is part of GDB.
@@ -639,10 +639,10 @@ build_address_symbolic (CORE_ADDR addr, 
   if (symbol)
     {
       name_location = BLOCK_START (SYMBOL_BLOCK_VALUE (symbol));
-      if (do_demangle)
+      if (do_demangle || asm_demangle)
 	name_temp = SYMBOL_SOURCE_NAME (symbol);
       else
-	name_temp = SYMBOL_LINKAGE_NAME (symbol);
+	name_temp = SYMBOL_NAME (symbol);
     }
 
   if (msymbol != NULL)
@@ -654,10 +654,10 @@ build_address_symbolic (CORE_ADDR addr, 
 	  symbol = 0;
 	  symtab = 0;
 	  name_location = SYMBOL_VALUE_ADDRESS (msymbol);
-	  if (do_demangle)
+	  if (do_demangle || asm_demangle)
 	    name_temp = SYMBOL_SOURCE_NAME (msymbol);
 	  else
-	    name_temp = SYMBOL_LINKAGE_NAME (msymbol);
+	    name_temp = SYMBOL_NAME (msymbol);
 	}
     }
   if (symbol == NULL && msymbol == NULL)


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