OSDN Git Service

* id.po: Update.
[pf3gnuchains/gcc-fork.git] / gcc / vmsdbgout.c
index 768e90d..c655caa 100644 (file)
@@ -1,6 +1,6 @@
 /* Output VMS debug format symbol table information from GCC.
    Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007
+   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008
    Free Software Foundation, Inc.
    Contributed by Douglas B. Rupp (rupp@gnat.com).
    Updated by Bernard W. Giroud (bgiroud@users.sourceforge.net).
@@ -125,7 +125,7 @@ static unsigned int func_table_in_use;
 static vms_func_ref func_table;
 
 /* Local pointer to the name of the main input file.  Initialized in
-   avmdbgout_init.  */
+   vmsdbgout_init.  */
 static const char *primary_filename;
 
 static char *module_producer;
@@ -149,13 +149,13 @@ static char *full_name (const char *);
 static unsigned int lookup_filename (const char *);
 static void addr_const_to_string (char *, rtx);
 static int write_debug_header (DST_HEADER *, const char *, int);
-static int write_debug_addr (char *, const char *, int);
+static int write_debug_addr (const char *, const char *, int);
 static int write_debug_data1 (unsigned int, const char *, int);
 static int write_debug_data2 (unsigned int, const char *, int);
 static int write_debug_data4 (unsigned long, const char *, int);
 static int write_debug_data8 (unsigned long long, const char *, int);
-static int write_debug_delta4 (char *, char *, const char *, int);
-static int write_debug_string (char *, const char *, int);
+static int write_debug_delta4 (const char *, const char *, const char *, int);
+static int write_debug_string (const char *, const char *, int);
 static int write_modbeg (int);
 static int write_modend (int);
 static int write_rtnbeg (int, int);
@@ -172,7 +172,7 @@ static void vmsdbgout_start_source_file (unsigned int, const char *);
 static void vmsdbgout_end_source_file (unsigned int);
 static void vmsdbgout_begin_block (unsigned int, unsigned int);
 static void vmsdbgout_end_block (unsigned int, unsigned int);
-static bool vmsdbgout_ignore_block (tree);
+static bool vmsdbgout_ignore_block (const_tree);
 static void vmsdbgout_source_line (unsigned int, const char *);
 static void vmsdbgout_begin_prologue (unsigned int, const char *);
 static void vmsdbgout_end_prologue (unsigned int, const char *);
@@ -204,7 +204,7 @@ const struct gcc_debug_hooks vmsdbg_debug_hooks
    vmsdbgout_decl,
    vmsdbgout_global_decl,
    debug_nothing_tree_int,       /* type_decl */
-   debug_nothing_tree_tree,       /* imported_module_or_decl */
+   debug_nothing_tree_tree_tree_bool, /* imported_module_or_decl */
    debug_nothing_tree,           /* deferred_inline_function */
    vmsdbgout_abstract_function,
    debug_nothing_rtx,            /* label */
@@ -381,7 +381,7 @@ static char text_end_label[MAX_ARTIFICIAL_LABEL_BYTES];
   do                                           \
     {                                          \
       register int slen = strlen(P);           \
-      register char *p = (P);                  \
+      register const char *p = (P);            \
       register int i;                          \
       fprintf (FILE, "\t.ascii \"");           \
       for (i = 0; i < slen; i++)               \
@@ -579,7 +579,7 @@ write_debug_header (DST_HEADER *header, const char *comment, int dosizeonly)
    nonzero.  */
 
 static int
-write_debug_addr (char *symbol, const char *comment, int dosizeonly)
+write_debug_addr (const char *symbol, const char *comment, int dosizeonly)
 {
   if (!dosizeonly)
     {
@@ -668,8 +668,8 @@ write_debug_data8 (unsigned long long data8, const char *comment,
    DOSIZEONLY is nonzero.  */
 
 static int
-write_debug_delta4 (char *label1, char *label2, const char *comment,
-                   int dosizeonly)
+write_debug_delta4 (const char *label1, const char *label2,
+                   const char *comment, int dosizeonly)
 {
   if (!dosizeonly)
     {
@@ -687,7 +687,7 @@ write_debug_delta4 (char *label1, char *label2, const char *comment,
    nonzero.  */
 
 static int
-write_debug_string (char *string, const char *comment, int dosizeonly)
+write_debug_string (const char *string, const char *comment, int dosizeonly)
 {
   if (!dosizeonly)
     {
@@ -715,7 +715,7 @@ write_modbeg (int dosizeonly)
   int totsize = 0;
 
   /* Assumes primary filename has Unix syntax file spec.  */
-  module_name = xstrdup (basename ((char *) primary_filename));
+  module_name = xstrdup (lbasename (primary_filename));
 
   m = strrchr (module_name, '.');
   if (m)
@@ -788,7 +788,7 @@ write_modend (int dosizeonly)
 static int
 write_rtnbeg (int rtnnum, int dosizeonly)
 {
-  char *rtnname;
+  const char *rtnname;
   int rtnnamelen;
   char *rtnentryname;
   int totsize = 0;
@@ -797,7 +797,7 @@ write_rtnbeg (int rtnnum, int dosizeonly)
   DST_PROLOG prolog;
   vms_func_ref fde = &func_table[rtnnum];
 
-  rtnname = (char *)fde->vms_func_name;
+  rtnname = fde->vms_func_name;
   rtnnamelen = strlen (rtnname);
   rtnentryname = concat (rtnname, "..en", NULL);
 
@@ -825,7 +825,7 @@ write_rtnbeg (int rtnnum, int dosizeonly)
                                   dosizeonly);
       totsize += write_debug_data1 (strlen (go), "length of main_name",
                                    dosizeonly);
-      totsize += write_debug_string ((char *) go, "main name", dosizeonly);
+      totsize += write_debug_string (go, "main name", dosizeonly);
     }
 
   /* The header length never includes the length byte.  */
@@ -1150,7 +1150,8 @@ write_srccorr (int fileid, dst_file_info_entry file_info_entry,
     (src_command.dst_a_src_cmd_fields.dst_a_src_decl_src.dst_b_src_df_filename,
      "source_corr (filename length)", dosizeonly);
 
-  totsize += write_debug_string (file_info_entry.file_name,
+  totsize += write_debug_string (remap_debug_filename (
+                                   file_info_entry.file_name),
                                 "source file name", dosizeonly);
   totsize += write_debug_data1 (src_cmdtrlr.dst_b_src_df_libmodname,
                                "source_corr (libmodname)", dosizeonly);
@@ -1362,7 +1363,7 @@ vmsdbgout_end_block (register unsigned line, register unsigned blocknum)
 /* Not implemented in VMS Debug.  */
 
 static bool
-vmsdbgout_ignore_block (tree block)
+vmsdbgout_ignore_block (const_tree block)
 {
   bool retval = 0;
 
@@ -1440,7 +1441,7 @@ lookup_filename (const char *file_name)
   static unsigned int last_file_lookup_index = 0;
   register char *fn;
   register unsigned i;
-  char *fnam;
+  const char *fnam;
   long long cdt;
   long ebk;
   short ffb;
@@ -1479,7 +1480,7 @@ lookup_filename (const char *file_name)
       ebk = 0;
       ffb = 0;
       rfo = 0;
-      fnam = (char *) "";
+      fnam = "";
       flen = 0;
     }
 
@@ -1509,9 +1510,8 @@ lookup_filename (const char *file_name)
     {
 
       file_info_table_allocated += FILE_TABLE_INCREMENT;
-      file_info_table = xrealloc (file_info_table,
-                                 (file_info_table_allocated
-                                  * sizeof (dst_file_info_entry)));
+      file_info_table = XRESIZEVEC (dst_file_info_entry, file_info_table,
+                                   file_info_table_allocated);
     }
 
   /* Add the new entry to the end of the filename table.  */
@@ -1548,9 +1548,8 @@ vmsdbgout_source_line (register unsigned line, register const char *filename)
       if (line_info_table_in_use == line_info_table_allocated)
        {
          line_info_table_allocated += LINE_INFO_TABLE_INCREMENT;
-         line_info_table = xrealloc (line_info_table,
-                                     (line_info_table_allocated
-                                      * sizeof (dst_line_info_entry)));
+         line_info_table = XRESIZEVEC (dst_line_info_entry, line_info_table,
+                                       line_info_table_allocated);
        }
 
       /* Add the new entry at the end of the line_info_table.  */
@@ -1599,8 +1598,7 @@ vmsdbgout_init (const char *main_input_filename)
   primary_filename = main_input_filename;
 
   /* Allocate the initial hunk of the file_info_table.  */
-  file_info_table
-    = xcalloc (FILE_TABLE_INCREMENT, sizeof (dst_file_info_entry));
+  file_info_table = XCNEWVEC (dst_file_info_entry, FILE_TABLE_INCREMENT);
   file_info_table_allocated = FILE_TABLE_INCREMENT;
 
   /* Skip the first entry - file numbers begin at 1 */
@@ -1611,8 +1609,7 @@ vmsdbgout_init (const char *main_input_filename)
   func_table_in_use = 1;
 
   /* Allocate the initial hunk of the line_info_table.  */
-  line_info_table
-    = xcalloc (LINE_INFO_TABLE_INCREMENT, sizeof (dst_line_info_entry));
+  line_info_table = XCNEWVEC (dst_line_info_entry, LINE_INFO_TABLE_INCREMENT);
   line_info_table_allocated = LINE_INFO_TABLE_INCREMENT;
   /* zero-th entry is allocated, but unused */
   line_info_table_in_use = 1;