This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA v2 3/4] Convert Rust to use discriminated unions


> 2018-02-22  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-22  Tom Tromey  <tom@tromey.com>
> 
> 	* gdb.rust/simple.exp: Accept more possible results in enum test.

Looks good to me.

Thanks Tom.
-- 
Joel


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]