merge from gcc

This commit is contained in:
DJ Delorie 2014-12-15 06:56:39 +00:00
parent f58bc5991f
commit b536197a75
6 changed files with 48 additions and 19 deletions

View File

@ -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)

View File

@ -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. */

View File

@ -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. */

View File

@ -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;

View File

@ -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;

View File

@ -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;