This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [warning control patch] simple cases


DJ Delorie <dj@redhat.com> writes:

| > OK, thanks.  But, not before I sent my patch that makes libiberty pass
| > straight through a C++ compiler :-)
| 
| Yes please ;-)

OK, here is what it looks like on my disk.  No ChangeLog entry yet.
It passed bootstrap and regression test on my laptop
(i686-pc-linux-gnu).  I'll test it on a solaris machine (unless
someone here kindly does it) and post proper patch later.

-- Gaby
Index: alloca.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/alloca.c,v
retrieving revision 1.9
diff -p -r1.9 alloca.c
*** alloca.c	26 Mar 2005 19:24:31 -0000	1.9
--- alloca.c	18 May 2005 20:28:39 -0000
*************** C_alloca (size_t size)
*** 191,210 ****
    /* Allocate combined header + user data storage.  */
  
    {
!     register PTR new = xmalloc (sizeof (header) + size);
      /* Address of header.  */
  
!     if (new == 0)
        abort();
  
!     ((header *) new)->h.next = last_alloca_header;
!     ((header *) new)->h.deep = depth;
  
!     last_alloca_header = (header *) new;
  
      /* User storage begins just after header.  */
  
!     return (PTR) ((char *) new + sizeof (header));
    }
  }
  
--- 191,210 ----
    /* Allocate combined header + user data storage.  */
  
    {
!     register void *new_storage = XNEWVEC (char, sizeof (header) + size);
      /* Address of header.  */
  
!     if (new_storage == 0)
        abort();
  
!     ((header *) new_storage)->h.next = last_alloca_header;
!     ((header *) new_storage)->h.deep = depth;
  
!     last_alloca_header = (header *) new_storage;
  
      /* User storage begins just after header.  */
  
!     return (PTR) ((char *) new_storage + sizeof (header));
    }
  }
  
Index: choose-temp.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/choose-temp.c,v
retrieving revision 1.20
diff -p -r1.20 choose-temp.c
*** choose-temp.c	10 May 2005 15:33:14 -0000	1.20
--- choose-temp.c	18 May 2005 20:28:39 -0000
*************** choose_temp_base (void)
*** 61,67 ****
    int len;
  
    len = strlen (base);
!   temp_filename = xmalloc (len + TEMP_FILE_LEN + 1);
    strcpy (temp_filename, base);
    strcpy (temp_filename + len, TEMP_FILE);
  
--- 61,67 ----
    int len;
  
    len = strlen (base);
!   temp_filename = XNEWVEC (char, len + TEMP_FILE_LEN + 1);
    strcpy (temp_filename, base);
    strcpy (temp_filename + len, TEMP_FILE);
  
Index: concat.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/concat.c,v
retrieving revision 1.14
diff -p -r1.14 concat.c
*** concat.c	10 May 2005 15:33:14 -0000	1.14
--- concat.c	18 May 2005 20:28:39 -0000
*************** concat (const char *first, ...)
*** 150,156 ****
    /* First compute the size of the result and get sufficient memory.  */
    VA_OPEN (args, first);
    VA_FIXEDARG (args, const char *, first);
!   newstr = (char *) xmalloc (vconcat_length (first, args) + 1);
    VA_CLOSE (args);
  
    /* Now copy the individual pieces to the result string. */
--- 150,156 ----
    /* First compute the size of the result and get sufficient memory.  */
    VA_OPEN (args, first);
    VA_FIXEDARG (args, const char *, first);
!   newstr = XNEWVEC (char, vconcat_length (first, args) + 1);
    VA_CLOSE (args);
  
    /* Now copy the individual pieces to the result string. */
*************** reconcat (char *optr, const char *first,
*** 188,194 ****
    VA_OPEN (args, first);
    VA_FIXEDARG (args, char *, optr);
    VA_FIXEDARG (args, const char *, first);
!   newstr = (char *) xmalloc (vconcat_length (first, args) + 1);
    VA_CLOSE (args);
  
    /* Now copy the individual pieces to the result string. */
--- 188,194 ----
    VA_OPEN (args, first);
    VA_FIXEDARG (args, char *, optr);
    VA_FIXEDARG (args, const char *, first);
!   newstr = XNEWVEC (char, vconcat_length (first, args) + 1);
    VA_CLOSE (args);
  
    /* Now copy the individual pieces to the result string. */
Index: cp-demangle.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/cp-demangle.c,v
retrieving revision 1.80
diff -p -r1.80 cp-demangle.c
*** cp-demangle.c	10 May 2005 15:33:14 -0000	1.80
--- cp-demangle.c	18 May 2005 20:28:40 -0000
*************** struct d_print_template
*** 210,216 ****
    /* Next template on the list.  */
    struct d_print_template *next;
    /* This template.  */
!   const struct demangle_component *template;
  };
  
  /* A list of type modifiers.  This is used while printing.  */
--- 210,216 ----
    /* Next template on the list.  */
    struct d_print_template *next;
    /* This template.  */
!   const struct demangle_component *template_decl;
  };
  
  /* A list of type modifiers.  This is used while printing.  */
*************** d_print_resize (struct d_print_info *dpi
*** 2551,2557 ****
        char *newbuf;
  
        newalc = dpi->alc * 2;
!       newbuf = realloc (dpi->buf, newalc);
        if (newbuf == NULL)
  	{
  	  free (dpi->buf);
--- 2551,2557 ----
        char *newbuf;
  
        newalc = dpi->alc * 2;
!       newbuf = (char *) realloc (dpi->buf, newalc);
        if (newbuf == NULL)
  	{
  	  free (dpi->buf);
*************** cplus_demangle_print (int options, const
*** 2629,2635 ****
    dpi.options = options;
  
    dpi.alc = estimate + 1;
!   dpi.buf = malloc (dpi.alc);
    if (dpi.buf == NULL)
      {
        *palc = 1;
--- 2629,2635 ----
    dpi.options = options;
  
    dpi.alc = estimate + 1;
!   dpi.buf = (char *) malloc (dpi.alc);
    if (dpi.buf == NULL)
      {
        *palc = 1;
*************** d_print_comp (struct d_print_info *dpi,
*** 2730,2736 ****
  	  {
  	    dpt.next = dpi->templates;
  	    dpi->templates = &dpt;
! 	    dpt.template = typed_name;
  	  }
  
  	/* If typed_name is a DEMANGLE_COMPONENT_LOCAL_NAME, then
--- 2730,2736 ----
  	  {
  	    dpt.next = dpi->templates;
  	    dpi->templates = &dpt;
! 	    dpt.template_decl = typed_name;
  	  }
  
  	/* If typed_name is a DEMANGLE_COMPONENT_LOCAL_NAME, then
*************** d_print_comp (struct d_print_info *dpi,
*** 2826,2832 ****
  	    return;
  	  }
  	i = dc->u.s_number.number;
! 	for (a = d_right (dpi->templates->template);
  	     a != NULL;
  	     a = d_right (a))
  	  {
--- 2826,2832 ----
  	    return;
  	  }
  	i = dc->u.s_number.number;
! 	for (a = d_right (dpi->templates->template_decl);
  	     a != NULL;
  	     a = d_right (a))
  	  {
*************** d_print_cast (struct d_print_info *dpi,
*** 3683,3689 ****
  
        dpt.next = dpi->templates;
        dpi->templates = &dpt;
!       dpt.template = d_left (dc);
  
        d_print_comp (dpi, d_left (d_left (dc)));
  
--- 3683,3689 ----
  
        dpt.next = dpi->templates;
        dpi->templates = &dpt;
!       dpt.template_decl = d_left (dc);
  
        d_print_comp (dpi, d_left (d_left (dc)));
  
*************** d_demangle (const char* mangled, int opt
*** 3764,3770 ****
      {
        char *r;
  
!       r = malloc (40 + len - 11);
        if (r == NULL)
  	*palc = 1;
        else
--- 3764,3770 ----
      {
        char *r;
  
!       r = (char *) malloc (40 + len - 11);
        if (r == NULL)
  	*palc = 1;
        else
Index: cp-demint.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/cp-demint.c,v
retrieving revision 1.4
diff -p -r1.4 cp-demint.c
*** cp-demint.c	10 May 2005 15:33:16 -0000	1.4
--- cp-demint.c	18 May 2005 20:28:41 -0000
*************** cplus_demangle_fill_component (struct de
*** 130,147 ****
  
  int
  cplus_demangle_fill_builtin_type (struct demangle_component *p,
!                                   const char *typename)
  {
    int len;
    unsigned int i;
  
!   if (p == NULL || typename == NULL)
      return 0;
!   len = strlen (typename);
    for (i = 0; i < D_BUILTIN_TYPE_COUNT; ++i)
      {
        if (len == cplus_demangle_builtin_types[i].len
! 	  && strcmp (typename, cplus_demangle_builtin_types[i].name) == 0)
  	{
  	  p->type = DEMANGLE_COMPONENT_BUILTIN_TYPE;
  	  p->u.s_builtin.type = &cplus_demangle_builtin_types[i];
--- 130,147 ----
  
  int
  cplus_demangle_fill_builtin_type (struct demangle_component *p,
!                                   const char *type_name)
  {
    int len;
    unsigned int i;
  
!   if (p == NULL || type_name == NULL)
      return 0;
!   len = strlen (type_name);
    for (i = 0; i < D_BUILTIN_TYPE_COUNT; ++i)
      {
        if (len == cplus_demangle_builtin_types[i].len
! 	  && strcmp (type_name, cplus_demangle_builtin_types[i].name) == 0)
  	{
  	  p->type = DEMANGLE_COMPONENT_BUILTIN_TYPE;
  	  p->u.s_builtin.type = &cplus_demangle_builtin_types[i];
Index: cplus-dem.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/cplus-dem.c,v
retrieving revision 1.98
diff -p -r1.98 cplus-dem.c
*** cplus-dem.c	10 May 2005 15:33:16 -0000	1.98
--- cplus-dem.c	18 May 2005 20:28:41 -0000
*************** grow_vect (char **old_vect, size_t *size
*** 892,898 ****
        *size *= 2;
        if (*size < min_size)
  	*size = min_size;
!       *old_vect = (void *) xrealloc (*old_vect, *size * element_size);
      }
  }
  
--- 892,898 ----
        *size *= 2;
        if (*size < min_size)
  	*size = min_size;
!       *old_vect = XRESIZEVAR (char, *old_vect, *size * element_size);
      }
  }
  
*************** work_stuff_copy_to_from (struct work_stu
*** 1102,1157 ****
  
    /* Deep-copy dynamic storage.  */
    if (from->typevec_size)
!     to->typevec
!       = (char **) xmalloc (from->typevec_size * sizeof (to->typevec[0]));
  
    for (i = 0; i < from->ntypes; i++)
      {
        int len = strlen (from->typevec[i]) + 1;
  
!       to->typevec[i] = xmalloc (len);
        memcpy (to->typevec[i], from->typevec[i], len);
      }
  
    if (from->ksize)
!     to->ktypevec
!       = (char **) xmalloc (from->ksize * sizeof (to->ktypevec[0]));
  
    for (i = 0; i < from->numk; i++)
      {
        int len = strlen (from->ktypevec[i]) + 1;
  
!       to->ktypevec[i] = xmalloc (len);
        memcpy (to->ktypevec[i], from->ktypevec[i], len);
      }
  
    if (from->bsize)
!     to->btypevec
!       = (char **) xmalloc (from->bsize * sizeof (to->btypevec[0]));
  
    for (i = 0; i < from->numb; i++)
      {
        int len = strlen (from->btypevec[i]) + 1;
  
!       to->btypevec[i] = xmalloc (len);
        memcpy (to->btypevec[i], from->btypevec[i], len);
      }
  
    if (from->ntmpl_args)
!     to->tmpl_argvec
!       = (char **) xmalloc (from->ntmpl_args * sizeof (to->tmpl_argvec[0]));
  
    for (i = 0; i < from->ntmpl_args; i++)
      {
        int len = strlen (from->tmpl_argvec[i]) + 1;
  
!       to->tmpl_argvec[i] = xmalloc (len);
        memcpy (to->tmpl_argvec[i], from->tmpl_argvec[i], len);
      }
  
    if (from->previous_argument)
      {
!       to->previous_argument = (string*) xmalloc (sizeof (string));
        string_init (to->previous_argument);
        string_appends (to->previous_argument, from->previous_argument);
      }
--- 1102,1153 ----
  
    /* Deep-copy dynamic storage.  */
    if (from->typevec_size)
!     to->typevec = XNEWVEC (char *, from->typevec_size);
  
    for (i = 0; i < from->ntypes; i++)
      {
        int len = strlen (from->typevec[i]) + 1;
  
!       to->typevec[i] = XNEWVEC (char, len);
        memcpy (to->typevec[i], from->typevec[i], len);
      }
  
    if (from->ksize)
!     to->ktypevec = XNEWVEC (char *, from->ksize);
  
    for (i = 0; i < from->numk; i++)
      {
        int len = strlen (from->ktypevec[i]) + 1;
  
!       to->ktypevec[i] = XNEWVEC (char, len);
        memcpy (to->ktypevec[i], from->ktypevec[i], len);
      }
  
    if (from->bsize)
!     to->btypevec = XNEWVEC (char *, from->bsize);
  
    for (i = 0; i < from->numb; i++)
      {
        int len = strlen (from->btypevec[i]) + 1;
  
!       to->btypevec[i] = XNEWVEC (char , len);
        memcpy (to->btypevec[i], from->btypevec[i], len);
      }
  
    if (from->ntmpl_args)
!     to->tmpl_argvec = XNEWVEC (char *, from->ntmpl_args);
  
    for (i = 0; i < from->ntmpl_args; i++)
      {
        int len = strlen (from->tmpl_argvec[i]) + 1;
  
!       to->tmpl_argvec[i] = XNEWVEC (char, len);
        memcpy (to->tmpl_argvec[i], from->tmpl_argvec[i], len);
      }
  
    if (from->previous_argument)
      {
!       to->previous_argument = XNEW (string);
        string_init (to->previous_argument);
        string_appends (to->previous_argument, from->previous_argument);
      }
*************** demangle_template_value_parm (struct wor
*** 1895,1901 ****
  	    string_appendn (s, "0", 1);
  	  else
  	    {
! 	      char *p = xmalloc (symbol_len + 1), *q;
  	      strncpy (p, *mangled, symbol_len);
  	      p [symbol_len] = '\0';
  	      /* We use cplus_demangle here, rather than
--- 1891,1897 ----
  	    string_appendn (s, "0", 1);
  	  else
  	    {
! 	      char *p = XNEWVEC (char, symbol_len + 1), *q;
  	      strncpy (p, *mangled, symbol_len);
  	      p [symbol_len] = '\0';
  	      /* We use cplus_demangle here, rather than
*************** demangle_template (struct work_stuff *wo
*** 2001,2007 ****
    if (!is_type)
      {
        /* Create an array for saving the template argument values. */
!       work->tmpl_argvec = (char**) xmalloc (r * sizeof (char *));
        work->ntmpl_args = r;
        for (i = 0; i < r; i++)
  	work->tmpl_argvec[i] = 0;
--- 1997,2003 ----
    if (!is_type)
      {
        /* Create an array for saving the template argument values. */
!       work->tmpl_argvec = XNEWVEC (char *, r);
        work->ntmpl_args = r;
        for (i = 0; i < r; i++)
  	work->tmpl_argvec[i] = 0;
*************** demangle_template (struct work_stuff *wo
*** 2026,2032 ****
  		{
  		  /* Save the template argument. */
  		  int len = temp.p - temp.b;
! 		  work->tmpl_argvec[i] = xmalloc (len + 1);
  		  memcpy (work->tmpl_argvec[i], temp.b, len);
  		  work->tmpl_argvec[i][len] = '\0';
  		}
--- 2022,2028 ----
  		{
  		  /* Save the template argument. */
  		  int len = temp.p - temp.b;
! 		  work->tmpl_argvec[i] = XNEWVEC (char, len + 1);
  		  memcpy (work->tmpl_argvec[i], temp.b, len);
  		  work->tmpl_argvec[i][len] = '\0';
  		}
*************** demangle_template (struct work_stuff *wo
*** 2054,2060 ****
  		{
  		  /* Save the template argument. */
  		  int len = r2;
! 		  work->tmpl_argvec[i] = xmalloc (len + 1);
  		  memcpy (work->tmpl_argvec[i], *mangled, len);
  		  work->tmpl_argvec[i][len] = '\0';
  		}
--- 2050,2056 ----
  		{
  		  /* Save the template argument. */
  		  int len = r2;
! 		  work->tmpl_argvec[i] = XNEWVEC (char, len + 1);
  		  memcpy (work->tmpl_argvec[i], *mangled, len);
  		  work->tmpl_argvec[i][len] = '\0';
  		}
*************** demangle_template (struct work_stuff *wo
*** 2100,2106 ****
  	  if (!is_type)
  	    {
  	      int len = s->p - s->b;
! 	      work->tmpl_argvec[i] = xmalloc (len + 1);
  	      memcpy (work->tmpl_argvec[i], s->b, len);
  	      work->tmpl_argvec[i][len] = '\0';
  
--- 2096,2102 ----
  	  if (!is_type)
  	    {
  	      int len = s->p - s->b;
! 	      work->tmpl_argvec[i] = XNEWVEC (char, len + 1);
  	      memcpy (work->tmpl_argvec[i], s->b, len);
  	      work->tmpl_argvec[i][len] = '\0';
  
*************** recursively_demangle(struct work_stuff *
*** 2998,3004 ****
    char * recurse = (char *)NULL;
    char * recurse_dem = (char *)NULL;
  
!   recurse = (char *) xmalloc (namelength + 1);
    memcpy (recurse, *mangled, namelength);
    recurse[namelength] = '\000';
  
--- 2994,3000 ----
    char * recurse = (char *)NULL;
    char * recurse_dem = (char *)NULL;
  
!   recurse = XNEWVEC (char, namelength + 1);
    memcpy (recurse, *mangled, namelength);
    recurse[namelength] = '\000';
  
*************** do_hpacc_template_literal (struct work_s
*** 3969,3975 ****
    string_append (result, "&");
  
    /* Now recursively demangle the literal name */
!   recurse = (char *) xmalloc (literal_len + 1);
    memcpy (recurse, *mangled, literal_len);
    recurse[literal_len] = '\000';
  
--- 3965,3971 ----
    string_append (result, "&");
  
    /* Now recursively demangle the literal name */
!   recurse = XNEWVEC (char, literal_len + 1);
    memcpy (recurse, *mangled, literal_len);
    recurse[literal_len] = '\000';
  
*************** do_arg (struct work_stuff *work, const c
*** 4071,4077 ****
    if (work->previous_argument)
      string_delete (work->previous_argument);
    else
!     work->previous_argument = (string*) xmalloc (sizeof (string));
  
    if (!do_type (work, mangled, work->previous_argument))
      return 0;
--- 4067,4073 ----
    if (work->previous_argument)
      string_delete (work->previous_argument);
    else
!     work->previous_argument = XNEW (string);
  
    if (!do_type (work, mangled, work->previous_argument))
      return 0;
*************** remember_type (struct work_stuff *work, 
*** 4095,4112 ****
        if (work -> typevec_size == 0)
  	{
  	  work -> typevec_size = 3;
! 	  work -> typevec
! 	    = (char **) xmalloc (sizeof (char *) * work -> typevec_size);
  	}
        else
  	{
  	  work -> typevec_size *= 2;
  	  work -> typevec
! 	    = (char **) xrealloc ((char *)work -> typevec,
! 				  sizeof (char *) * work -> typevec_size);
  	}
      }
!   tem = xmalloc (len + 1);
    memcpy (tem, start, len);
    tem[len] = '\0';
    work -> typevec[work -> ntypes++] = tem;
--- 4091,4106 ----
        if (work -> typevec_size == 0)
  	{
  	  work -> typevec_size = 3;
! 	  work -> typevec = XNEWVEC (char *, work->typevec_size);
  	}
        else
  	{
  	  work -> typevec_size *= 2;
  	  work -> typevec
! 	    = XRESIZEVEC (char *, work->typevec, work->typevec_size);
  	}
      }
!   tem = XNEWVEC (char, len + 1);
    memcpy (tem, start, len);
    tem[len] = '\0';
    work -> typevec[work -> ntypes++] = tem;
*************** remember_Ktype (struct work_stuff *work,
*** 4124,4141 ****
        if (work -> ksize == 0)
  	{
  	  work -> ksize = 5;
! 	  work -> ktypevec
! 	    = (char **) xmalloc (sizeof (char *) * work -> ksize);
  	}
        else
  	{
  	  work -> ksize *= 2;
  	  work -> ktypevec
! 	    = (char **) xrealloc ((char *)work -> ktypevec,
! 				  sizeof (char *) * work -> ksize);
  	}
      }
!   tem = xmalloc (len + 1);
    memcpy (tem, start, len);
    tem[len] = '\0';
    work -> ktypevec[work -> numk++] = tem;
--- 4118,4133 ----
        if (work -> ksize == 0)
  	{
  	  work -> ksize = 5;
! 	  work -> ktypevec = XNEWVEC (char *, work->ksize);
  	}
        else
  	{
  	  work -> ksize *= 2;
  	  work -> ktypevec
! 	    = XRESIZEVEC (char *, work->ktypevec, work->ksize);
  	}
      }
!   tem = XNEWVEC (char, len + 1);
    memcpy (tem, start, len);
    tem[len] = '\0';
    work -> ktypevec[work -> numk++] = tem;
*************** register_Btype (struct work_stuff *work)
*** 4155,4169 ****
        if (work -> bsize == 0)
  	{
  	  work -> bsize = 5;
! 	  work -> btypevec
! 	    = (char **) xmalloc (sizeof (char *) * work -> bsize);
  	}
        else
  	{
  	  work -> bsize *= 2;
  	  work -> btypevec
! 	    = (char **) xrealloc ((char *)work -> btypevec,
! 				  sizeof (char *) * work -> bsize);
  	}
      }
    ret = work -> numb++;
--- 4147,4159 ----
        if (work -> bsize == 0)
  	{
  	  work -> bsize = 5;
! 	  work -> btypevec = XNEWVEC (char *, work->bsize);
  	}
        else
  	{
  	  work -> bsize *= 2;
  	  work -> btypevec
! 	    = XRESIZEVEC (char *, work->btypevec, work->bsize);
  	}
      }
    ret = work -> numb++;
*************** remember_Btype (struct work_stuff *work,
*** 4179,4185 ****
  {
    char *tem;
  
!   tem = xmalloc (len + 1);
    memcpy (tem, start, len);
    tem[len] = '\0';
    work -> btypevec[index] = tem;
--- 4169,4175 ----
  {
    char *tem;
  
!   tem = XNEWVEC (char, len + 1);
    memcpy (tem, start, len);
    tem[len] = '\0';
    work -> btypevec[index] = tem;
*************** string_need (string *s, int n)
*** 4600,4606 ****
  	{
  	  n = 32;
  	}
!       s->p = s->b = xmalloc (n);
        s->e = s->b + n;
      }
    else if (s->e - s->p < n)
--- 4590,4596 ----
  	{
  	  n = 32;
  	}
!       s->p = s->b = XNEWVEC (char, n);
        s->e = s->b + n;
      }
    else if (s->e - s->p < n)
*************** string_need (string *s, int n)
*** 4608,4614 ****
        tem = s->p - s->b;
        n += tem;
        n *= 2;
!       s->b = xrealloc (s->b, n);
        s->p = s->b + tem;
        s->e = s->b + n;
      }
--- 4598,4604 ----
        tem = s->p - s->b;
        n += tem;
        n *= 2;
!       s->b = XRESIZEVEC (char, s->b, n);
        s->p = s->b + tem;
        s->e = s->b + n;
      }
Index: dyn-string.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/dyn-string.c,v
retrieving revision 1.10
diff -p -r1.10 dyn-string.c
*** dyn-string.c	10 May 2005 15:33:16 -0000	1.10
--- dyn-string.c	18 May 2005 20:28:41 -0000
*************** dyn_string_init (struct dyn_string *ds_s
*** 67,73 ****
    if (ds_struct_ptr->s == NULL)
      return 0;
  #else
!   ds_struct_ptr->s = (char *) xmalloc (space);
  #endif
    ds_struct_ptr->allocated = space;
    ds_struct_ptr->length = 0;
--- 67,73 ----
    if (ds_struct_ptr->s == NULL)
      return 0;
  #else
!   ds_struct_ptr->s = XNEWVEC (char, space);
  #endif
    ds_struct_ptr->allocated = space;
    ds_struct_ptr->length = 0;
*************** dyn_string_new (int space)
*** 96,102 ****
        return NULL;
      }
  #else
!   result = (dyn_string_t) xmalloc (sizeof (struct dyn_string));
    dyn_string_init (result, space);
  #endif
    return result;
--- 96,102 ----
        return NULL;
      }
  #else
!   result = XNEW (struct dyn_string);
    dyn_string_init (result, space);
  #endif
    return result;
*************** dyn_string_resize (dyn_string_t ds, int 
*** 159,165 ****
  	  return NULL;
  	}
  #else
!       ds->s = (char *) xrealloc (ds->s, ds->allocated);
  #endif
      }
  
--- 159,165 ----
  	  return NULL;
  	}
  #else
!       ds->s = XRESIZEVEC (char, ds->s, ds->allocated);
  #endif
      }
  
Index: getpwd.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/getpwd.c,v
retrieving revision 1.7
diff -p -r1.7 getpwd.c
*** getpwd.c	16 May 2005 13:52:39 -0000	1.7
--- getpwd.c	18 May 2005 20:28:42 -0000
*************** getpwd (void)
*** 84,90 ****
  	     && dotstat.st_dev == pwdstat.st_dev))
  
  	/* The shortcut didn't work.  Try the slow, ``sure'' way.  */
! 	for (s = GUESSPATHLEN;  ! getcwd (p = xmalloc (s), s);  s *= 2)
  	  {
  	    int e = errno;
  	    free (p);
--- 84,90 ----
  	     && dotstat.st_dev == pwdstat.st_dev))
  
  	/* The shortcut didn't work.  Try the slow, ``sure'' way.  */
! 	for (s = GUESSPATHLEN;  !getcwd (p = XNEWVEC (char, s), s);  s *= 2)
  	  {
  	    int e = errno;
  	    free (p);
*************** getpwd (void)
*** 117,123 ****
    static char *pwd = 0;
  
    if (!pwd)
!     pwd = getcwd (xmalloc (MAXPATHLEN + 1), MAXPATHLEN + 1
  #ifdef VMS
  		  , 0
  #endif
--- 117,123 ----
    static char *pwd = 0;
  
    if (!pwd)
!     pwd = getcwd (XNEWVEC (char, MAXPATHLEN + 1), MAXPATHLEN + 1
  #ifdef VMS
  		  , 0
  #endif
Index: hashtab.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/hashtab.c,v
retrieving revision 1.44
diff -p -r1.44 hashtab.c
*** hashtab.c	10 May 2005 15:33:17 -0000	1.44
--- hashtab.c	18 May 2005 20:28:42 -0000
*************** htab_create_alloc (size_t size, htab_has
*** 317,331 ****
     an extra argument.  */
  
  htab_t
! htab_create_alloc_ex (size, hash_f, eq_f, del_f, alloc_arg, alloc_f,
! 		      free_f)
!      size_t size;
!      htab_hash hash_f;
!      htab_eq eq_f;
!      htab_del del_f;
!      PTR alloc_arg;
!      htab_alloc_with_arg alloc_f;
!      htab_free_with_arg free_f;
  {
    htab_t result;
    unsigned int size_prime_index;
--- 317,326 ----
     an extra argument.  */
  
  htab_t
! htab_create_alloc_ex (size_t size, htab_hash hash_f, htab_eq eq_f,
!                       htab_del del_f, void *alloc_arg,
!                       htab_alloc_with_arg alloc_f,
! 		      htab_free_with_arg free_f)
  {
    htab_t result;
    unsigned int size_prime_index;
Index: lrealpath.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/lrealpath.c,v
retrieving revision 1.4
diff -p -r1.4 lrealpath.c
*** lrealpath.c	10 May 2005 15:33:17 -0000	1.4
--- lrealpath.c	18 May 2005 20:28:42 -0000
*************** lrealpath (const char *filename)
*** 117,123 ****
        {
  	/* PATH_MAX is bounded.  */
  	char *buf, *rp, *ret;
! 	buf = malloc (path_max);
  	if (buf == NULL)
  	  return NULL;
  	rp = realpath (filename, buf);
--- 117,123 ----
        {
  	/* PATH_MAX is bounded.  */
  	char *buf, *rp, *ret;
! 	buf = (char *) malloc (path_max);
  	if (buf == NULL)
  	  return NULL;
  	rp = realpath (filename, buf);
Index: make-relative-prefix.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/make-relative-prefix.c,v
retrieving revision 1.6
diff -p -r1.6 make-relative-prefix.c
*** make-relative-prefix.c	10 May 2005 15:33:17 -0000	1.6
--- make-relative-prefix.c	18 May 2005 20:28:42 -0000
*************** static void free_split_directories (char
*** 102,108 ****
  static char *
  save_string (const char *s, int len)
  {
!   char *result = malloc (len + 1);
  
    memcpy (result, s, len);
    result[len] = 0;
--- 102,108 ----
  static char *
  save_string (const char *s, int len)
  {
!   char *result = (char *) malloc (len + 1);
  
    memcpy (result, s, len);
    result[len] = 0;
Index: make-temp-file.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/make-temp-file.c,v
retrieving revision 1.7
diff -p -r1.7 make-temp-file.c
*** make-temp-file.c	10 May 2005 15:33:17 -0000	1.7
--- make-temp-file.c	18 May 2005 20:28:42 -0000
*************** extern int mkstemps (char *, int);
*** 61,70 ****
     If success, DIR is returned.
     Otherwise NULL is returned.  */
  
! static inline const char *try (const char *, const char *);
  
  static inline const char *
! try (const char *dir, const char *base)
  {
    if (base != 0)
      return base;
--- 61,70 ----
     If success, DIR is returned.
     Otherwise NULL is returned.  */
  
! static inline const char *try_dir (const char *, const char *);
  
  static inline const char *
! try_dir (const char *dir, const char *base)
  {
    if (base != 0)
      return base;
*************** choose_tmpdir (void)
*** 103,120 ****
    if (memoized_tmpdir)
      return memoized_tmpdir;
  
!   base = try (getenv ("TMPDIR"), base);
!   base = try (getenv ("TMP"), base);
!   base = try (getenv ("TEMP"), base);
  
  #ifdef P_tmpdir
!   base = try (P_tmpdir, base);
  #endif
  
    /* Try /var/tmp, /usr/tmp, then /tmp.  */
!   base = try (vartmp, base);
!   base = try (usrtmp, base);
!   base = try (tmp, base);
   
    /* If all else fails, use the current directory!  */
    if (base == 0)
--- 103,120 ----
    if (memoized_tmpdir)
      return memoized_tmpdir;
  
!   base = try_dir (getenv ("TMPDIR"), base);
!   base = try_dir (getenv ("TMP"), base);
!   base = try_dir (getenv ("TEMP"), base);
  
  #ifdef P_tmpdir
!   base = try_dir (P_tmpdir, base);
  #endif
  
    /* Try /var/tmp, /usr/tmp, then /tmp.  */
!   base = try_dir (vartmp, base);
!   base = try_dir (usrtmp, base);
!   base = try_dir (tmp, base);
   
    /* If all else fails, use the current directory!  */
    if (base == 0)
*************** choose_tmpdir (void)
*** 123,129 ****
    /* Append DIR_SEPARATOR to the directory we've chosen
       and return it.  */
    len = strlen (base);
!   tmpdir = xmalloc (len + 2);
    strcpy (tmpdir, base);
    tmpdir[len] = DIR_SEPARATOR;
    tmpdir[len+1] = '\0';
--- 123,129 ----
    /* Append DIR_SEPARATOR to the directory we've chosen
       and return it.  */
    len = strlen (base);
!   tmpdir = XNEWVEC (char, len + 2);
    strcpy (tmpdir, base);
    tmpdir[len] = DIR_SEPARATOR;
    tmpdir[len+1] = '\0';
*************** make_temp_file (const char *suffix)
*** 158,164 ****
    base_len = strlen (base);
    suffix_len = strlen (suffix);
  
!   temp_filename = xmalloc (base_len
  			   + TEMP_FILE_LEN
  			   + suffix_len + 1);
    strcpy (temp_filename, base);
--- 158,164 ----
    base_len = strlen (base);
    suffix_len = strlen (suffix);
  
!   temp_filename = XNEWVEC (char, base_len
  			   + TEMP_FILE_LEN
  			   + suffix_len + 1);
    strcpy (temp_filename, base);
Index: mkstemps.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/mkstemps.c,v
retrieving revision 1.10
diff -p -r1.10 mkstemps.c
*** mkstemps.c	10 May 2005 15:33:17 -0000	1.10
--- mkstemps.c	18 May 2005 20:28:42 -0000
*************** typedef unsigned long gcc_uint64_t;
*** 51,67 ****
  
  /*
  
! @deftypefn Replacement int mkstemps (char *@var{template}, int @var{suffix_len})
  
! Generate a unique temporary file name from @var{template}.
! @var{template} has the form:
  
  @example
     @var{path}/ccXXXXXX@var{suffix}
  @end example
  
  @var{suffix_len} tells us how long @var{suffix} is (it can be zero
! length).  The last six characters of @var{template} before @var{suffix}
  must be @samp{XXXXXX}; they are replaced with a string that makes the
  filename unique.  Returns a file descriptor open on the file for
  reading and writing.
--- 51,67 ----
  
  /*
  
! @deftypefn Replacement int mkstemps (char *@var{pattern}, int @var{suffix_len})
  
! Generate a unique temporary file name from @var{pattern}.
! @var{pattern} has the form:
  
  @example
     @var{path}/ccXXXXXX@var{suffix}
  @end example
  
  @var{suffix_len} tells us how long @var{suffix} is (it can be zero
! length).  The last six characters of @var{pattern} before @var{suffix}
  must be @samp{XXXXXX}; they are replaced with a string that makes the
  filename unique.  Returns a file descriptor open on the file for
  reading and writing.
*************** reading and writing.
*** 71,77 ****
  */
  
  int
! mkstemps (char *template, int suffix_len)
  {
    static const char letters[]
      = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
--- 71,77 ----
  */
  
  int
! mkstemps (char *pattern, int suffix_len)
  {
    static const char letters[]
      = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
*************** mkstemps (char *template, int suffix_len
*** 83,97 ****
    size_t len;
    int count;
  
!   len = strlen (template);
  
    if ((int) len < 6 + suffix_len
!       || strncmp (&template[len - 6 - suffix_len], "XXXXXX", 6))
      {
        return -1;
      }
  
!   XXXXXX = &template[len - 6 - suffix_len];
  
  #ifdef HAVE_GETTIMEOFDAY
    /* Get some more or less random data.  */
--- 83,97 ----
    size_t len;
    int count;
  
!   len = strlen (pattern);
  
    if ((int) len < 6 + suffix_len
!       || strncmp (&pattern[len - 6 - suffix_len], "XXXXXX", 6))
      {
        return -1;
      }
  
!   XXXXXX = &pattern[len - 6 - suffix_len];
  
  #ifdef HAVE_GETTIMEOFDAY
    /* Get some more or less random data.  */
*************** mkstemps (char *template, int suffix_len
*** 119,125 ****
        v /= 62;
        XXXXXX[5] = letters[v % 62];
  
!       fd = open (template, O_RDWR|O_CREAT|O_EXCL, 0600);
        if (fd >= 0)
  	/* The file does not exist.  */
  	return fd;
--- 119,125 ----
        v /= 62;
        XXXXXX[5] = letters[v % 62];
  
!       fd = open (pattern, O_RDWR|O_CREAT|O_EXCL, 0600);
        if (fd >= 0)
  	/* The file does not exist.  */
  	return fd;
*************** mkstemps (char *template, int suffix_len
*** 131,136 ****
      }
  
    /* We return the null string if we can't find a unique file name.  */
!   template[0] = '\0';
    return -1;
  }
--- 131,136 ----
      }
  
    /* We return the null string if we can't find a unique file name.  */
!   pattern[0] = '\0';
    return -1;
  }
Index: pex-common.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/pex-common.c,v
retrieving revision 1.2
diff -p -r1.2 pex-common.c
*** pex-common.c	10 May 2005 15:33:17 -0000	1.2
--- pex-common.c	18 May 2005 20:28:42 -0000
*************** pex_init_common (int flags, const char *
*** 55,61 ****
  {
    struct pex_obj *obj;
  
!   obj = xmalloc (sizeof (*obj));
    obj->flags = flags;
    obj->pname = pname;
    obj->tempbase = tempbase;
--- 55,61 ----
  {
    struct pex_obj *obj;
  
!   obj = XNEW (struct pex_obj);
    obj->flags = flags;
    obj->pname = pname;
    obj->tempbase = tempbase;
*************** pex_add_remove (struct pex_obj *obj, con
*** 83,89 ****
    char *add;
  
    ++obj->remove_count;
!   obj->remove = xrealloc (obj->remove, obj->remove_count * sizeof (char *));
    if (allocated)
      add = (char *) name;
    else
--- 83,89 ----
    char *add;
  
    ++obj->remove_count;
!   obj->remove = XRESIZEVEC (char *, obj->remove, obj->remove_count);
    if (allocated)
      add = (char *) name;
    else
*************** pex_run (struct pex_obj *obj, int flags,
*** 280,286 ****
      goto error_exit;
  
    ++obj->count;
!   obj->children = xrealloc (obj->children, obj->count * sizeof (long));
    obj->children[obj->count - 1] = pid;
  
    return NULL;
--- 280,286 ----
      goto error_exit;
  
    ++obj->count;
!   obj->children = XRESIZEVEC (long, obj->children, obj->count);
    obj->children[obj->count - 1] = pid;
  
    return NULL;
*************** pex_get_status_and_time (struct pex_obj 
*** 352,360 ****
    if (obj->number_waited == obj->count)
      return 1;
  
!   obj->status = xrealloc (obj->status, obj->count * sizeof (int));
    if ((obj->flags & PEX_RECORD_TIMES) != 0)
!     obj->time = xrealloc (obj->time, obj->count * sizeof (struct pex_time));
  
    ret = 1;
    for (i = obj->number_waited; i < obj->count; ++i)
--- 352,360 ----
    if (obj->number_waited == obj->count)
      return 1;
  
!   obj->status = XRESIZEVEC (int, obj->status, obj->count);
    if ((obj->flags & PEX_RECORD_TIMES) != 0)
!     obj->time = XRESIZEVEC (struct pex_time, obj->time, obj->count);
  
    ret = 1;
    for (i = obj->number_waited; i < obj->count; ++i)
Index: pex-djgpp.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/pex-djgpp.c,v
retrieving revision 1.5
diff -p -r1.5 pex-djgpp.c
*** pex-djgpp.c	12 May 2005 03:44:58 -0000	1.5
--- pex-djgpp.c	18 May 2005 20:28:42 -0000
*************** pex_djgpp_exec_child (struct pex_obj *ob
*** 257,263 ****
       is the number of children which have executed before this
       one.  */
    statuses = (int *) obj->sysdep;
!   statuses = xrealloc (statuses, (obj->count + 1) * sizeof (int));
    statuses[obj->count] = status;
    obj->sysdep = (void *) statuses;
  
--- 257,263 ----
       is the number of children which have executed before this
       one.  */
    statuses = (int *) obj->sysdep;
!   statuses = XRESIZEVEC (int, statuses, obj->count + 1);
    statuses[obj->count] = status;
    obj->sysdep = (void *) statuses;
  
Index: pex-msdos.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/pex-msdos.c,v
retrieving revision 1.4
diff -p -r1.4 pex-msdos.c
*** pex-msdos.c	10 May 2005 15:33:18 -0000	1.4
--- pex-msdos.c	18 May 2005 20:28:42 -0000
*************** pex_init (int flags, const char *pname, 
*** 89,95 ****
  
    ret = pex_init_common (flags, pname, tempbase, funcs);
  
!   ret->sysdep = xmalloc (sizeof (struct pex_msdos));
    for (i = 0; i < PEX_MSDOS_FILE_COUNT; ++i)
      ret->files[i] = NULL;
    ret->statuses = NULL;
--- 89,95 ----
  
    ret = pex_init_common (flags, pname, tempbase, funcs);
  
!   ret->sysdep = XNEW (struct pex_msdos);
    for (i = 0; i < PEX_MSDOS_FILE_COUNT; ++i)
      ret->files[i] = NULL;
    ret->statuses = NULL;
*************** pex_msdos_exec_child (struct pex_obj *ob
*** 210,216 ****
        outfile = ms->files[outindex];
      }
  
!   scmd = xmalloc (strlen (program)
  		  + ((flags & PEXECUTE_SEARCH) != 0 ? 4 : 0)
  		  + strlen (rf)
  		  + strlen (infile)
--- 210,216 ----
        outfile = ms->files[outindex];
      }
  
!   scmd = XNEWVEC (char, strlen (program)
  		  + ((flags & PEXECUTE_SEARCH) != 0 ? 4 : 0)
  		  + strlen (rf)
  		  + strlen (infile)
*************** pex_msdos_exec_child (struct pex_obj *ob
*** 269,275 ****
    /* Save the exit status for later.  When we are called, obj->count
       is the number of children which have executed before this
       one.  */
!   ms->statuses = xrealloc (ms->statuses, (obj->count + 1) * sizeof (int));
    ms->statuses[obj->count] = status;
  
    return obj->count;
--- 269,275 ----
    /* Save the exit status for later.  When we are called, obj->count
       is the number of children which have executed before this
       one.  */
!   ms->statuses = XRESIZEVEC(int, ms->statuses, obj->count + 1);
    ms->statuses[obj->count] = status;
  
    return obj->count;
Index: pex-unix.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/pex-unix.c,v
retrieving revision 1.6
diff -p -r1.6 pex-unix.c
*** pex-unix.c	10 May 2005 15:33:18 -0000	1.6
--- pex-unix.c	18 May 2005 20:28:42 -0000
*************** pex_wait (struct pex_obj *obj, pid_t pid
*** 252,258 ****
  	  return cpid;
  	}
  
!       psl = xmalloc (sizeof (struct status_list));
        psl->pid = cpid;
        psl->status = *status;
        if (time != NULL)
--- 252,258 ----
  	  return cpid;
  	}
  
!       psl = XNEW (struct status_list);
        psl->pid = cpid;
        psl->status = *status;
        if (time != NULL)
Index: pex-win32.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/pex-win32.c,v
retrieving revision 1.7
diff -p -r1.7 pex-win32.c
*** pex-win32.c	10 May 2005 15:33:18 -0000	1.7
--- pex-win32.c	18 May 2005 20:28:42 -0000
*************** fix_argv (char * const *argvec)
*** 79,85 ****
  
    for (i = 0; argvec[i] != NULL; i++)
      ;
!   argv = xmalloc ((i + 1) * sizeof (char *));
    for (i = 0; argvec[i] != NULL; i++)
      argv[i] = xstrdup (argvec[i]);
    argv[i] = NULL;
--- 79,85 ----
  
    for (i = 0; argvec[i] != NULL; i++)
      ;
!   argv = XNEWVEC (char *, i + 1);
    for (i = 0; argvec[i] != NULL; i++)
      argv[i] = xstrdup (argvec[i]);
    argv[i] = NULL;
*************** fix_argv (char * const *argvec)
*** 105,111 ****
          {
            if (temp[j] == '"')
              {
!               newtemp = xmalloc (len + 2);
                strncpy (newtemp, temp, j);
                newtemp [j] = '\\';
                strncpy (&newtemp [j+1], &temp [j], len-j);
--- 105,111 ----
          {
            if (temp[j] == '"')
              {
!               newtemp = XNEWVEC (char, len + 2);
                strncpy (newtemp, temp, j);
                newtemp [j] = '\\';
                strncpy (&newtemp [j+1], &temp [j], len-j);
*************** fix_argv (char * const *argvec)
*** 150,156 ****
  
  	  len += 2;			/* and for the enclosing quotes. */
  
! 	  temp = xmalloc (len + 1);
  	  temp[0] = '"';
  	  strcpy (temp + 1, argv[i]);
  	  if (trailing_backslash)
--- 150,156 ----
  
  	  len += 2;			/* and for the enclosing quotes. */
  
! 	  temp = XNEWVEC (char, len + 1);
  	  temp[0] = '"';
  	  strcpy (temp + 1, argv[i]);
  	  if (trailing_backslash)
Index: pexecute.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/pexecute.c,v
retrieving revision 1.26
diff -p -r1.26 pexecute.c
*** pexecute.c	10 May 2005 15:33:18 -0000	1.26
--- pexecute.c	18 May 2005 20:28:42 -0000
*************** pwait (int pid, int *status, int flags A
*** 99,105 ****
      {
        int *vector;
  
!       vector = xmalloc (idx * sizeof (int));
        if (!pex_get_status (pex, idx, vector))
  	return -1;
        *status = vector[pid];
--- 99,105 ----
      {
        int *vector;
  
!       vector = XNEWVEC (int, idx);
        if (!pex_get_status (pex, idx, vector))
  	return -1;
        *status = vector[pid];
Index: sort.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/sort.c,v
retrieving revision 1.7
diff -p -r1.7 sort.c
*** sort.c	10 May 2005 15:33:18 -0000	1.7
--- sort.c	18 May 2005 20:28:44 -0000
*************** int main (int argc, char **argv)
*** 155,162 ****
    else
      k = 10;
  
!   pointers = xmalloc (k * sizeof (void *));
!   work = xmalloc (k * sizeof (void *));
  
    for (i = 0; i < k; ++i)
      {
--- 155,162 ----
    else
      k = 10;
  
!   pointers = XNEWVEC (void*, k);
!   work = XNEWVEC (void*, k);
  
    for (i = 0; i < k; ++i)
      {
Index: spaces.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/spaces.c,v
retrieving revision 1.6
diff -p -r1.6 spaces.c
*** spaces.c	10 May 2005 15:33:18 -0000	1.6
--- spaces.c	18 May 2005 20:28:44 -0000
*************** spaces (int count)
*** 57,63 ****
  	{
  	  free (buf);
  	}
!       buf = malloc (count + 1);
        if (buf == (char *) 0)
  	return 0;
        for (t = buf + count ; t != buf ; )
--- 57,63 ----
  	{
  	  free (buf);
  	}
!       buf = (char *) malloc (count + 1);
        if (buf == (char *) 0)
  	return 0;
        for (t = buf + count ; t != buf ; )
Index: ternary.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/ternary.c,v
retrieving revision 1.4
diff -p -r1.4 ternary.c
*** ternary.c	10 May 2005 15:33:18 -0000	1.4
--- ternary.c	18 May 2005 20:28:44 -0000
*************** ternary_insert (ternary_tree *root, cons
*** 74,80 ****
    for (;;)
      {
        /* Allocate the memory for the node, and fill it in */
!       *pcurr = (ternary_tree) xmalloc (sizeof (ternary_node));
        curr = *pcurr;
        curr->splitchar = *s;
        curr->lokid = curr->hikid = curr->eqkid = 0;
--- 74,80 ----
    for (;;)
      {
        /* Allocate the memory for the node, and fill it in */
!       *pcurr = XNEW (ternary_node);
        curr = *pcurr;
        curr->splitchar = *s;
        curr->lokid = curr->hikid = curr->eqkid = 0;
Index: xmalloc.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/xmalloc.c,v
retrieving revision 1.18
diff -p -r1.18 xmalloc.c
*** xmalloc.c	10 May 2005 15:33:18 -0000	1.18
--- xmalloc.c	18 May 2005 20:28:44 -0000
*************** function will be called to print an erro
*** 74,84 ****
--- 74,90 ----
  #include <stdlib.h>
  #include <unixlib.h>
  #else
+ #  ifdef __cplusplus
+ extern "C" {
+ #  endif /* __cplusplus */
  /* For systems with larger pointers than ints, these must be declared.  */
  PTR malloc (size_t);
  PTR realloc (PTR, size_t);
  PTR calloc (size_t, size_t);
  PTR sbrk (ptrdiff_t);
+ #  ifdef __cplusplus
+ }
+ #  endif /* __cplusplus */
  #endif
  
  /* The program name if set.  */
Index: xstrdup.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/xstrdup.c,v
retrieving revision 1.9
diff -p -r1.9 xstrdup.c
*** xstrdup.c	28 Mar 2005 01:28:01 -0000	1.9
--- xstrdup.c	18 May 2005 20:28:44 -0000
*************** char *
*** 31,36 ****
  xstrdup (const char *s)
  {
    register size_t len = strlen (s) + 1;
!   register char *ret = xmalloc (len);
    return (char *) memcpy (ret, s, len);
  }
--- 31,36 ----
  xstrdup (const char *s)
  {
    register size_t len = strlen (s) + 1;
!   register char *ret = XNEWVEC (char, len);
    return (char *) memcpy (ret, s, len);
  }
Index: xstrerror.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/xstrerror.c,v
retrieving revision 1.6
diff -p -r1.6 xstrerror.c
*** xstrerror.c	28 Mar 2005 01:28:01 -0000	1.6
--- xstrerror.c	18 May 2005 20:28:44 -0000
*************** extern char *strerror (int,...);
*** 27,32 ****
--- 27,35 ----
  #endif	/* VMS */
  
  #ifndef DONT_DECLARE_STRERROR
+ #  ifdef __cplusplus
+ extern "C" 
+ #  endif /* __cplusplus */
  extern char *strerror (int);
  #endif
  
Index: xstrndup.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/xstrndup.c,v
retrieving revision 1.3
diff -p -r1.3 xstrndup.c
*** xstrndup.c	10 May 2005 15:33:18 -0000	1.3
--- xstrndup.c	18 May 2005 20:28:44 -0000
*************** xstrndup (const char *s, size_t n)
*** 53,60 ****
    if (n < len)
      len = n;
  
!   result = xmalloc (len + 1);
  
    result[len] = '\0';
!   return memcpy (result, s, len);
  }
--- 53,60 ----
    if (n < len)
      len = n;
  
!   result = XNEWVEC (char, len + 1);
  
    result[len] = '\0';
!   return (char *) memcpy (result, s, len);
  }


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]