diff options
-rw-r--r-- | gcc/ChangeLog | 12 | ||||
-rw-r--r-- | gcc/ada/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/ada/adadecode.c | 7 | ||||
-rw-r--r-- | gcc/ada/misc.c | 3 | ||||
-rw-r--r-- | gcc/config/alpha/vms-cc.c | 20 | ||||
-rw-r--r-- | gcc/config/alpha/vms-ld.c | 3 | ||||
-rw-r--r-- | gcc/config/dsp16xx/dsp16xx.c | 21 | ||||
-rw-r--r-- | gcc/config/mcore/mcore.c | 6 | ||||
-rw-r--r-- | gcc/cppfiles.c | 6 | ||||
-rw-r--r-- | gcc/f/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/f/com.c | 16 | ||||
-rw-r--r-- | gcc/gensupport.c | 30 | ||||
-rw-r--r-- | gcc/vmsdbgout.c | 12 |
13 files changed, 49 insertions, 97 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1756328f..d3b958a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 159b68e..e7a4732 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -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 diff --git a/gcc/ada/adadecode.c b/gcc/ada/adadecode.c index 54e38be..e3ab46d 100644 --- a/gcc/ada/adadecode.c +++ b/gcc/ada/adadecode.c @@ -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); } diff --git a/gcc/ada/misc.c b/gcc/ada/misc.c index 347636f..60babc4 100644 --- a/gcc/ada/misc.c +++ b/gcc/ada/misc.c @@ -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; diff --git a/gcc/config/alpha/vms-cc.c b/gcc/config/alpha/vms-cc.c index a171b1c..26c3ae3 100644 --- a/gcc/config/alpha/vms-cc.c +++ b/gcc/config/alpha/vms-cc.c @@ -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); } } diff --git a/gcc/config/alpha/vms-ld.c b/gcc/config/alpha/vms-ld.c index 83ceaf9..e5688d8 100644 --- a/gcc/config/alpha/vms-ld.c +++ b/gcc/config/alpha/vms-ld.c @@ -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"); diff --git a/gcc/config/dsp16xx/dsp16xx.c b/gcc/config/dsp16xx/dsp16xx.c index cc1c9d4..cd4b42d 100644 --- a/gcc/config/dsp16xx/dsp16xx.c +++ b/gcc/config/dsp16xx/dsp16xx.c @@ -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 diff --git a/gcc/config/mcore/mcore.c b/gcc/config/mcore/mcore.c index baf0a93..2b7747e 100644 --- a/gcc/config/mcore/mcore.c +++ b/gcc/config/mcore/mcore.c @@ -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); diff --git a/gcc/cppfiles.c b/gcc/cppfiles.c index 903e02d..653b33e 100644 --- a/gcc/cppfiles.c +++ b/gcc/cppfiles.c @@ -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); } diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog index f283d5f..7964fa4 100644 --- a/gcc/f/ChangeLog +++ b/gcc/f/ChangeLog @@ -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 diff --git a/gcc/f/com.c b/gcc/f/com.c index 45c06c7..4757d7e 100644 --- a/gcc/f/com.c +++ b/gcc/f/com.c @@ -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); } diff --git a/gcc/gensupport.c b/gcc/gensupport.c index 5a9ff21..53172dd 100644 --- a/gcc/gensupport.c +++ b/gcc/gensupport.c @@ -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 diff --git a/gcc/vmsdbgout.c b/gcc/vmsdbgout.c index 45268f5..c4f2fe6 100644 --- a/gcc/vmsdbgout.c +++ b/gcc/vmsdbgout.c @@ -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); |