* Rename remote-es1800.c to remote-es.c
[deliverable/binutils-gdb.git] / gdb / symfile.h
index 3f232ec2b294a13e386b42bbc4b291e411dddb15..306735d06a0c0f245a303ed45f0a8c635811d6f6 100644 (file)
@@ -40,9 +40,9 @@ struct sym_fns {
 
   /* counts how many bytes of sym_name should be checked against the
      BFD target type of the file being read.  If an exact match is
-     desired, specify the number of characters in sym_name plus 1 for the
-     NUL.  If a prefix match is desired, specify the number of characters in
-     sym_name.  */
+     desired, specify the number of characters in sym_name plus 1 for
+     the NULL.  If a prefix match is desired, specify the number of
+     characters in sym_name.  */
 
   int sym_namelen;
 
@@ -99,45 +99,54 @@ extend_psymbol_list PARAMS ((struct psymbol_allocation_list *,
 
 /* Add any kind of symbol to a psymbol_allocation_list. */
 
-#define        ADD_PSYMBOL_VT_TO_LIST(NAME,NAMELENGTH,NAMESPACE,CLASS,LIST,VALUE,VT) \
+#ifndef INLINE_ADD_PSYMBOL
+#define INLINE_ADD_PSYMBOL 1
+#endif
+
+#if !INLINE_ADD_PSYMBOL
+
+/* Since one arg is a struct, we have to pass in a ptr and deref it (sigh) */
+
+#define        ADD_PSYMBOL_TO_LIST(name, namelength, namespace, class, list, value, language, objfile) \
+  add_psymbol_to_list (name, namelength, namespace, class, &list, value, language, objfile)
+
+#define        ADD_PSYMBOL_ADDR_TO_LIST(name, namelength, namespace, class, list, value, language, objfile) \
+  add_psymbol_addr_to_list (name, namelength, namespace, class, &list, value, language, objfile)
+
+#else  /* !INLINE_ADD_PSYMBOL */
+
+#include "demangle.h"
+
+#define        ADD_PSYMBOL_VT_TO_LIST(NAME,NAMELENGTH,NAMESPACE,CLASS,LIST,VALUE,VT,LANGUAGE, OBJFILE) \
   do {                                                                 \
     register struct partial_symbol *psym;                              \
+    register char *demangled_name;                                     \
     if ((LIST).next >= (LIST).list + (LIST).size)                      \
-          extend_psymbol_list (&(LIST),objfile);                               \
+      extend_psymbol_list (&(LIST),(OBJFILE));                         \
     psym = (LIST).next++;                                              \
-                                                                       \
-    SYMBOL_NAME (psym) = (char *) obstack_alloc (&objfile->psymbol_obstack,    \
-                                                (NAMELENGTH) + 1);     \
+    SYMBOL_NAME (psym) =                                               \
+      (char *) obstack_alloc (&objfile->psymbol_obstack,               \
+                             (NAMELENGTH) + 1);                        \
     memcpy (SYMBOL_NAME (psym), (NAME), (NAMELENGTH));                 \
     SYMBOL_NAME (psym)[(NAMELENGTH)] = '\0';                           \
     SYMBOL_NAMESPACE (psym) = (NAMESPACE);                             \
-    SYMBOL_CLASS (psym) = (CLASS);                                     \
+    PSYMBOL_CLASS (psym) = (CLASS);                                    \
     VT (psym) = (VALUE);                                               \
+    SYMBOL_LANGUAGE (psym) = (LANGUAGE);                               \
+    SYMBOL_INIT_DEMANGLED_NAME (psym, &objfile->psymbol_obstack);      \
   } while (0);
 
-#ifdef DEBUG
-
-/* Since one arg is a struct, we have to pass in a ptr and deref it (sigh) */
-
-#define        ADD_PSYMBOL_TO_LIST(name, namelength, namespace, class, list, value) \
-  add_psymbol_to_list (name, namelength, namespace, class, &list, value)
-
-#define        ADD_PSYMBOL_ADDR_TO_LIST(name, namelength, namespace, class, list, value) \
-  add_psymbol_addr_to_list (name, namelength, namespace, class, &list, value)
-
-#else  /* !DEBUG */
-
 /* Add a symbol with an integer value to a psymtab. */
 
-#define ADD_PSYMBOL_TO_LIST(name, namelength, namespace, class, list, value) \
-  ADD_PSYMBOL_VT_TO_LIST (name, namelength, namespace, class, list, value, SYMBOL_VALUE)
+#define ADD_PSYMBOL_TO_LIST(name, namelength, namespace, class, list, value, language, objfile) \
+  ADD_PSYMBOL_VT_TO_LIST (name, namelength, namespace, class, list, value, SYMBOL_VALUE, language, objfile)
 
 /* Add a symbol with a CORE_ADDR value to a psymtab. */
 
-#define        ADD_PSYMBOL_ADDR_TO_LIST(name, namelength, namespace, class, list, value)\
-  ADD_PSYMBOL_VT_TO_LIST (name, namelength, namespace, class, list, value, SYMBOL_VALUE_ADDRESS)
+#define        ADD_PSYMBOL_ADDR_TO_LIST(name, namelength, namespace, class, list, value, language, objfile)\
+  ADD_PSYMBOL_VT_TO_LIST (name, namelength, namespace, class, list, value, SYMBOL_VALUE_ADDRESS, language, objfile)
 
-#endif /* DEBUG */
+#endif /* INLINE_ADD_PSYMBOL */
 
                        /*   Functions   */
 
This page took 0.024857 seconds and 4 git commands to generate.