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>
|
2004-07-23 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
* bin-bugs.h (REPORT_BUGS_TO): Set to
|
* 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__))
|
#define ATTRIBUTE_UNUSED __attribute__ ((__unused__))
|
||||||
#endif /* 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
|
#ifndef ATTRIBUTE_NORETURN
|
||||||
#define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__))
|
#define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__))
|
||||||
#endif /* 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_total PARAMS ((void));
|
||||||
extern double physmem_available 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 */
|
/* hex character manipulation routines */
|
||||||
|
|
||||||
#define _hex_array_size 256
|
#define _hex_array_size 256
|
||||||
|
|
Loading…
Reference in New Issue