+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
+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
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);
}
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;
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);
}
}
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);
{
/* Assume filename arg */
char buff [256], *ptr;
- int buff_len;
ptr = to_host_file_spec (argv[i]);
arg_len = strlen (ptr);
else
sprintf (buff, "%s%s", cwd, ptr);
- buff_len = strlen (buff);
- ptr = xmalloc (buff_len + 1);
-
- strcpy (ptr, buff);
+ ptr = xstrdup (buff);
addarg (ptr);
}
}
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");
void
override_options ()
{
- char *tmp;
-
if (chip_name == (char *) 0)
chip_name = DEFAULT_CHIP_NAME;
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
{
/* Emit a symbol for this routine's frame size. */
rtx x;
- int len;
x = DECL_RTL (current_function_decl);
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);
if (f)
{
int ch;
- int dirlen = strlen (dirname);
while ((ch = getc (f)) != EOF)
{
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);
}
+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
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)
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);
}
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);
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)
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)
{
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);
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
int dosizeonly;
{
char *rtnname;
- int rtnnamelen, rtnentrynamelen;
+ int rtnnamelen;
char *rtnentryname;
int totsize = 0;
char label[MAX_ARTIFICIAL_LABEL_BYTES];
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"))
{
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);