mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-26 05:20:30 +00:00
52ce64369c
from ada-lex.l to here, where it is logically more appropriate. The original reason, however, was to prevent premature name lookups for selector names in record aggregates. (BLOCKNAME, TYPENAME, OBJECT_RENAMING): Remove; lexer now returns NAME for all of these. (VAR): New artificial token to clarify precedence rules. (OTHERS): New lexeme. (empty_stoken): New symbol. (%union): Remove ssym, voidval. (%type): Remove <voidval> type declarations. (syntax definitions): Add aggregates. Remove distinction between NAME, TYPENAME, BLOCKNAME, OBJECT_RENAMING. Rename some non-terminals to be closer to reference manual usage. Tighten up expression syntax to disallow certain non-Ada constructions such as X and then Y or else Z. (ada_parse): Remove initialization of left_block_context. (write_var_from_name): Remove. (write_var_or_type): New function, containing previous code from defunct write_var_from_name and name_lookup. (block_lookup): New function, moved from ada-lex.l (select_possible_type_sym): New function, factored out of name_lookup, which used to be in ada-lex.l. (find_primitive_type): Ditto. (chop_selector): Ditto. (write_ambiguous_var): New function, factored out of defunct write_var_from_name. (write_selectors): New function. (write_name_assoc): New function. (write_exp_op_with_string): New function. * ada-lex.l (processId): Change interface to return stoken. (tempbuf, resize_tempbuf, tempbuf_size, tempbuf_len): Remove. (block_lookup, name_lookup): Remove. Functionality moved to ada-exp.y. (state IN_STRING): Remove. (rules): Handle string escapes in processString. Add 'others' token. Return all NAMEs, BLOCKNAMEs, OBJECT_RENAMINGs, TYPENAMEs in yylval.sval (as simple strings). All name look-ups now handled in ada-exp.y. Introduce "::" (COLONCOLON) token and return as separate token. (processId): Change return convention. Comment. Leave leading "'" in place. (processString): New function. (find_dot_all): Add note to comment. Fix problem that allowed match only at the end. * ada-lang.c: Introduce aggregates. (find_struct_field): Add new parameter to count fields skipped, and allow other output parameters to be NULL. (value_tag_from_contents_and_address, ada_value_struct_elt): Use new find_struct_field. (ada_index_struct_field, assign_aggregate, ada_is_array_type) (num_visible_fields, ada_index_struct_field_1, ada_index_struct_field) (num_component_specs, assign_component, assign_aggregate): (aggregate_assign_from_choices,aggregate_assign_positional) (aggregate_assign_others,add_component_interval): New functions. (ada_evaluate_subexp): Declare. Add aggregate-related operators. (ada_forward_operator_length): Declare. (resolve_subexp): Add cases for new aggregate operators and OP_NAME. Consolidate Ada operators, using ada_forward_operator_length. (ada_search_struct_field): Search in forward order. (ADA_OPERATORS): Add new aggregate operators. (ada_operator_length, ada_op_name, ada_forward_operator_length) (ada_dump_subexp_body, ada_print_subexp): Handle new aggregate operators and OP_NAME. (ada_type_of_array): Use longest_to_int. (value_assign_to_component): New function. (ada_forward_operator_length, ada_op_name, ada_dump_subexp_body): Add OP_NAME case. (ada_forward_operator_length, ada_dump_subexp_body): Add OP_STRING case. * ada-lang.h (enum ada_operator): Add OP_AGGREGATE, OP_OTHERS, OP_CHOICES, OP_DISCRETE_RANGE, OP_POSITIONAL.
176 lines
6.8 KiB
Plaintext
176 lines
6.8 KiB
Plaintext
2006-01-02 Paul N. Hilfinger <hilfinger@adacore.com>
|
||
|
||
* ada-exp.y: Considerable reorganization to move functionality
|
||
from ada-lex.l to here, where it is logically more appropriate.
|
||
The original reason, however, was to prevent premature name
|
||
lookups for selector names in record aggregates.
|
||
(BLOCKNAME, TYPENAME, OBJECT_RENAMING): Remove; lexer now returns
|
||
NAME for all of these.
|
||
(VAR): New artificial token to clarify precedence rules.
|
||
(OTHERS): New lexeme.
|
||
(empty_stoken): New symbol.
|
||
(%union): Remove ssym, voidval.
|
||
(%type): Remove <voidval> type declarations.
|
||
(syntax definitions): Add aggregates.
|
||
Remove distinction between NAME, TYPENAME, BLOCKNAME, OBJECT_RENAMING.
|
||
Rename some non-terminals to be closer to reference manual usage.
|
||
Tighten up expression syntax to disallow certain non-Ada
|
||
constructions such as X and then Y or else Z.
|
||
(ada_parse): Remove initialization of left_block_context.
|
||
(write_var_from_name): Remove.
|
||
(write_var_or_type): New function, containing previous code from
|
||
defunct write_var_from_name and name_lookup.
|
||
(block_lookup): New function, moved from ada-lex.l
|
||
(select_possible_type_sym): New function, factored out of
|
||
name_lookup, which used to be in ada-lex.l.
|
||
(find_primitive_type): Ditto.
|
||
(chop_selector): Ditto.
|
||
(write_ambiguous_var): New function, factored out of defunct
|
||
write_var_from_name.
|
||
(write_selectors): New function.
|
||
(write_name_assoc): New function.
|
||
(write_exp_op_with_string): New function.
|
||
|
||
* ada-lex.l (processId): Change interface to return stoken.
|
||
(tempbuf, resize_tempbuf, tempbuf_size, tempbuf_len): Remove.
|
||
(block_lookup, name_lookup): Remove. Functionality moved to
|
||
ada-exp.y.
|
||
(state IN_STRING): Remove.
|
||
(rules): Handle string escapes in processString.
|
||
Add 'others' token.
|
||
Return all NAMEs, BLOCKNAMEs, OBJECT_RENAMINGs, TYPENAMEs in
|
||
yylval.sval (as simple strings).
|
||
All name look-ups now handled in ada-exp.y.
|
||
Introduce "::" (COLONCOLON) token and return as separate token.
|
||
(processId): Change return convention. Comment.
|
||
Leave leading "'" in place.
|
||
(processString): New function.
|
||
(find_dot_all): Add note to comment.
|
||
Fix problem that allowed match only at the end.
|
||
|
||
* ada-lang.c: Introduce aggregates.
|
||
(find_struct_field): Add new parameter to count fields skipped, and
|
||
allow other output parameters to be NULL.
|
||
(value_tag_from_contents_and_address, ada_value_struct_elt): Use
|
||
new find_struct_field.
|
||
(ada_index_struct_field, assign_aggregate, ada_is_array_type)
|
||
(num_visible_fields, ada_index_struct_field_1, ada_index_struct_field)
|
||
(num_component_specs, assign_component, assign_aggregate):
|
||
(aggregate_assign_from_choices,aggregate_assign_positional)
|
||
(aggregate_assign_others,add_component_interval):
|
||
New functions.
|
||
(ada_evaluate_subexp): Declare.
|
||
Add aggregate-related operators.
|
||
(ada_forward_operator_length): Declare.
|
||
(resolve_subexp): Add cases for new aggregate operators and OP_NAME.
|
||
Consolidate Ada operators, using ada_forward_operator_length.
|
||
(ada_search_struct_field): Search in forward order.
|
||
(ADA_OPERATORS): Add new aggregate operators.
|
||
(ada_operator_length, ada_op_name, ada_forward_operator_length)
|
||
(ada_dump_subexp_body, ada_print_subexp): Handle new aggregate
|
||
operators and OP_NAME.
|
||
(ada_type_of_array): Use longest_to_int.
|
||
(value_assign_to_component): New function.
|
||
(ada_forward_operator_length, ada_op_name, ada_dump_subexp_body):
|
||
Add OP_NAME case.
|
||
(ada_forward_operator_length, ada_dump_subexp_body):
|
||
Add OP_STRING case.
|
||
|
||
* ada-lang.h (enum ada_operator): Add OP_AGGREGATE, OP_OTHERS,
|
||
OP_CHOICES, OP_DISCRETE_RANGE, OP_POSITIONAL.
|
||
|
||
2006-01-02 Paul N. Hilfinger <hilfinger@adacore.com>
|
||
|
||
* ada-lang.c (process_raise_exception_name): Remove extraneous
|
||
definition from unsubmitted code.
|
||
|
||
(is_lower_alphanum): New function.
|
||
(ada_decode): Add support for decoding protected object subprograms
|
||
and entries, and of entities declared inside protected object
|
||
subprograms.
|
||
Also add missing handling for__{DIGITS}+ suffixes.
|
||
Allow '$<digits>' as valid overloading suffix.
|
||
(is_name_suffix): Add handling for protected type entriy suffixes.
|
||
Also add support for protected type subprogram suffixes, but keep
|
||
it commented out for now, as there is an ambiguity between these
|
||
entities and other internally generated entities.
|
||
Allow '$<digits>' as valid overloading suffix.
|
||
(is_valid_name_for_wild_match): New function.
|
||
(wild_match): Add an exra level of verification of the entity name
|
||
before declaring it a match for the given pattern.
|
||
|
||
(ada_type_of_array, ada_evaluate_subexp): Use more proper
|
||
longest_to_int rather than cast.
|
||
|
||
(ada_evaluate_subexp): Use "invalid" rather than "illegal" in comment.
|
||
|
||
(ada_coerce_to_simple_array): Call check_size to make sure
|
||
that the object size is reasonable.
|
||
|
||
(ada_value_primitive_packed_val): Use correct location in target
|
||
buffer for extracting packed record fields that are themselves records.
|
||
|
||
(add_defn_to_vec): Do not try to replace a stub type by its full
|
||
type. Avoids a potential infinite loop.
|
||
|
||
(ada_lookup_symbol): Move return incorrectly placed return statement,
|
||
causing a loop that should be scanning all object files to only
|
||
scan the first one.
|
||
|
||
(ada_tag_name_2): New function.
|
||
(ada_tag_name_1): If no 'tsd' field found in the dispatching table,
|
||
use alternative representation.
|
||
|
||
(ada_find_renaming_symbol): Strip the function name suffix when
|
||
computing the XR type name.
|
||
|
||
(ada_to_fixed_type): Try determining the tag only if we have the
|
||
object's address.
|
||
(to_fixed_array_type): Add comments.
|
||
|
||
(ada_check_typedef): Replace expression checking whether the given
|
||
type is a stub or not by a "call" to TYPE_STUB. Clearer and more
|
||
consistent.
|
||
|
||
* ada-lang.h (ADA_KNOWN_AUXILIARY_FUNCTION_NAME_PATTERNS): Allow
|
||
'$' in addition to '.' for runtime auxiliary function name suffixes.
|
||
See changes to ada_decode above.
|
||
|
||
(struct task_control_block): Add field called_task. (This change is
|
||
to keep synchronized with our local sources; it does not affect the
|
||
public version yet.)
|
||
|
||
* ada-typeprint.c (ada_print_type): Use int_string for printing
|
||
modulus of modular type.
|
||
|
||
(print_range): Trivial editorial comment fix.
|
||
|
||
* ada-valprint.c (ada_emit_char): Use normal Ada syntax for
|
||
double quote in string.
|
||
|
||
2006-01-01 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* top.c: Add 2006 to list of copyright years in file header.
|
||
|
||
2006-01-01 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* top.c (print_gdb_version): Update copyright year to 2006.
|
||
|
||
2006-01-01 Roger Sayle <roger@eyesopen.com>
|
||
Elena Zannoni <ezannoni@redhat.com>
|
||
|
||
PR symtab/1651
|
||
* xcoffread.c (xcoff_next_symbol_text): Check this_symtab_psymtab
|
||
for NULL before assigning this_symtab_psymtab->objfile to objfile.
|
||
(scan_xcoff_symtab): Initialize next_symbol_text_func.
|
||
(Committed by Jim Blandy)
|
||
|
||
For older changes see ChangeLog-2005.
|
||
|
||
Local Variables:
|
||
mode: change-log
|
||
left-margin: 8
|
||
fill-column: 74
|
||
version-control: never
|
||
End:
|