+2017-12-06 Simon Marchi <simon.marchi@ericsson.com>
+
+ * break-catch-syscall.c (catch_syscall_completer): Get pointers
+ to syscall group strings after building the string vector.
+
+2017-12-06 Pedro Alves <palves@redhat.com>
+
+ * remote.c (remote_query_supported): Don't send "xmlRegisters=" if
+ "qXfer:features:read"" is disabled.
+ (remote_write_qxfer, remote_read_qxfer, remote_search_memory):
+ Check packet_config_support instead of packet->support directly.
+
+2017-12-05 Simon Marchi <simon.marchi@ericsson.com>
+
+ * target-descriptions.c (struct tdesc_feature) <registers>: Use
+ tdesc_reg_up typedef.
+ (struct target_desc) <features>: Use tdesc_feature_up typedef.
+
+2017-12-05 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * target-descriptions.c (struct tdesc_type): Use default
+ destructor.
+ <u>: Remove.
+ <accept>: Remove.
+ (struct tdesc_type_builtin): New.
+ (struct tdesc_type_vector): New.
+ (struct tdesc_type_with_fields): New.
+ (tdesc_predefined_types): Change type to tdesc_type_builtin[].
+ (tdesc_gdb_type): Remove.
+ (tdesc_register_type): Adjust.
+ (tdesc_create_vector): Create tdesc_type_vector.
+ (tdesc_create_struct): Create tdesc_type_with_fields.
+ (tdesc_set_struct_size): Change parameter type.
+ (tdesc_create_union): Create tdesc_type_with_fields.
+ (tdesc_create_flags): Likewise.
+ (tdesc_create_enum): Likewise.
+ (tdesc_add_field): Change parameter type.
+ (tdesc_add_typed_bitfield): Likewise.
+ (tdesc_add_bitfield): Likewise.
+ (tdesc_add_flag): Likewise.
+ (tdesc_add_enum_value): Likewise.
+ (print_c_tdesc) <visit>: Remove overload with tdesc_type
+ parameter, add overloads for tdesc_type_builtin,
+ tdesc_type_with_fields and tdesc_type_vector.
+ <m_printed_type>: Remove.
+ <m_printed_element_type, m_printed_type_with_fields>: Add.
+ * target-descriptions.h (tdesc_create_enum): Change return type.
+ (tdesc_add_typed_bitfield): Change parameter type.
+ (tdesc_add_enum_value): Change parameter type.
+ * xml-tdesc.c (struct tdesc_parsing_data) <current_type>: Change
+ type to tdesc_type_with_fields.
+ (tdesc_start_struct): Adjust.
+ (tdesc_start_flags): Adjust.
+ (tdesc_start_enum): Adjust.
+ (tdesc_start_field): Adjust.
+ * arch/tdesc.h (struct tdesc_type_builtin): Forward-declare.
+ (struct tdesc_type_vector): Forward-declare.
+ (struct tdesc_type_with_fields): Forward-declare.
+ (tdesc_create_struct): Change return type.
+ (tdesc_create_union): Likewise.
+ (tdesc_create_flags): Likewise.
+ (tdesc_add_field): Change parameter type.
+ (tdesc_set_struct_size): Likewise.
+ (tdesc_add_bitfield): Likewise.
+ (tdesc_add_flag): Likewise.
+ * features: Re-generate C files.
+
+2017-12-05 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * target-descriptions.c (tdesc_arch_reg): Remove typedef.
+ (struct tdesc_arch_reg): Add constructor.
+ (DEF_VEC_O (tdesc_arch_reg)): Remove.
+ (struct tdesc_arch_data): Initialize fields.
+ <arch_regs>: Change type to std::vector.
+ (target_find_description): Adjust.
+ (tdesc_find_type): Adjust.
+ (tdesc_data_init): Call tdesc_arch_data constructor.
+ (tdesc_data_alloc): Allocate tdesc_arch_data with new.
+ (tdesc_data_cleanup): Free data with delete.
+ (tdesc_numbered_register): Adjust.
+ (tdesc_find_arch_register): Adjust.
+ (tdesc_use_registers): Adjust.
+
+2017-12-05 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * target-descriptions.c (tdesc_type_field): Remove typedef.
+ (DEF_VEC_O (tdesc_type_field)): Remove.
+ (struct tdesc_type_field): Add constructor.
+ <name>: Change type to std::string.
+ (struct tdesc_type) <tdesc_type>: Instantiate vector if the type
+ kind uses it.
+ <~tdesc_type>: Destroy vector if the type kind uses it.
+ <u::u::fields>: Change type to std::vector.
+ (tdesc_gdb_type): Adjust.
+ (tdesc_add_field): Adjust.
+ (tdesc_add_typed_bitfield): Adjust.
+ (tdesc_add_field): Adjust.
+ (tdesc_add_enum_value): Adjust.
+ (class print_c_tdesc) <visit>: Adjust.
+
+2017-12-05 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * target-descriptions.c (struct tdesc_type) <name>: Change type
+ to std::string.
+ <~tdesc_type>: Don't manually free name.
+ <operator==>: Adjust.
+ (tdesc_named_type): Adjust.
+ (tdesc_find_type): Adjust.
+ (tdesc_gdb_type): Adjust.
+ (class print_c_tdesc) <visit>: Adjust.
+
+2017-12-05 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * target-descriptions.c (tdesc_type_p): Remove typedef.
+ (DEF_VEC_P (tdesc_type_p)): Remove.
+ (struct tdesc_feature) <types>: Change type to std::vector.
+ <~tdesc_feature>: Replace with default implementation.
+ <accept>: Adjust.
+ (tdesc_named_type): Adjust.
+ (tdesc_create_vector): Adjust.
+ (tdesc_create_struct): Adjust.
+ (tdesc_create_union): Adjust.
+ (tdesc_create_flags): Adjust.
+ (tdesc_create_enum): Adjust.
+
+2017-12-05 Simon Marchi <simon.marchi@ericsson.com>
+
+ * target-descriptions.c (struct tdesc_reg) <tdesc_reg>: Change
+ type of name_ parameter, adjust to std::string change.
+ <name, group, type>: Change type to std::string.
+ <~tdesc_reg>: Replace with default implementation.
+ <operator==>: Adjust.
+ (tdesc_find_register_early): Adjust.
+ (tdesc_register_name): Adjust.
+ (tdesc_register_type): Adjust.
+ (tdesc_register_in_reggroup_p): Adjust.
+ (class print_c_tdesc) <visit>: Adjust.
+ (class print_c_feature) <visit>: Adjust.
+ * features/arc-arcompact.c: Re-generate.
+ * features/arc-v2.c: Re-generate.
+
+2017-12-05 Simon Marchi <simon.marchi@ericsson.com>
+
+ * target-descriptions.c (tdesc_reg_p): Remove typedef.
+ (DEF_VEC_P (tdesc_reg_p)): Remove.
+ (struct tdesc_feature) <registers>: Change type to std::vector.
+ <~tdesc_feature>: Don't manually free registers.
+ <accept>: Adjust.
+ <operator==>: Adjust.
+ (tdesc_has_registers): Adjust.
+ (tdesc_find_register_early): Adjust.
+ (tdesc_use_registers): Adjust.
+ (tdesc_create_reg): Adjust.
+
+2017-12-05 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * target-descriptions.c (tdesc_feature) <name>: Change type to
+ std::string.
+ <~tdesc_feature>: Don't manually free name.
+ <operator==>: Adjust.
+ (tdesc_find_feature): Adjust.
+ (tdesc_feature_name): Adjust.
+ (class print_c_tdesc) <visit_pre>: Adjust.
+ (class print_c_feature) <visit_pre>: Adjust.
+
+2017-12-05 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * target-descriptions.c (tdesc_feature_p): Remove typedef.
+ (DEF_VEC_P (tdesc_feature_p)): Remove.
+ (struct target_desc) <features>: Change type to std::vector.
+ <~target_desc>: Replace with default implementation.
+ <accept>: Adjust.
+ <operator==>: Adjust.
+ (tdesc_has_registers): Adjust.
+ (tdesc_find_feature): Adjust.
+ (tdesc_use_registers): Adjust.
+ (tdesc_create_feature): Adjust.
+
+2017-12-05 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * target-descriptions.c (arch_p): Remove typedef.
+ (DEF_VEC_P (arch_p)): Remove.
+ (struct target_desc) <compatible>: Change type to std::vector.
+ <~target_desc>: Don't manually free compatible.
+ (tdesc_compatible_p): Adjust.
+ (tdesc_add_compatible): Adjust.
+ (class print_c_tdesc) <visit_pre>: Adjust.
+
2017-12-05 Simon Marchi <simon.marchi@polymtl.ca>
* target-descriptions.c (property_s): Remove typedef.