merge from gcc
This commit is contained in:
		| @@ -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> | 2014-11-14  Shinichiro Hamaji  <shinichiro.hamaji@gmail.com> | ||||||
|  |  | ||||||
| 	* dwarf2.def (DW_AT_APPLE_optimized, DW_AT_APPLE_flags) | 	* 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_type_unit, 0x41) | ||||||
| DW_TAG (DW_TAG_rvalue_reference_type, 0x42) | DW_TAG (DW_TAG_rvalue_reference_type, 0x42) | ||||||
| DW_TAG (DW_TAG_template_alias, 0x43) | 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_lo_user, 0x4080) | ||||||
| DW_TAG_DUP (DW_TAG_hi_user, 0xffff) | 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_const_expr, 0x6c) | ||||||
| DW_AT (DW_AT_enum_class, 0x6d) | DW_AT (DW_AT_enum_class, 0x6d) | ||||||
| DW_AT (DW_AT_linkage_name, 0x6e) | 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_lo_user, 0x2000) /* Implementation-defined range start.  */ | ||||||
| DW_AT_DUP (DW_AT_hi_user, 0x3fff) /* Implementation-defined range end.  */ | DW_AT_DUP (DW_AT_hi_user, 0x3fff) /* Implementation-defined range end.  */ | ||||||
|   | |||||||
| @@ -309,6 +309,10 @@ enum dwarf_source_language | |||||||
|     /* DWARF 5.  */ |     /* DWARF 5.  */ | ||||||
|     DW_LANG_Go = 0x0016, |     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_lo_user = 0x8000,	/* Implementation-defined range start.  */ | ||||||
|     DW_LANG_hi_user = 0xffff,	/* Implementation-defined range start.  */ |     DW_LANG_hi_user = 0xffff,	/* Implementation-defined range start.  */ | ||||||
|  |  | ||||||
|   | |||||||
| @@ -39,10 +39,6 @@ extern "C" { | |||||||
|  |  | ||||||
| #include "ansidecl.h" | #include "ansidecl.h" | ||||||
|  |  | ||||||
| #ifndef GTY |  | ||||||
| #define GTY(X) |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| /* The type for a hash code.  */ | /* The type for a hash code.  */ | ||||||
| typedef unsigned int hashval_t; | 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 |    functions mentioned below.  The size of this structure is subject to | ||||||
|    change.  */ |    change.  */ | ||||||
|  |  | ||||||
| struct GTY(()) htab { | struct htab { | ||||||
|   /* Pointer to hash function.  */ |   /* Pointer to hash function.  */ | ||||||
|   htab_hash hash_f; |   htab_hash hash_f; | ||||||
|  |  | ||||||
| @@ -108,7 +104,7 @@ struct GTY(()) htab { | |||||||
|   htab_del del_f; |   htab_del del_f; | ||||||
|  |  | ||||||
|   /* Table itself.  */ |   /* Table itself.  */ | ||||||
|   void ** GTY ((use_param, length ("%h.size"))) entries; |   void **entries; | ||||||
|  |  | ||||||
|   /* Current size (in entries) of the hash table.  */ |   /* Current size (in entries) of the hash table.  */ | ||||||
|   size_t size; |   size_t size; | ||||||
| @@ -132,7 +128,7 @@ struct GTY(()) htab { | |||||||
|   htab_free free_f; |   htab_free free_f; | ||||||
|  |  | ||||||
|   /* Alternate allocate/free functions, which take an extra argument.  */ |   /* 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_alloc_with_arg alloc_with_arg_f; | ||||||
|   htab_free_with_arg free_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); | extern int vasprintf (char **, const char *, va_list) ATTRIBUTE_PRINTF(2,0); | ||||||
| #endif | #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 | #if defined(HAVE_DECL_SNPRINTF) && !HAVE_DECL_SNPRINTF | ||||||
| /* Like sprintf but prints at most N characters.  */ | /* Like sprintf but prints at most N characters.  */ | ||||||
| extern int snprintf (char *, size_t, const char *, ...) ATTRIBUTE_PRINTF_3; | extern int snprintf (char *, size_t, const char *, ...) ATTRIBUTE_PRINTF_3; | ||||||
|   | |||||||
| @@ -44,10 +44,6 @@ extern "C" { | |||||||
| #include <inttypes.h> | #include <inttypes.h> | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| #ifndef GTY |  | ||||||
| #define GTY(X) |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| /* Use typedefs for the key and data types to facilitate changing | /* Use typedefs for the key and data types to facilitate changing | ||||||
|    these types, if necessary.  These types should be sufficiently wide |    these types, if necessary.  These types should be sufficiently wide | ||||||
|    that any pointer or scalar can be cast to these types, and then |    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 *); | typedef void (*splay_tree_deallocate_fn) (void *, void *); | ||||||
|  |  | ||||||
| /* The nodes in the splay tree.  */ | /* The nodes in the splay tree.  */ | ||||||
| struct GTY(()) splay_tree_node_s { | struct splay_tree_node_s { | ||||||
|   /* The key.  */ |   /* The key.  */ | ||||||
|   splay_tree_key GTY ((use_param1)) key; |   splay_tree_key key; | ||||||
|  |  | ||||||
|   /* The value.  */ |   /* The value.  */ | ||||||
|   splay_tree_value GTY ((use_param2)) value; |   splay_tree_value value; | ||||||
|  |  | ||||||
|   /* The left and right children, respectively.  */ |   /* The left and right children, respectively.  */ | ||||||
|   splay_tree_node GTY ((use_params)) left; |   splay_tree_node left; | ||||||
|   splay_tree_node GTY ((use_params)) right; |   splay_tree_node right; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| /* The splay tree itself.  */ | /* The splay tree itself.  */ | ||||||
| struct GTY(()) splay_tree_s { | struct splay_tree_s { | ||||||
|   /* The root of the tree.  */ |   /* The root of the tree.  */ | ||||||
|   splay_tree_node GTY ((use_params)) root; |   splay_tree_node root; | ||||||
|  |  | ||||||
|   /* The comparision function.  */ |   /* The comparision function.  */ | ||||||
|   splay_tree_compare_fn comp; |   splay_tree_compare_fn comp; | ||||||
| @@ -119,7 +115,7 @@ struct GTY(()) splay_tree_s { | |||||||
|   splay_tree_deallocate_fn deallocate; |   splay_tree_deallocate_fn deallocate; | ||||||
|  |  | ||||||
|   /* Parameter for allocate/free functions.  */ |   /* Parameter for allocate/free functions.  */ | ||||||
|   void * GTY((skip)) allocate_data; |   void *allocate_data; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| typedef struct splay_tree_s *splay_tree; | typedef struct splay_tree_s *splay_tree; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user