mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-02-20 16:01:10 +08:00
merge from gcc
This commit is contained in:
parent
f58bc5991f
commit
b536197a75
@ -1,3 +1,27 @@
|
||||
2014-12-11 Uros Bizjak <ubizjak@gmail.com>
|
||||
Ben Elliston <bje@au.ibm.com>
|
||||
Manuel Lopez-Ibanez <manu@gcc.gnu.org>
|
||||
|
||||
* libiberty.h (xvasprintf): Declare.
|
||||
|
||||
2014-12-09 Trevor Saunders <tsaunders@mozilla.com>
|
||||
|
||||
* hashtab.h, splay-tree.h: Remove GTY markers.
|
||||
|
||||
2014-12-08 Mark Wielaard <mjw@redhat.com>
|
||||
|
||||
PR debug/60782
|
||||
* dwarf2.def: Add DWARFv5 DW_TAG_atomic_type.
|
||||
|
||||
2014-11-21 Mark Wielaard <mjw@redhat.com>
|
||||
|
||||
* dwarf2.h: Add DW_LANG_C_plus_plus_11, DW_LANG_C11 and
|
||||
DW_LANG_C_plus_plus_14.
|
||||
|
||||
2014-11-25 Mark Wielaard <mjw@redhat.com>
|
||||
|
||||
* dwarf2.def (DW_AT_noreturn): New DWARF5 attribute.
|
||||
|
||||
2014-11-14 Shinichiro Hamaji <shinichiro.hamaji@gmail.com>
|
||||
|
||||
* dwarf2.def (DW_AT_APPLE_optimized, DW_AT_APPLE_flags)
|
||||
|
@ -133,6 +133,8 @@ DW_TAG (DW_TAG_shared_type, 0x40)
|
||||
DW_TAG (DW_TAG_type_unit, 0x41)
|
||||
DW_TAG (DW_TAG_rvalue_reference_type, 0x42)
|
||||
DW_TAG (DW_TAG_template_alias, 0x43)
|
||||
/* DWARF 5. */
|
||||
DW_TAG (DW_TAG_atomic_type, 0x47)
|
||||
|
||||
DW_TAG_DUP (DW_TAG_lo_user, 0x4080)
|
||||
DW_TAG_DUP (DW_TAG_hi_user, 0xffff)
|
||||
@ -308,6 +310,8 @@ DW_AT (DW_AT_data_bit_offset, 0x6b)
|
||||
DW_AT (DW_AT_const_expr, 0x6c)
|
||||
DW_AT (DW_AT_enum_class, 0x6d)
|
||||
DW_AT (DW_AT_linkage_name, 0x6e)
|
||||
/* DWARF 5. */
|
||||
DW_AT (DW_AT_noreturn, 0x87)
|
||||
|
||||
DW_AT_DUP (DW_AT_lo_user, 0x2000) /* Implementation-defined range start. */
|
||||
DW_AT_DUP (DW_AT_hi_user, 0x3fff) /* Implementation-defined range end. */
|
||||
|
@ -309,6 +309,10 @@ enum dwarf_source_language
|
||||
/* DWARF 5. */
|
||||
DW_LANG_Go = 0x0016,
|
||||
|
||||
DW_LANG_C_plus_plus_11 = 0x001a, /* dwarf5.20141029.pdf DRAFT */
|
||||
DW_LANG_C11 = 0x001d,
|
||||
DW_LANG_C_plus_plus_14 = 0x0021,
|
||||
|
||||
DW_LANG_lo_user = 0x8000, /* Implementation-defined range start. */
|
||||
DW_LANG_hi_user = 0xffff, /* Implementation-defined range start. */
|
||||
|
||||
|
@ -39,10 +39,6 @@ extern "C" {
|
||||
|
||||
#include "ansidecl.h"
|
||||
|
||||
#ifndef GTY
|
||||
#define GTY(X)
|
||||
#endif
|
||||
|
||||
/* The type for a hash code. */
|
||||
typedef unsigned int hashval_t;
|
||||
|
||||
@ -97,7 +93,7 @@ typedef void (*htab_free_with_arg) (void *, void *);
|
||||
functions mentioned below. The size of this structure is subject to
|
||||
change. */
|
||||
|
||||
struct GTY(()) htab {
|
||||
struct htab {
|
||||
/* Pointer to hash function. */
|
||||
htab_hash hash_f;
|
||||
|
||||
@ -108,7 +104,7 @@ struct GTY(()) htab {
|
||||
htab_del del_f;
|
||||
|
||||
/* Table itself. */
|
||||
void ** GTY ((use_param, length ("%h.size"))) entries;
|
||||
void **entries;
|
||||
|
||||
/* Current size (in entries) of the hash table. */
|
||||
size_t size;
|
||||
@ -132,7 +128,7 @@ struct GTY(()) htab {
|
||||
htab_free free_f;
|
||||
|
||||
/* Alternate allocate/free functions, which take an extra argument. */
|
||||
void * GTY((skip)) alloc_arg;
|
||||
void *alloc_arg;
|
||||
htab_alloc_with_arg alloc_with_arg_f;
|
||||
htab_free_with_arg free_with_arg_f;
|
||||
|
||||
|
@ -636,6 +636,11 @@ extern int asprintf (char **, const char *, ...) ATTRIBUTE_PRINTF_2;
|
||||
extern int vasprintf (char **, const char *, va_list) ATTRIBUTE_PRINTF(2,0);
|
||||
#endif
|
||||
|
||||
/* Like vasprintf but allocates memory without fail. This works like
|
||||
xmalloc. */
|
||||
|
||||
extern char *xvasprintf (const char *, va_list) ATTRIBUTE_MALLOC ATTRIBUTE_PRINTF(1,0);
|
||||
|
||||
#if defined(HAVE_DECL_SNPRINTF) && !HAVE_DECL_SNPRINTF
|
||||
/* Like sprintf but prints at most N characters. */
|
||||
extern int snprintf (char *, size_t, const char *, ...) ATTRIBUTE_PRINTF_3;
|
||||
|
@ -44,10 +44,6 @@ extern "C" {
|
||||
#include <inttypes.h>
|
||||
#endif
|
||||
|
||||
#ifndef GTY
|
||||
#define GTY(X)
|
||||
#endif
|
||||
|
||||
/* Use typedefs for the key and data types to facilitate changing
|
||||
these types, if necessary. These types should be sufficiently wide
|
||||
that any pointer or scalar can be cast to these types, and then
|
||||
@ -86,22 +82,22 @@ typedef void *(*splay_tree_allocate_fn) (int, void *);
|
||||
typedef void (*splay_tree_deallocate_fn) (void *, void *);
|
||||
|
||||
/* The nodes in the splay tree. */
|
||||
struct GTY(()) splay_tree_node_s {
|
||||
struct splay_tree_node_s {
|
||||
/* The key. */
|
||||
splay_tree_key GTY ((use_param1)) key;
|
||||
splay_tree_key key;
|
||||
|
||||
/* The value. */
|
||||
splay_tree_value GTY ((use_param2)) value;
|
||||
splay_tree_value value;
|
||||
|
||||
/* The left and right children, respectively. */
|
||||
splay_tree_node GTY ((use_params)) left;
|
||||
splay_tree_node GTY ((use_params)) right;
|
||||
splay_tree_node left;
|
||||
splay_tree_node right;
|
||||
};
|
||||
|
||||
/* The splay tree itself. */
|
||||
struct GTY(()) splay_tree_s {
|
||||
struct splay_tree_s {
|
||||
/* The root of the tree. */
|
||||
splay_tree_node GTY ((use_params)) root;
|
||||
splay_tree_node root;
|
||||
|
||||
/* The comparision function. */
|
||||
splay_tree_compare_fn comp;
|
||||
@ -119,7 +115,7 @@ struct GTY(()) splay_tree_s {
|
||||
splay_tree_deallocate_fn deallocate;
|
||||
|
||||
/* Parameter for allocate/free functions. */
|
||||
void * GTY((skip)) allocate_data;
|
||||
void *allocate_data;
|
||||
};
|
||||
|
||||
typedef struct splay_tree_s *splay_tree;
|
||||
|
Loading…
x
Reference in New Issue
Block a user