File gcc-power7-sles-11sp1.patch02f of Package gcc43

2009-10-15  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* libiberty.h (XALLOCA): Backport from 4.5 development tree.
	(XDUP): Ditto.
	(XALLOCAVEC): Ditto.
	(XDUPVEC): Ditto.
	(XALLOCVAR): Ditto.
	(XDUPVAR): Ditto.
	(XOBNEWVEC): Ditto.
	(XOBNEWVAR): Ditto.

diff -rupN --exclude='*~' --exclude=autom4te.cache sles-11sp1-orig/include/libiberty.h sles-11sp1/include/libiberty.h
--- sles-11sp1-orig/include/libiberty.h	2008-02-19 04:56:53.000000000 -0500
+++ sles-11sp1/include/libiberty.h	2009-10-12 17:33:11.000000000 -0400
@@ -320,26 +320,34 @@ extern double physmem_available (void);
 
 /* Scalar allocators.  */
 
+#define XALLOCA(T)		((T *) alloca (sizeof (T)))
 #define XNEW(T)			((T *) xmalloc (sizeof (T)))
 #define XCNEW(T)		((T *) xcalloc (1, sizeof (T)))
+#define XDUP(T, P)		((T *) xmemdup ((P), sizeof (T), sizeof (T)))
 #define XDELETE(P)		free ((void*) (P))
 
 /* Array allocators.  */
 
+#define XALLOCAVEC(T, N)	((T *) alloca (sizeof (T) * (N)))
 #define XNEWVEC(T, N)		((T *) xmalloc (sizeof (T) * (N)))
 #define XCNEWVEC(T, N)		((T *) xcalloc ((N), sizeof (T)))
+#define XDUPVEC(T, P, N)	((T *) xmemdup ((P), sizeof (T) * (N), sizeof (T) * (N)))
 #define XRESIZEVEC(T, P, N)	((T *) xrealloc ((void *) (P), sizeof (T) * (N)))
 #define XDELETEVEC(P)		free ((void*) (P))
 
 /* Allocators for variable-sized structures and raw buffers.  */
 
+#define XALLOCAVAR(T, S)	((T *) alloca ((S)))
 #define XNEWVAR(T, S)		((T *) xmalloc ((S)))
 #define XCNEWVAR(T, S)		((T *) xcalloc (1, (S)))
+#define XDUPVAR(T, P, S1, S2)	((T *) xmemdup ((P), (S1), (S2)))
 #define XRESIZEVAR(T, P, S)	((T *) xrealloc ((P), (S)))
 
 /* Type-safe obstack allocator.  */
 
 #define XOBNEW(O, T)		((T *) obstack_alloc ((O), sizeof (T)))
+#define XOBNEWVEC(O, T, N)	((T *) obstack_alloc ((O), sizeof (T) * (N)))
+#define XOBNEWVAR(O, T, S)	((T *) obstack_alloc ((O), (S)))
 #define XOBFINISH(O, T)         ((T) obstack_finish ((O)))
 
 /* hex character manipulation routines */