*** empty log message ***
[deliverable/binutils-gdb.git] / gdb / buildsym.c
index aa87d4c4fcbd392e7aaa467cb00b094864865714..d0143bc3f24a136de27292f03cc562d42df671ef 100644 (file)
@@ -1,6 +1,6 @@
 /* Support routines for building symbol tables in GDB's internal format.
-   Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995,
-   1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+   Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995,
+   1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
    Free Software Foundation, Inc.
 
    This file is part of GDB.
@@ -17,8 +17,8 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
 
 /* This module provides subroutines used for creating and adding to
    the symbol table.  These routines are called from various symbol-
@@ -38,7 +38,6 @@
 #include "complaints.h"
 #include "gdb_string.h"
 #include "expression.h"                /* For "enum exp_opcode" used by... */
-#include "language.h"          /* For "local_hex_string" */
 #include "bcache.h"
 #include "filenames.h"         /* For DOSish file names */
 #include "macrotab.h"
@@ -84,7 +83,7 @@ static int compare_line_numbers (const void *ln1p, const void *ln2p);
 void
 add_free_pendings (struct pending *list)
 {
-  register struct pending *link = list;
+  struct pending *link = list;
 
   if (list)
     {
@@ -102,7 +101,7 @@ add_free_pendings (struct pending *list)
 void
 add_symbol_to_list (struct symbol *symbol, struct pending **listhead)
 {
-  register struct pending *link;
+  struct pending *link;
 
   /* If this is an alias for another symbol, don't add it.  */
   if (symbol->ginfo.name && symbol->ginfo.name[0] == '#')
@@ -164,7 +163,6 @@ find_symbol_in_list (struct pending *list, char *name, int length)
 /* At end of reading syms, or in case of quit, really free as many
    `struct pending's as we can easily find. */
 
-/* ARGSUSED */
 void
 really_free_pendings (void *dummy)
 {
@@ -203,7 +201,7 @@ void
 free_pending_blocks (void)
 {
 #if 0                          /* Now we make the links in the
-                                  symbol_obstack, so don't free
+                                  objfile_obstack, so don't free
                                   them.  */
   struct pending_block *bnext, *bnext1;
 
@@ -226,21 +224,21 @@ finish_block (struct symbol *symbol, struct pending **listhead,
              CORE_ADDR start, CORE_ADDR end,
              struct objfile *objfile)
 {
-  register struct pending *next, *next1;
-  register struct block *block;
-  register struct pending_block *pblock;
+  struct pending *next, *next1;
+  struct block *block;
+  struct pending_block *pblock;
   struct pending_block *opblock;
 
-  block = allocate_block (&objfile->symbol_obstack);
+  block = allocate_block (&objfile->objfile_obstack);
 
   if (symbol)
     {
-      BLOCK_DICT (block) = dict_create_linear (&objfile->symbol_obstack,
+      BLOCK_DICT (block) = dict_create_linear (&objfile->objfile_obstack,
                                               *listhead);
     }
   else
     {
-      BLOCK_DICT (block) = dict_create_hashed (&objfile->symbol_obstack,
+      BLOCK_DICT (block) = dict_create_hashed (&objfile->objfile_obstack,
                                               *listhead);
     }
 
@@ -348,7 +346,7 @@ finish_block (struct symbol *symbol, struct pending **listhead,
       /* If we're in the C++ case, set the block's scope.  */
       if (SYMBOL_LANGUAGE (symbol) == language_cplus)
        {
-         cp_set_block_scope (symbol, block, &objfile->symbol_obstack);
+         cp_set_block_scope (symbol, block, &objfile->objfile_obstack);
        }
     }
   else
@@ -375,13 +373,13 @@ finish_block (struct symbol *symbol, struct pending **listhead,
       if (symbol)
        {
          complaint (&symfile_complaints,
-                    "block end address less than block start address in %s (patched it)",
+                    _("block end address less than block start address in %s (patched it)"),
                     SYMBOL_PRINT_NAME (symbol));
        }
       else
        {
          complaint (&symfile_complaints,
-                    "block end address 0x%s less than block start address 0x%s (patched it)",
+                    _("block end address 0x%s less than block start address 0x%s (patched it)"),
                     paddr_nz (BLOCK_END (block)), paddr_nz (BLOCK_START (block)));
        }
       /* Better than nothing */
@@ -409,13 +407,13 @@ finish_block (struct symbol *symbol, struct pending **listhead,
              if (symbol)
                {
                  complaint (&symfile_complaints,
-                            "inner block not inside outer block in %s",
+                            _("inner block not inside outer block in %s"),
                             SYMBOL_PRINT_NAME (symbol));
                }
              else
                {
                  complaint (&symfile_complaints,
-                            "inner block (0x%s-0x%s) not inside outer block (0x%s-0x%s)",
+                            _("inner block (0x%s-0x%s) not inside outer block (0x%s-0x%s)"),
                             paddr_nz (BLOCK_START (pblock->block)),
                             paddr_nz (BLOCK_END (pblock->block)),
                             paddr_nz (BLOCK_START (block)),
@@ -440,17 +438,17 @@ finish_block (struct symbol *symbol, struct pending **listhead,
    OPBLOCK, or at the beginning if opblock is NULL.  This puts the
    block in the list after all its subblocks.
 
-   Allocate the pending block struct in the symbol_obstack to save
+   Allocate the pending block struct in the objfile_obstack to save
    time.  This wastes a little space.  FIXME: Is it worth it?  */
 
 void
 record_pending_block (struct objfile *objfile, struct block *block,
                      struct pending_block *opblock)
 {
-  register struct pending_block *pblock;
+  struct pending_block *pblock;
 
   pblock = (struct pending_block *)
-    obstack_alloc (&objfile->symbol_obstack, sizeof (struct pending_block));
+    obstack_alloc (&objfile->objfile_obstack, sizeof (struct pending_block));
   pblock->block = block;
   if (opblock)
     {
@@ -467,9 +465,9 @@ record_pending_block (struct objfile *objfile, struct block *block,
 static struct blockvector *
 make_blockvector (struct objfile *objfile)
 {
-  register struct pending_block *next;
-  register struct blockvector *blockvector;
-  register int i;
+  struct pending_block *next;
+  struct blockvector *blockvector;
+  int i;
 
   /* Count the length of the list of blocks.  */
 
@@ -478,7 +476,7 @@ make_blockvector (struct objfile *objfile)
     }
 
   blockvector = (struct blockvector *)
-    obstack_alloc (&objfile->symbol_obstack,
+    obstack_alloc (&objfile->objfile_obstack,
                   (sizeof (struct blockvector)
                    + (i - 1) * sizeof (struct block *)));
 
@@ -521,8 +519,8 @@ make_blockvector (struct objfile *objfile)
              CORE_ADDR start
                = BLOCK_START (BLOCKVECTOR_BLOCK (blockvector, i));
 
-             complaint (&symfile_complaints, "block at %s out of order",
-                        local_hex_string ((LONGEST) start));
+             complaint (&symfile_complaints, _("block at %s out of order"),
+                        hex_string ((LONGEST) start));
            }
        }
     }
@@ -539,7 +537,7 @@ make_blockvector (struct objfile *objfile)
 void
 start_subfile (char *name, char *dirname)
 {
-  register struct subfile *subfile;
+  struct subfile *subfile;
 
   /* See if this subfile is already known as a subfile of the current
      main source file.  */
@@ -593,17 +591,9 @@ start_subfile (char *name, char *dirname)
      later via a call to record_debugformat. */
   subfile->debugformat = NULL;
 
-#if 0 /* OBSOLETE CFront */
-// OBSOLETE   /* cfront output is a C program, so in most ways it looks like a C
-// OBSOLETE      program.  But to demangle we need to set the language to C++.  We
-// OBSOLETE      can distinguish cfront code by the fact that it has #line
-// OBSOLETE      directives which specify a file name ending in .C. */
-#endif /* OBSOLETE CFront */
-     
   /* If the filename of this subfile ends in .C, then change the
      language of any pending subfiles from C to C++.  We also accept
      any other C++ suffixes accepted by deduce_language_from_filename.  */
-  /* OBSOLETE     (in particular, some people use .cxx with cfront).  */
   /* Likewise for f2c.  */
 
   if (subfile->name)
@@ -677,14 +667,14 @@ patch_subfile_names (struct subfile *subfile, char *name)
 void
 push_subfile (void)
 {
-  register struct subfile_stack *tem
+  struct subfile_stack *tem
   = (struct subfile_stack *) xmalloc (sizeof (struct subfile_stack));
 
   tem->next = subfile_stack;
   subfile_stack = tem;
   if (current_subfile == NULL || current_subfile->name == NULL)
     {
-      internal_error (__FILE__, __LINE__, "failed internal consistency check");
+      internal_error (__FILE__, __LINE__, _("failed internal consistency check"));
     }
   tem->name = current_subfile->name;
 }
@@ -692,12 +682,12 @@ push_subfile (void)
 char *
 pop_subfile (void)
 {
-  register char *name;
-  register struct subfile_stack *link = subfile_stack;
+  char *name;
+  struct subfile_stack *link = subfile_stack;
 
   if (link == NULL)
     {
-      internal_error (__FILE__, __LINE__, "failed internal consistency check");
+      internal_error (__FILE__, __LINE__, _("failed internal consistency check"));
     }
   name = link->name;
   subfile_stack = link->next;
@@ -709,7 +699,7 @@ pop_subfile (void)
    line vector for SUBFILE.  */
 
 void
-record_line (register struct subfile *subfile, int line, CORE_ADDR pc)
+record_line (struct subfile *subfile, int line, CORE_ADDR pc)
 {
   struct linetable_entry *e;
   /* Ignore the dummy line number in libg.o */
@@ -824,10 +814,10 @@ start_symtab (char *name, char *dirname, CORE_ADDR start_addr)
 struct symtab *
 end_symtab (CORE_ADDR end_addr, struct objfile *objfile, int section)
 {
-  register struct symtab *symtab = NULL;
-  register struct blockvector *blockvector;
-  register struct subfile *subfile;
-  register struct context_stack *cstk;
+  struct symtab *symtab = NULL;
+  struct blockvector *blockvector;
+  struct subfile *subfile;
+  struct context_stack *cstk;
   struct subfile *nextsub;
 
   /* Finish the lexical context of the last function in the file; pop
@@ -848,7 +838,7 @@ end_symtab (CORE_ADDR end_addr, struct objfile *objfile, int section)
             believed to happen in most cases (even for coffread.c);
             it used to be an abort().  */
          complaint (&symfile_complaints,
-                    "Context stack not empty in end_symtab");
+                    _("Context stack not empty in end_symtab"));
          context_stack_depth = 0;
        }
     }
@@ -918,7 +908,7 @@ end_symtab (CORE_ADDR end_addr, struct objfile *objfile, int section)
                    objfile);
       blockvector = make_blockvector (objfile);
       cp_finalize_namespace (BLOCKVECTOR_BLOCK (blockvector, STATIC_BLOCK),
-                            &objfile->symbol_obstack);
+                            &objfile->objfile_obstack);
     }
 
 #ifndef PROCESS_LINENUMBER_HOOK
@@ -970,7 +960,7 @@ end_symtab (CORE_ADDR end_addr, struct objfile *objfile, int section)
            {
              /* Reallocate the line table on the symbol obstack */
              symtab->linetable = (struct linetable *)
-               obstack_alloc (&objfile->symbol_obstack, linetablesize);
+               obstack_alloc (&objfile->objfile_obstack, linetablesize);
              memcpy (symtab->linetable, subfile->line_vector, linetablesize);
            }
          else
@@ -982,7 +972,7 @@ end_symtab (CORE_ADDR end_addr, struct objfile *objfile, int section)
            {
              /* Reallocate the dirname on the symbol obstack */
              symtab->dirname = (char *)
-               obstack_alloc (&objfile->symbol_obstack,
+               obstack_alloc (&objfile->objfile_obstack,
                               strlen (subfile->dirname) + 1);
              strcpy (symtab->dirname, subfile->dirname);
            }
@@ -1006,7 +996,7 @@ end_symtab (CORE_ADDR end_addr, struct objfile *objfile, int section)
            {
              symtab->debugformat = obsavestring (subfile->debugformat,
                                              strlen (subfile->debugformat),
-                                                 &objfile->symbol_obstack);
+                                                 &objfile->objfile_obstack);
            }
 
          /* All symtabs for the main file and the subfiles share a
@@ -1056,7 +1046,7 @@ end_symtab (CORE_ADDR end_addr, struct objfile *objfile, int section)
 struct context_stack *
 push_context (int desc, CORE_ADDR valu)
 {
-  register struct context_stack *new;
+  struct context_stack *new;
 
   if (context_stack_depth == context_stack_size)
     {
@@ -1118,7 +1108,7 @@ record_debugformat (char *format)
 void
 merge_symbol_lists (struct pending **srclist, struct pending **targetlist)
 {
-  register int i;
+  int i;
 
   if (!srclist || !*srclist)
     return;
This page took 0.028692 seconds and 4 git commands to generate.