+2018-02-26 Maciej W. Rozycki <macro@mips.com>
+
+ * gdb/mips-tdep.c (mips_gdbarch_init): Reorder ABI determination
+ ahead of target description loading.
+
+2018-02-26 Tom Tromey <tom@tromey.com>
+
+ * stack.c (backtrace_command_1): Update.
+ * python/python-internal.h (gdbpy_apply_frame_filter): Change type
+ of "flags".
+ * python/py-framefilter.c (py_print_frame)
+ (gdbpy_apply_frame_filter): Change type of "flags".
+ * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): Change type
+ of "flags".
+ (mi_cmd_stack_list_frames, mi_cmd_stack_list_locals)
+ (mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Update.
+ * extension.h (enum frame_filter_flag): Rename from
+ frame_filter_flags.
+ (frame_filter_flags): Define using DEF_ENUM_FLAGS_TYPE.
+ (apply_ext_lang_frame_filter): Change type of "flags".
+ * extension.c (apply_ext_lang_frame_filter): Change type of
+ "flags".
+ * extension-priv.h (struct extension_language_ops)
+ <apply_frame_filter>: Change type of "flags".
+
+2018-02-26 Tom Tromey <tom@tromey.com>
+
+ PR python/16497:
+ * stack.c (backtrace_command_1): Set PRINT_MORE_FRAMES flag. Fix
+ off-by-one in py_end computation.
+ * python/py-framefilter.c (gdbpy_apply_frame_filter): Handle
+ PRINT_MORE_FRAMES.
+ * extension.h (enum frame_filter_flags) <PRINT_MORE_FRAMES>: New
+ constant.
+
+2018-02-26 Tom Tromey <tom@tromey.com>
+
+ * dwarf2read.c (struct variant_field): New.
+ (struct nextfield) <variant>: New field.
+ (dwarf2_add_field): Handle DW_TAG_variant_part.
+ (dwarf2_attach_fields_to_type): Attach a discriminant_info to a
+ discriminated union.
+ (read_structure_type): Handle DW_TAG_variant_part.
+ (handle_struct_member_die): New function, extracted from
+ process_structure_scope. Handle DW_TAG_variant.
+ (process_structure_scope): Handle discriminated unions. Call
+ handle_struct_member_die.
+
+2018-02-26 Tom Tromey <tom@tromey.com>
+
+ * rust-lang.h (rust_last_path_segment): Declare.
+ * rust-lang.c (rust_last_path_segment): Now public. Change
+ contract.
+ (struct disr_info): Remove.
+ (RUST_ENUM_PREFIX, RUST_ENCODED_ENUM_REAL)
+ (RUST_ENCODED_ENUM_HIDDEN, rust_union_is_untagged)
+ (rust_get_disr_info, rust_tuple_variant_type_p): Remove.
+ (rust_enum_p, rust_enum_variant): New function.
+ (rust_underscore_fields): Remove "offset" parameter.
+ (rust_print_enum): New function.
+ (rust_val_print) <TYPE_CODE_UNION>: Remove enum code.
+ <TYPE_CODE_STRUCT>: Call rust_print_enum when appropriate.
+ (rust_print_struct_def): Add "for_rust_enum" parameter. Handle
+ enums.
+ (rust_internal_print_type): New function, from rust_print_type.
+ Remove enum code.
+ (rust_print_type): Call rust_internal_print_type.
+ (rust_evaluate_subexp) <STRUCTOP_ANONYMOUS, STRUCTOP_STRUCT>:
+ Update enum handling.
+ * dwarf2read.c (struct dwarf2_cu) <rust_unions>: New field.
+ (rust_fully_qualify, alloc_discriminant_info, quirk_rust_enum)
+ (rust_union_quirks): New functions.
+ (process_full_comp_unit, process_full_type_unit): Call
+ rust_union_quirks.
+ (process_structure_scope): Update rust_unions if necessary.
+
+2018-02-26 Tom Tromey <tom@tromey.com>
+
+ * value.h (value_union_variant): Declare.
+ * valops.c (value_union_variant): New function.
+ * gdbtypes.h (TYPE_FLAG_DISCRIMINATED_UNION): New macro.
+ (struct discriminant_info): New.
+ (enum dynamic_prop_node_kind) <DYN_PROP_DISCRIMINATED>: New
+ enumerator.
+ (struct main_type) <flag_discriminated_union>: New field.
+
2018-02-26 Tom Tromey <tom@tromey.com>
* Makefile.in (SUBDIR_UNITTESTS_SRCS): Add