merge from gcc
This commit is contained in:
		
							parent
							
								
									b92b36bd8a
								
							
						
					
					
						commit
						8c2defa46c
					
				| 
						 | 
				
			
			@ -1,3 +1,7 @@
 | 
			
		|||
2004-07-24  Bernardo Innocenti  <bernie@develer.com>
 | 
			
		||||
 | 
			
		||||
	* ansidecl.h (ARG_UNUSED): New Macro.
 | 
			
		||||
 | 
			
		||||
2004-07-23  H.J. Lu  <hongjiu.lu@intel.com>
 | 
			
		||||
 | 
			
		||||
	* bin-bugs.h (REPORT_BUGS_TO): Set to
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -264,6 +264,14 @@ So instead we use the macro below and test it against specific values.  */
 | 
			
		|||
#define ATTRIBUTE_UNUSED __attribute__ ((__unused__))
 | 
			
		||||
#endif /* ATTRIBUTE_UNUSED */
 | 
			
		||||
 | 
			
		||||
/* Before GCC 3.4, the C++ frontend couldn't parse attributes placed after the
 | 
			
		||||
   identifier name.  */
 | 
			
		||||
#if ! defined(__cplusplus) || (GCC_VERSION >= 3004)
 | 
			
		||||
# define ARG_UNUSED(NAME) NAME ATTRIBUTE_UNUSED
 | 
			
		||||
#else /* !__cplusplus || GNUC >= 3.4 */
 | 
			
		||||
# define ARG_UNUSED(NAME) NAME
 | 
			
		||||
#endif /* !__cplusplus || GNUC >= 3.4 */
 | 
			
		||||
 | 
			
		||||
#ifndef ATTRIBUTE_NORETURN
 | 
			
		||||
#define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__))
 | 
			
		||||
#endif /* ATTRIBUTE_NORETURN */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -250,6 +250,37 @@ extern PTR xmemdup PARAMS ((const PTR, size_t, size_t)) ATTRIBUTE_MALLOC;
 | 
			
		|||
extern double physmem_total PARAMS ((void));
 | 
			
		||||
extern double physmem_available PARAMS ((void));
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* These macros provide a K&R/C89/C++-friendly way of allocating structures
 | 
			
		||||
   with nice encapsulation.  The XDELETE*() macros are technically
 | 
			
		||||
   superfluous, but provided here for symmetry.  Using them consistently
 | 
			
		||||
   makes it easier to update client code to use different allocators such
 | 
			
		||||
   as new/delete and new[]/delete[].  */
 | 
			
		||||
 | 
			
		||||
/* Scalar allocators.  */
 | 
			
		||||
 | 
			
		||||
#define XNEW(T)			((T *) xmalloc (sizeof (T)))
 | 
			
		||||
#define XCNEW(T)		((T *) xcalloc (1, sizeof (T)))
 | 
			
		||||
#define XDELETE(P)		free ((P))
 | 
			
		||||
 | 
			
		||||
/* Array allocators.  */
 | 
			
		||||
 | 
			
		||||
#define XNEWVEC(T, N)		((T *) xmalloc (sizeof (T) * (N)))
 | 
			
		||||
#define XCNEWVEC(T, N)		((T *) xcalloc ((N), sizeof (T)))
 | 
			
		||||
#define XRESIZEVEC(T, P, N)	((T *) xrealloc ((P), sizeof (T) * (N)))
 | 
			
		||||
#define XDELETEVEC(P)		free ((P))
 | 
			
		||||
 | 
			
		||||
/* Allocators for variable-sized structures and raw buffers.  */
 | 
			
		||||
 | 
			
		||||
#define XNEWVAR(T, S)		((T *) xmalloc ((S)))
 | 
			
		||||
#define XCNEWVAR(T, S)		((T *) xcalloc (1, (S)))
 | 
			
		||||
#define XRESIZEVAR(T, P, S)	((T *) xrealloc ((P), (S)))
 | 
			
		||||
 | 
			
		||||
/* Type-safe obstack allocator.  */
 | 
			
		||||
 | 
			
		||||
#define XOBNEW(O, T)		((T *) obstack_alloc ((O), sizeof (T)))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* hex character manipulation routines */
 | 
			
		||||
 | 
			
		||||
#define _hex_array_size 256
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue