[PATCH]: Full(er) changelog for Ada resynchronization

Paul Hilfinger hilfingr@gnat.com
Thu Jul 15 22:21:00 GMT 2004


Some time ago, Andrew requested more detail in the entry for the changes
we submitted on 2004-06-02.  I see also that I neglected to log that 
ada-tasks.c was removed more recently.  

I have "Stalinistically" revised the gdb/ChangeLog entries as indicated
below.  Sorry for the delay.

Paul Hilfinger

----------------------------------------

2004-07-09  Paul N. Hilfinger  <Hilfinger@gnat.com>

        * ada-tasks.c: Remove file.
	
2004-06-02  Paul N. Hilfinger  <hilfinger@gnat.com>

	* ada-exp.y: Update copyright notice.
	Include block.h.
	
	Replace REGNAME, LAST, INTERNAL_VARIABLE with
	SPECIAL_VARIABLE and unify the treatment of these cases.

	(write_attribute_call0): Remove.
	(write_attribute_call1): Remove.
	(write_attribute_calln): Remove.
	(save_qualifier): Add missing semicolon.

	(simple_exp,exp): Decomment (i.e., reactivate) code that was 
	temporarily disabled to allow compilation with FSF head version.

	(simple_exp syntax): Remove use of OP_ADA_ATTRIBUTE and 
	use individual operators (OP_*) for all attributes.
	(exp syntax): Use write_int.
	Handle STRING literals with OP_STRING.
	(variable syntax): Add limit parameter to calls to 
	write_object_renaming.  

	(temp_parse_space): New definition to hold entities that need
	only live until the next call to ada_parse.
	(string_to_operator): Rename fields of ada_opname_table entries.

	(write_var_from_sym): Record block.
	(write_var_from_name): Minor reformatting.
	Make sure saved name is properly encoded in the case of multiple 
	matches, and set its language to Ada.
	Update comment.
	Modify to indicate unresolved name as symbol in the UNRESOLVED 
	namespace, allocated in temp_parse_space.
	(write_int): New function.

	(write_object_renaming): Add max_depth parameter to limit
	chains of object renamings.
	Handle case where root of renaming expression is itself a renaming.
	Use temp_parse_space for temporary name buffer.
	Handle renamings to dereferenced pointers (___XEXA suffices).
	
	(ada_parse, yyerror, string_to_operator, 
	write_var_from_sym, write_var_from_name, write_attribute_call0, 
	write_attribute_call1, write_attribute_calln, 
	write_object_renaming): Protoize.

	(_initialize_ada_exp): New function.
	
	* ada-lang.c: Update copyright notice.
	General terminology change to conform to GNAT compiler usage:
	mangle => encode, demangle => decode
	Include gdb_obstack.h.
	Include gdb_regex.h
	Include frame.h
	Include hashtab.h
	Include completer.h
	Include gdb_stat.h
	Include block.h
	Include infcall.h
	
	(ADA_RETAIN_DOTS): Make sure this is defined.
	(TRUNCATION_TOWARDS_ZERO): Define.
	(struct string_vector): Define.
	(unresolved_names): Remove definition.
	(xnew_string_vector): New function.
	(string_vector_append): New function.
	(extract_string): Make static.
	(ada_unqualified_name): New function.
	(add_angle_brackets): New function.
	(function_name_from_pc): New function.
	(place_on_stack): Rename to ensure_lval.

	(ensure_lval): Renamed from place_on_stack.
	Make identity on lvals.
	Update comment.
	(is_nonfunction): New interface.
	Only symbols in LOC_CONST class can be enumerals.
	(fill_in_ada_prototype): Remove; now independent of language.
	(add_defn_to_vec): Add obstack and symtab arguments.
	Use obstack to hold collected definitions.
	(num_defns_collected): New function.
	(defns_collected): New function.
	(ada_resolve_subexp): Rename to resolve_subexp.
	(resolve_subexp): Renamed from ada_resolve_subexp.
	(ada_op_name): Return non-const result.
	(ada_decoded_op_name): Renamed from ada_op_name, now used for
	other purposes.

	(to_fixed_array_type): Add declaration.
	(coerce_unspec_val_to_type): Remove offset parameter.
	(find_sal_from_funcs_and_line): New interface.
	(find_line_in_linetable): Ditto.

	(all_sals_for_line): Rename to ada_sals_for_line and make
	global.
	Add new parameter. When set, do not ask the user to choose the 
	instance, but use the first one	found instead.
	Use given line number in returned sals.
	Fix comment. 
	Skip the prologue if funfirstline is set.
	Correct for memory leak when 0 lines found.

	(value_pos_atr): Use pos_atr.
	(pos_atr): New function.
	(standard_lookup): Add block parameter.

	(makeTimeStart): Remove declaration and uses.
	(makeTimeStop): Remove declaration and uses.

	(ada_completer_word_break_characters): Allow for VMS.
	(ADA_MAIN_PROGRAM_SYMBOL_NAME): Make into constant.
	(raise_sym_name): New constant.
	(raise_unhandled_sym_name): New constant.
	(raise_assert_sym_name): New constant.
	(process_raise_exception_name): New constant.
	(longest_exception_template): New constant.
	(warning_limit): New variable to limit warnings during expression
	evaluation.
	(warnings_issued): New variable to keep track of warnings issued.
	(known_runtime_file_name_patterns): New constant.
	(known_auxiliary_function_name_patterns): New constant.
	(symbol_list_obstack): New variable.
	
	(field_name_match,is_suffix,is_suppressed_name,ada_encode,
	ada_decode,ada_match_name,encoded_ordered_before,equiv_types,
	lesseq_defined_than,is_nondebugging_type,is_name_suffix,wild_match,
	find_sal_from_funcs_and_line, ada_breakpoint_rewrite, 
	ada_is_tagged_type, ada_is_parent_field, ada_is_wrapper_field, 
	ada_variant_discrim_name, field_alignment, dynamic_template_type,
	ada_is_character_type, ada_is_aligner_type, ada_is_vax_floating_type): 
	Replace use of deprecated STREQ and STREQN macros by calls to strncmp 
	and strcmp. 

	(ada_get_field_index): New function.
	(lim_warning): New function.
	(ada_translate_error_message): New function.
	(MAX_OF_SIZE): New function.
	(MIN_OF_SIZE): New function.
	(UMAX_OF_SIZE): New function.
	(UMIN_OF_SIZE): New function.
	(discrete_type_high_bound): New function.
	(discrete_type_low_bound): New function.
	(base_type): New function.
	(do_command): Remove.
	
	(ada_update_initial_language): Use language_ada, not language_unknown.
	(ada_encode): Renamed from ada_mangle.
	Obey ADA_RETAIN_DOTS.
	(ada_decode): Renamed from ada_demangle.
	Update coding conventions.
	(decoded_names_store): New hash table.
	(ada_decode_symbol): New function.
	(ada_la_decode): New function.
	
	(modify_general_field):	Correct computations of offset and bit 
	position.
	(desc_base_type): Handle ref types, too.
	(ada_is_direct_array_type): New function.

	(ada_is_simple_array): Rename to ada_is_simple_array_type.
	(ada_is_array_descriptor): Rename to ada_is_array_descriptor_type.
	(ada_is_bogus_array_descriptor,ada_type_of_array,
	ada_coerce_to_simple_array_ptr,ada_coerce_to_simple_array,
	ada_type_match,convert_actual,ada_evaluate_subexp): Use renamed 
	ada_is_array_descriptor_type.
	
	(ada_coerce_to_simple_array_type): Fix incorrect value freeing.
	(ada_is_packed_array_type): Handle pointers or 
	references to packed arrays as well.
	(packed_array_type): Uncomment use of TYPE_FLAG_FIXED_INSTANCE.
	(decode_packed_array_type): Search for the packed array type 
	symbol in the currently selected block and associated 
	superblocks too.
	Use lookup_symbol again.

	(decode_packed_array): Handle pointers and references.
	Update call to coerce_unspec_val_to_type.
	(decode_packed_array_type,value_subscript_packed): Limit warnings.
	(ada_value_primitive_packed_val): Improve comment.
	
	(ada_index_type): Substitute int type for "undefined".
	(ada_index_type,ada_array_bound_from_type,ada_array_bound,
	ada_array_langth, ada_is_string_type): Use renamed 
	ada_is_simple_array_type.
	(empty_array): New function.

	(ada_resolve):	Rename to resolve.
	(resolve): Make static.
	Call renamed resolve_subexp.
	Update comment.
	(ada_resolve_subexp): Rename to resolve_subexp.
	(resolve_subexp): Update comment.
	Decomment disabled code.
	Add LOC_COMPUTED* cases.
	Modify to use temporary	struct symbols (marked as being in 
	UNDEF_NAMESPACE) to indicate unresolved names, instead of 
	OP_UNRESOLVED_VALUE.
	Remove OP_ATTRIBUTE; use individual opcodes for attributes.	
	Add OP_STRING case.
	Remove OP_ARRAY.
	Use SYMBOL_PRINT_NAME instead of ada_demangle.
	Use new ada_lookup_symbol_list interface.
	Use new ada_resolve_function interface.
	Remove OP_TYPE case.

	(ada_args_match): Idiot proof against null actuals.
	Use intermediate variables to clarify.
	(ada_resolve_function): Update comment and interface.
	(mangled_ordered_before): Rename to encoded_ordered_before and
	update comment.
	(sort_choices): Update comment and interface.
	Use SYMBOL_LINKAGE_NAME in place of SYMBOL_NAME.
	(user_select_syms): New interface.
	Use new sort_choices interface.
	Use SYMBOL_PRINT_NAME rather than SYMBOL_SOURCE_NAME.
	(possible_user_operator_p): Idiot-proof against null values.
	(ada_simple_renamed_entity): Don't make cleanup; rely on 
	caller to free result string.
	Remove const from return type.
	(make_array_descriptor): Rename uses of place_on_stack to 
	ensure_lval.
	Make sure that arrays are on stack.
	
	(HASH_SIZE): Define.
	(struct cache_entry): Define.
	(cache_space): Define.
	(cache): Define.
	(clear_ada_sym_cache): New function.
	(find_entry): New function.
	(lookup_cached_symbol): New function.
	(defn_vector_size): Define.
	(cache_symbol): New function.
	(defn_symbols): Remove.
	
	(standard_lookup): Use lookup_symbol_in_language to get effect of
	C lookup.
	Cache results.
	
	(symbol_completion_match): New function.
	(symbol_completion_add): New function.
	(ada_make_symbol_completion_list): New function.

	(ada_lookup_partial_symbol,ada_lookup_simple_minsym, 
	add_symbols_from_enclosing_procs,remove_extra_symbols): Replace 
	DEPRECATED_SYMBOL_NAME with SYMBOL_LINKAGE_NAME. 
	(symtab_for_sym): Handle LOC_COMPUTED, LOC_COMPUTED_ARG.
	
	(ada_lookup_simple_minsym): New function.
	(ada_lookup_minimal_symbol): Use ada_lookup_simple_minsym.

	(add_symbols_from_enclosing_procs): New interface.
	Conditionalize more helpfully.
	Don't bother if program isn't running.
	Use new interface to get_frame_block.
	Limit number of levels searched	with MAX_LEXICAL_LEVELS, just in case.
	
	(remove_extra_symbols): New interface.
	(xget_renaming_scope): New function.
	(is_package_name): New function.
	(renaming_is_visible): New function.
	(remove_out_of_scope_renamings): New function.

	(ada_lookup_symbol_list): New interface.
	Properly reinitialize the symbol list obstack.
	Don't call add_symbols_from_enclosing_procs if we start from a
	static or global block.
	Use new interfaces to ada_add_block_symbols, add_defn_to_vec, 
	add_symbols_from_enclosing_procs.
	Add symtab data to cached entries.
	Handle symbols prefixed with
	"standard__" specially; strip prefix and don't look in local symbols.
	Do not include out of scope renaming symbols in list of 
	symbols returned.
	Add const to block parameter.
	Move check for non-local, non-global symbols earlier.  
	Remove timing stuff.
	(ada_lookup_symbol): New interface.
	Find symtab as well.
	(ada_lookup_symbol_nonlocal): New function.

	(is_name_suffix): Enhance suffix detection to recognize
	an optional "__[:digit:]+" before any "\.[:digit:]+" suffix.
	(is_dot_digits_suffix): New function.
	(wild_match): Ignore ".[:digit:]*" suffixes during matches.
	
	(ada_add_block_symbols): New interface.  Use obstack to return results
	in a vector of struct ada_symbol_infos.  Add symtab argument.
	Use new interface to add_defn_to_vec.
	Remove calls to fill_in_ada_prototype.
	Use BLOCK_BUCKETS, BLOCK_BUCKET.
	
	(ada_finish_decode_line_1): Add const qualification to local to fix
	warning.
	Start looking in static block for functions to avoid attempts 
	to search frame chain for up-level variables.
	Adapt to new ada_sals_for_line interface.
	Use new interfaces to ada_lookup_symbol_list and user_select_syms.
	Handle quoting of the function name inside the spec string.
	Skip prologue when funfirstline is set and update the 
	function documentation to that effect.

	(debug_print_lines, debug_print_block, debug_print_blocks, 
	debug_print_symtab): Remove.

	(ada_main_name): New function.	
	(ada_exception_breakpoint_type): New function.
	(is_known_support_routine): New function.
	(ada_find_printable_frame): Renamed from find_printable_frame and made
	global.
	Remove level parameter.
	Use new interface to select_frame.

	(begin_command): Remove.
	(ada_adjust_exception_stop): New function.
	(ada_print_exception_stop): New function.
	(exception_name_from_cond): New function.
	(ada_report_exception_break): Replace disabled code with 
	conditionalization on GNAT_GDB.
	Get the exception name from the condition string.
	Remove and move functionality into new functions 
	ada_print_exception_breakpoint_task and 
	ada_print_exception_breakpoint_nontask.
	(error_breakpoint_runtime_sym_not_found): New function.
	(is_runtime_sym_defined): New function.
	(ada_breakpoint_rewrite): Uncomment suppressed code.
	Use symbolic error-message and runtime-symbol names.
	Surround runtime symbol names in quotes.
	Allow non-specific breakpoints on exceptions and assertions before
	program starts.
	
	(ada_is_tagged_type): Add parameter.
	(ada_is_tag_type): New function.
	(ada_tag_type): Use new ada_lookup_struct_elt_type interface.
	(ada_variant_discrim_type): Ditto.
	(value_tag_from_contents_and_address): New function.
	(type_from_tag): New function.
	(struct tag_args): New structure used to communicate with
	ada_tag_name_1.
	(ada_tag_name_1): New function.
	(ada_tag_name): New function.

	(ada_scan_number): Update comment.
	(find_struct_field): New function.
	(ada_search_struct_field): Make static.
	(ada_value_struct_elt): New version that returns references when
	given pointers or references to structs.
	(ada_lookup_struct_elt_type): Add 'refok' parameter.
	(ada_which_variant_applies): Use new ada_lookup_struct_elt_type
	interface.
	(ada_value_ind): Use new ada_to_fixed_value interface.
	(ada_coerce_ref): Ditto.
	(field_offset): Remove.

	(ada_find_any_symbol): New function, extracted from ada_find_any_type.
	(ada_find_renaming_symbol): New function.
	(ada_prefer_type): Prefer named types over unnamed ones.
	(variant_field_index): New function.
	(contains_variant_part): Removed: subsumed by variant_field_index.
	(ada_template_to_fixed_record_type): New function, mostly from
	template_to_fixed_record_type.
	(template_to_fixed_record_type): 
	Do not scan the type fields beyond the last one; prevents a 
	potential SEGV.
	Handle case where variant field is listed BEFORE discriminant it 
	depends on.
	Fix calculation of record length when bit length is 
	not evenly divisible by char length.
	Move code to ada_template_to_fixed_record_type and call it.

	(template_to_static_fixed_type): Revise comment.  
	Modify to work on ordinary record types as well as templates, 
	so as to handle	fields that use ___XVE or ___XVU encodings. 
	(to_record_with_fixed_variant_part): Fill out comment.
	Initialize C++ stuff in right type.
	Allow case where DVAL is null.
	Handle case where variant field is not last.
	Fix typo concerning record length.
	(to_fixed_record_type): Decomment disabled code.
	(to_fixed_record_type): Use variant_field_index instead of 
	contains_variant_part.
	(to_fixed_variant_branch_type): Ditto.
	(to_fixed_array_type): Decomment disabled code.
	(ada_to_fixed_type): Convert tagged types to the specific type.
	Deactivate the size-check for array types in order to avoid 
	some false size alarms.
	(to_static_fixed_type): Decomment disabled code.
	Modify to call template_to_static_fixed_type
	on ordinary structs, not just ___XVE- and ___XVU-encoded fields.
	(ada_to_fixed_value_create): Renamed version of old ada_to_fixed_value.
	Remove valaddr argument, as it is never really used.
	(ada_to_fixed_value): Change interface to act on single struct value*
	operand.
	(adjust_pc_past_prologue): New function.
	(ada_attribute_name): Modify to take enum exp_opcode argument.
		
	(ada_enum_name): Recognize new homonym-distinguishing convention.
	Adjust local variable's type to	remove compiler warning.
	Fix a small problem in the part	that unqualifies the enumeration name.
	(ada_value_binop): New function.
	(ada_value_equal): New function.

	(ada_evaluate_subexp): Use new ada_lookup_struct_elt_type interface.
	Don't give error message when not doing	normal evaluation 
	and a tagged type doesn't seem to contain a structure member.
	Give error message for packed arrays.
	For indexing arrays, handle pointers to	packed arrays correctly.
	Handle case of 'first and 'last attributes of bare integral type 
	without encoded subtype info.  
	Remove some unnecessary casts.
	Fix uninitialized value of type in computing 'first, 'last, or 'length
	of array object.  
	Add BINOP_EQUAL and BINOP_NOTEQUAL cases.
	Remove binop_user_defined_p tests and value_x_binop and value_x_unop
	calls.
	Attributes are now exp_opcode values.
	Correct treatment of 'modulus.
	Better error message for taking 'length of wrong kind of type; 
	improve comment.
	Change EVAL_NORMAL to noside for consistency.
	Use ada_value_binop for DIV, MOD, REM.
	Make special case out of array of length 0, since an argument 
	of 0 upsets some platforms' malloc.
	Use OP_STRING instead of OP_ARRAY.
	For slice, add check that we have an array type before extracting 
	a slice out of it.  Avoids a SEGV.
	When evaluating an array slice,	if the array type is a reference to 
	an aligner type, then replace the aligner type by the actual type.
	Decomment disabled code.
	Remove some dead code.
	Use temporary struct symbols (marked as being in UNDEF_NAMESPACE) 
	to indicate unresolved names, instead of OP_UNRESOLVED_VALUE.
	Rename BINOP_MBR to BINOP_IN_BOUNDS, TERNOP_MBR to TERNOP_IN_RANGE, 
	and UNOP_MBR to UNOP_IN_RANGE.
	If an array type has a parallel	___XVE type, then use it.
	Turn arrays into pointers for lvalue arrays.
	Change TERNOP_SLICE code to work even when bounds are unknown, ignoring
	bounds error and handle 0-length slices.
	Use lim_warning.
	When selecting fields, apply ada_to_fixed_value	(because the fields 
	might have ___XVU or ___XVE encodings even if not dynamic.)
	Use ada_to_fixed_value_create and new ada_to_fixed_value interface.
	(ada_is_system_address_type): New function.

	(get_var_value): Use new interface to ada_lookup_symbol_list.
	(get_int_var_value): New interface.
	(to_fixed_range_type): Allow unknown bound, with warning.
	(ada_is_modular_type): Decomment disabled code.
	(ADA_OPERATORS): New definition.
	(ada_operator_length): New function.
	(ada_expr_op_name): New function.
	(ada_forward_operator_length): New function.
	(ada_dump_subexp_body): New function.
	(ada_print_subexp): New function.
	(ada_exp_descriptor): New constant.
	(ada_op_print_tab): Add 'size.  Remove FIXMEs.
	(ada_language_defn): Add ada_exp_descriptor entry.
	Change ada_parse => parse.
	Add post-parser entry.
	Use ada-specific non-local symbol lookup.
	Don't use C-style arrays. 
	String lower-bound is 1.
	Decomment disabled code.	
	(parse): New function.
	New fields ada_translate_error_message, ada_lookup_symbol, 
	ada_lookup_minimal_symbol.
	
	* ada-lang.h: Update copyright dates.
	Replace the mangle/demangle terminology throughout by the
	more appropriate encode/decode one. 
	Include breakpoint.h.
	Forward declare struct partial_symbol, struct block.
	(ADA_KNOWN_RUNTIME_FILE_NAME_PATTERNS): Define.
	(EXTRACT_ADDRESS): Remove.
	(EXTRACT_INT): Remove.
	(ADA_KNOWN_AUXILIARY_FUNCTION_NAME_PATTERNS): Define.
	(MAX_ENCLOSING_FRAME_LEVELS): Define.
	(MAX_RENAMING_CHAIN_LENGTH): Define.
	(struct ada_opname_map): mangled => decoded, demangled=>encoded.

	(enum task_states): Remove.
	ada_task_states: Remove.
	(fat_string): Remove.
	(struct entry_call): Remove.
	(struct task_fields): Remove.
	(struct task_entry): Remove.

	(struct ada_symbol_info): Define.
	(enum ada_attribute): Remove.
	(enum ada_operator): Define.
	
	(ada_get_field_index): Declare.
	(ada_coerce_to_simple_array): Rename to ada_coerce_to_simple_array_ptr.
	(ada_is_simple_array): Rename to ada_is_simple_array_type.
	(ada_is_array_descriptor): Rename to ada_is_array_descriptor_type.
	(ada_lookup_symbol_list): New interface.
	(ada_decode_symbol): Declare.
	(ada_decode): Declare.
	(ada_lookup_symbol): New interface.
	(ada_update_initial_language): Declare.
	(ada_lookup_simple_minsym): Declare.
	(user_select_syms): New interface.
	(ada_sals_for_line): Declare.
	(ada_is_tagged_type): New interface.
	(ada_tag_name): Declare.
	(ada_lookup_struct_elt_type): Remove declaration.
	(ada_search_struct_field): Remove declaration.
	(ada_attribute_name): New interface.
	(ada_is_system_address_type): Declare.
	(ada_to_fixed_value): Remove declaration.
	(ada_template_to_fixed_record_type_1): Declare.
	(get_int_var_value): New interface.
	(ada_find_any_symbol): Declare.
	(ada_find_renaming_symbol): Declare.
	(ada_mangle): Rename to ada_encode.
	(ada_simple_renamed_entity): Remove const.
	(ada_main_name): Declare.
	(get_current_task): Rename to ada_get_current_task.
	(get_entry_number): Remove declaration.
	(ada_report_exception_break): Remove declaration.
	(ada_print_exception_breakpoint_nontask): Declare.
	(ada_print_exception_breakpoint_task): Declare.
	(ada_find_printable_frame): Declare.

	* ada-lex.l: Update copyright notices.
	Use xmalloc and xfree instead of malloc and free.
	Use new interface to name_lookup.
	Use new interface to 
	ada_mangle=>ada_encode.
	Redo handling of '$...' variable to parallel current treatment 
	in c-exp.y.  
        (resize_tempbuf, canonicalizeNumeral, is_digit_in_base,
	digit_to_int, strtoulst, processInt, processReal, processId, 
	block_lookup, name_lookup, find_dot_all, subseqMatch, processAttribute,
	yywrap): Protoize.
	
	(processInt): Use cast to remove harmless warning.
	(processReal): Modify to get rid of compiler warning on scan formats.

	(processId): Replace xmalloc with obstack_alloc for name and remove
	call to ada_name_string_cleanup.
	Remove obsolete disabled code.
	(name_lookup): Ditto. 
	New interface.
	Use obsavestring on temp_parse_space instead of savestring 
	on name, and remove call to ada_name_string_cleanup.  
	Free string returned from ada_simple_renamed_entity.
	Use new interface to ada_lookup_symbol_list.
	Decomment disabled code.
	Treat LOC_COMPUTED and LOC_COMPUTED_ARG	symbols as variables, 
	not types.
	When a type name lookup succeeds as a result of 
	lookup_primitive_typename, check for regular type entry that has not 
	yet been read in.
	Limit length of chain of renamed symbols we are willing to follow.  
	Do not break names beginning with "standard__" into segments.  
	(block_lookup): Use new interface to ada_lookup_symbol_list.
	
	* ada-typeprint.c: Update copyright notice.
	(demangled_type_name): Rename to decoded_type_name.
	(ada_typedef_print): Use SYMBOL_PRINT_NAME.
	(print_range_bound):  Correct handling of negative
	bounds that make the index type looked unsigned under STABS.  
	(print_dynamic_range_bound): Use new interface to get_int_var_value.
	(print_range_type_named):  Use the builtin int type if no type 
	corresponding to the given type name could be found.
	(print_array_type): ada_is_simple_array => ada_is_simple_array_type.
	Add some bullet-proofing.
	(print_variant_clauses): Allow for variant branches with ___XVU 
	encodings that are not dynamic fields.  
	Use new interface to ada_is_tagged_type.
	(print_record_type): Allow for fields with ___XVE encodings that 
	are not dynamic fields. 
	Use new interface to ada_is_tagged_type.
	(ada_print_type): ada_is_array_descriptor => 
	ada_is_array_descriptor_type.

	* ada-valprint.c: Update copyright notice.
	Include gdb_string.h
	Include infcall.h
	(ui_memcpy): New function.
	(ada_print_floating): New function.
	(ada_print_str): Order arguments correctly.
	Correct handling of empty arrays and arrays of 0-length items. 
	ada_is_array_descriptor => ada_is_array_descriptor_type 
	Print values of type System.Address in hexadecimal format.
	Use ada_print_floating to print floating-point numbers in Ada format.
	Print class tag values with type names.  
	No longer print the address of reference values. Avoids 
	a potential confusion.	
	(ada_value_print): Stop printing the object type for reference
	values, but preserve that behavior for access types. Avoids
	a potential confusion.
	Simplify one conditional expression, as the first part is now
	necessarily true.
	ada_is_array_descriptor => ada_is_array_descriptor_type 
	Add check for arrays for null records, and print them by hand.
	





More information about the Gdb-patches mailing list