adadecode.c (ada_demangle): Use xstrdup in lieu of xmalloc/strcpy.
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>
Tue, 30 Jul 2002 02:24:17 +0000 (02:24 +0000)
committerKaveh Ghazi <ghazi@gcc.gnu.org>
Tue, 30 Jul 2002 02:24:17 +0000 (02:24 +0000)
ada:
* adadecode.c (ada_demangle): Use xstrdup in lieu of
xmalloc/strcpy.
* misc.c (gnat_decode_option): Likewise.

gcc:

* alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
concat in lieu of xmalloc/strcpy/memcpy/sprintf.
* alpha/vms-ld.c (main): Likewise.
* dsp16xx.c (double_reg_to_memory): Likewise.
* mcore.c (mcore_expand_prolog): Likewise.
* cppfiles.c (read_name_map): Likewise.
* gensupport.c (process_rtx, identify_predicable_attribute,
alter_test_for_insn): Likewise.
* vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.

f:
* com.c (read_name_map): Use concat in lieu of xmalloc/strcpy.

From-SVN: r55861

13 files changed:
gcc/ChangeLog
gcc/ada/ChangeLog
gcc/ada/adadecode.c
gcc/ada/misc.c
gcc/config/alpha/vms-cc.c
gcc/config/alpha/vms-ld.c
gcc/config/dsp16xx/dsp16xx.c
gcc/config/mcore/mcore.c
gcc/cppfiles.c
gcc/f/ChangeLog
gcc/f/com.c
gcc/gensupport.c
gcc/vmsdbgout.c

index 1756328fa677a6fd7ff99fbeb2e5aefcbb555185..d3b958af6963a2e29688568050e9d819665ed348 100644 (file)
@@ -1,3 +1,15 @@
+2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
+       concat in lieu of xmalloc/strcpy/memcpy/sprintf.
+       * alpha/vms-ld.c (main): Likewise.
+       * dsp16xx.c (double_reg_to_memory): Likewise.
+       * mcore.c (mcore_expand_prolog): Likewise.
+       * cppfiles.c (read_name_map): Likewise.
+       * gensupport.c (process_rtx, identify_predicable_attribute,
+       alter_test_for_insn): Likewise.
+       * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
+
 2002-07-29  Roger Sayle  <roger@eyesopen.com>
 
        * builtins.c (expand_builtin):  Change the default behavior to
index 159b68ef089811b1cdcbc7d3605b7ce5b2b358fe..e7a47327de8f94e903fbdd41b6cad2a933208877 100644 (file)
@@ -1,3 +1,9 @@
+2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * adadecode.c (ada_demangle): Use xstrdup in lieu of
+       xmalloc/strcpy.
+       * misc.c (gnat_decode_option): Likewise.
+
 2002-07-15  Florian Weimer  <fw@deneb.enyo.de>
 
        * make.adb (Add_Switch): Make Generic_Position a procedure.  The
index 54e38be4ca2a22ccd47e4384eec7ec8ac9ff9423..e3ab46d41fc2219d25463db0ff3365aa9211e3a8 100644 (file)
@@ -313,12 +313,7 @@ ada_demangle (coded_name)
      const char *coded_name;
 {
   char ada_name[2048];
-  char *result;
 
   __gnat_decode (coded_name, ada_name, 0);
-
-  result = (char *) xmalloc (strlen (ada_name) + 1);
-  strcpy (result, ada_name);
-
-  return result;
+  return xstrdup (ada_name);
 }
index 347636fa083a873c9c310116a0290bec293e6587..60babc41d65a9c9f667644f170ede4e3d99ce0d4 100644 (file)
@@ -227,10 +227,9 @@ gnat_decode_option (argc, argv)
 
   else if (!strncmp (p, "-gant", 5))
     {
-      char *q = (char *) xmalloc (strlen (p) + 1);
+      char *q = xstrdup (p);
 
       warning ("`-gnat' misspelled as `-gant'");
-      strcpy (q, p);
       q[2] = 'n', q[3] = 'a';
       p = q;
       return 1;
index a171b1c719834b86c4dc2ee629031e805251faec..26c3ae3b1ffc1a6930dd0395f6c49b31842ec515 100644 (file)
@@ -109,16 +109,11 @@ preprocess_args (p_argc, argv)
       if (strcmp (argv[i], "-o") == 0)
        {
          char *buff, *ptr;
-         int out_len;
 
          i++;
          ptr = to_host_file_spec (argv[i]);
          objfilename = xstrdup (ptr);
-         out_len = strlen (ptr);
-         buff = xmalloc (out_len + 6);
-
-         strcpy (buff, "/obj=");
-         strcat (buff, ptr);
+         buff = concat ("/obj=", ptr, NULL);
          addarg (buff);
        }
     }
@@ -202,11 +197,8 @@ main (argc, argv)
   strncpy (cwdev, cwd, devlen);
   cwdev [devlen] = '\0';
 
-  search_dirs = xmalloc (strlen (system_search_dirs) + 1);
-  strcpy (search_dirs, system_search_dirs);
-
-  defines = xmalloc (strlen (default_defines) + 1);
-  strcpy (defines, default_defines);
+  search_dirs = xstrdup (system_search_dirs);
+  defines = xstrdup (default_defines);
 
   addarg ("cc");
   preprocess_args (&argc , argv);
@@ -251,7 +243,6 @@ main (argc, argv)
        {
          /* Assume filename arg */
          char buff [256], *ptr;
-         int buff_len;
 
          ptr = to_host_file_spec (argv[i]);
          arg_len = strlen (ptr);
@@ -263,10 +254,7 @@ main (argc, argv)
          else
            sprintf (buff, "%s%s", cwd, ptr);
 
-         buff_len = strlen (buff);
-         ptr = xmalloc (buff_len + 1);
-
-         strcpy (ptr, buff);
+         ptr = xstrdup (buff);
          addarg (ptr);
        }
     }
index 83ceaf9b031c5cf1057c59155896f3e5800f43fa..e5688d89d535b593d7119501d8b51b86a1a9b95d 100644 (file)
@@ -396,8 +396,7 @@ main (argc, argv)
   strncpy (cwdev, cwd, devlen);
   cwdev [devlen] = '\0';
 
-  search_dirs = xmalloc (strlen (system_search_dirs) + 1);
-  strcpy (search_dirs, system_search_dirs);
+  search_dirs = xstrdup (system_search_dirs);
 
   addarg ("link");
 
index cc1c9d4d27999bfb63fa0cdcbcbad07170165634..cd4b42d8c456c0c04b76693ec636f94631b60026 100644 (file)
@@ -1691,8 +1691,6 @@ double_reg_to_memory (operands)
 void
 override_options ()
 {
-  char *tmp;
-
   if (chip_name == (char *) 0)
     chip_name = DEFAULT_CHIP_NAME;
 
@@ -1710,21 +1708,10 @@ override_options ()
   
   save_chip_name = xstrdup (chip_name);
 
-  rsect_text = tmp = (char *) xmalloc (strlen(".rsect ") + 
-                                      strlen(text_seg_name) + 3);
-  sprintf (tmp, ".rsect \"%s\"", text_seg_name);
-
-  rsect_data = tmp = (char *) xmalloc (strlen(".rsect ") + 
-                                      strlen(data_seg_name) + 3);
-  sprintf (tmp, ".rsect \"%s\"", data_seg_name);
-
-  rsect_bss = tmp = (char *) xmalloc (strlen(".rsect ") + 
-                                     strlen(bss_seg_name) + 3);
-  sprintf (tmp,  ".rsect \"%s\"", bss_seg_name);
-
-  rsect_const = tmp = (char *) xmalloc (strlen(".rsect ") + 
-                                       strlen(const_seg_name) + 3);
-  sprintf (tmp, ".rsect \"%s\"", const_seg_name);
+  rsect_text = concat (".rsect \"", text_seg_name, "\"", NULL);
+  rsect_data = concat (".rsect \"", data_seg_name, "\"", NULL);
+  rsect_bss = concat (".rsect \"", bss_seg_name, "\"", NULL);
+  rsect_const = concat (".rsect \"", const_seg_name, "\"", NULL);
 }
 
 int
index baf0a93f01f67f9b5e6600ff25358a82252ab2b9..2b7747e17692b98c7cf9305a9c7587cef2c03772 100644 (file)
@@ -2341,7 +2341,6 @@ mcore_expand_prolog ()
     {
       /* Emit a symbol for this routine's frame size.  */
       rtx x;
-      int len;
 
       x = DECL_RTL (current_function_decl);
       
@@ -2356,10 +2355,7 @@ mcore_expand_prolog ()
       if (mcore_current_function_name)
        free (mcore_current_function_name);
       
-      len = strlen (XSTR (x, 0)) + 1;
-      mcore_current_function_name = (char *) xmalloc (len);
-      
-      memcpy (mcore_current_function_name, XSTR (x, 0), len);
+      mcore_current_function_name = xstrdup (XSTR (x, 0));
       
       ASM_OUTPUT_CG_NODE (asm_out_file, mcore_current_function_name, space_allocated);
 
index 903e02da61447c1a3e7baec79c6ffdc5eb96302d..653b33e283c528107772f673f9b1f45e7464a7c8 100644 (file)
@@ -908,7 +908,6 @@ read_name_map (pfile, dirname)
   if (f)
     {
       int ch;
-      int dirlen = strlen (dirname);
 
       while ((ch = getc (f)) != EOF)
        {
@@ -931,10 +930,7 @@ read_name_map (pfile, dirname)
            ptr->map_to = to;
          else
            {
-             ptr->map_to = xmalloc (dirlen + strlen (to) + 2);
-             strcpy (ptr->map_to, dirname);
-             ptr->map_to[dirlen] = '/';
-             strcpy (ptr->map_to + dirlen + 1, to);
+             ptr->map_to = concat (dirname, "/", to, NULL);
              free (to);
            }
 
index f283d5f8bedd97e166d1f8f9b3ded7adac5b8472..7964fa42eb1781d9f5492115b020b7e83c6edb5f 100644 (file)
@@ -1,3 +1,7 @@
+Mon Jul 29 22:05:35 2002  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * com.c (read_name_map): Use concat in lieu of xmalloc/strcpy.
+
 2002-07-25  Toon Moene  <toon@moene.indiv.nluug.nl>
 
        * news.texi: Document better handling of (no-)alias
index 45c06c7cefb6fea9cd0e011734506422510da94c..4757d7e0c717be055fada38f458750a6fea61e94 100644 (file)
@@ -15312,10 +15312,10 @@ read_name_map (dirname)
 
   dirlen = strlen (dirname);
   separator_needed = dirlen != 0 && dirname[dirlen - 1] != '/';
-  name = (char *) xmalloc (dirlen + strlen (FILE_NAME_MAP_FILE) + 2);
-  strcpy (name, dirname);
-  name[dirlen] = '/';
-  strcpy (name + dirlen + separator_needed, FILE_NAME_MAP_FILE);
+  if (separator_needed)
+    name = concat (dirname, "/", FILE_NAME_MAP_FILE, NULL);
+  else
+    name = concat (dirname, FILE_NAME_MAP_FILE, NULL);
   f = fopen (name, "r");
   free (name);
   if (!f)
@@ -15345,10 +15345,10 @@ read_name_map (dirname)
            ptr->map_to = to;
          else
            {
-             ptr->map_to = xmalloc (dirlen + strlen (to) + 2);
-             strcpy (ptr->map_to, dirname);
-             ptr->map_to[dirlen] = '/';
-             strcpy (ptr->map_to + dirlen + separator_needed, to);
+             if (separator_needed)
+               ptr->map_to = concat (dirname, "/", to, NULL);
+             else
+               ptr->map_to = concat (dirname, to, NULL);
              free (to);
            }
 
index 5a9ff21f9782d3fb070429b2b3758df32148bbfc..53172dd55b46e2fd579b407f921d9b2499449ee8 100644 (file)
@@ -310,18 +310,7 @@ process_rtx (desc, lineno)
           insn condition to create the new split condition.  */
        split_cond = XSTR (desc, 4);
        if (split_cond[0] == '&' && split_cond[1] == '&')
-         {
-           const char *insn_cond = XSTR (desc, 2);
-           size_t insn_cond_len = strlen (insn_cond);
-           size_t split_cond_len = strlen (split_cond);
-           char *combined;
-
-           combined = (char *) xmalloc (insn_cond_len + split_cond_len + 1);
-           memcpy (combined, insn_cond, insn_cond_len);
-           memcpy (combined + insn_cond_len, split_cond, split_cond_len + 1);
-
-           split_cond = combined;
-         }
+         split_cond = concat (XSTR (desc, 2), split_cond, NULL);
        XSTR (split, 1) = split_cond;
        XVEC (split, 2) = XVEC (desc, 5);
        XSTR (split, 3) = XSTR (desc, 6);
@@ -441,7 +430,6 @@ identify_predicable_attribute ()
   struct queue_elem *elem;
   char *p_true, *p_false;
   const char *value;
-  size_t len;
 
   /* Look for the DEFINE_ATTR for `predicable', which must exist.  */
   for (elem = define_attr_queue; elem ; elem = elem->next)
@@ -455,10 +443,7 @@ identify_predicable_attribute ()
 
  found:
   value = XSTR (elem->data, 1);
-  len = strlen (value);
-  p_false = (char *) xmalloc (len + 1);
-  memcpy (p_false, value, len + 1);
-
+  p_false = xstrdup (value);
   p_true = strchr (p_false, ',');
   if (p_true == NULL || strchr (++p_true, ',') != NULL)
     {
@@ -676,8 +661,6 @@ alter_test_for_insn (ce_elem, insn_elem)
      struct queue_elem *ce_elem, *insn_elem;
 {
   const char *ce_test, *insn_test;
-  char *new_test;
-  size_t len, ce_len, insn_len;
 
   ce_test = XSTR (ce_elem->data, 1);
   insn_test = XSTR (insn_elem->data, 2);
@@ -686,14 +669,7 @@ alter_test_for_insn (ce_elem, insn_elem)
   if (!insn_test || *insn_test == '\0')
     return ce_test;
 
-  ce_len = strlen (ce_test);
-  insn_len = strlen (insn_test);
-  len = 1 + ce_len + 1 + 4 + 1 + insn_len + 1 + 1;
-  new_test = (char *) xmalloc (len);
-
-  sprintf (new_test, "(%s) && (%s)", ce_test, insn_test);
-
-  return new_test;
+  return concat ("(", ce_test, ") && (", insn_test, ")", NULL);
 }
 
 /* Adjust all of the operand numbers in OLD to match the shift they'll
index 45268f574a68e5556f713d3298cf6c34289c43cb..c4f2fe67c038453832ec49d379d31a0de22a21e2 100644 (file)
@@ -793,7 +793,7 @@ write_rtnbeg (rtnnum, dosizeonly)
      int dosizeonly;
 {
   char *rtnname;
-  int rtnnamelen, rtnentrynamelen;
+  int rtnnamelen;
   char *rtnentryname;
   int totsize = 0;
   char label[MAX_ARTIFICIAL_LABEL_BYTES];
@@ -802,10 +802,7 @@ write_rtnbeg (rtnnum, dosizeonly)
 
   rtnname = func_table[rtnnum];
   rtnnamelen = strlen (rtnname);
-  rtnentrynamelen = rtnnamelen + 4; /* "..en" */
-  rtnentryname = (char *) xmalloc (rtnentrynamelen + 1);
-  strcpy (rtnentryname, rtnname);
-  strcat (rtnentryname, "..en");
+  rtnentryname = concat (rtnname, "..en", NULL);
 
   if (!strcmp (rtnname, "main"))
     {
@@ -1633,10 +1630,7 @@ vmsdbgout_init (main_input_filename)
   else
     module_language = DST_K_UNKNOWN;
 
-  module_producer
-    = (char *) xmalloc (strlen (language_string) + 1
-                       + strlen (version_string) + 1);
-  sprintf (module_producer, "%s %s", language_string, version_string);
+  module_producer = concat (language_string, " ", version_string, NULL);
 
   ASM_GENERATE_INTERNAL_LABEL (text_end_label, TEXT_END_LABEL, 0);