1 2006-01-06 Fred Fish <fnf@specifix.com>
3 * objfiles.c (source.h): Include.
4 (free_objfile): Update comment about clear_symtab_users().
5 (free_objfile): Check all symtabs of objfile being freed and if
6 one of them is the current source symtab, call
7 clear_current_source_symtab_and_line().
9 2006-01-04 Michael Snyder <msnyder@redhat.com>
11 Checkpoint/Restart for Linux.
12 * linux-nat.c: Add support for debugging multiple forks.
13 Add #include for linux-fork.h (interface spec).
14 (super_mourn_inferior): New function pointer.
15 (child_mourn_inferior): New function / target method.
16 (linux_target): Claim to_mourn_inferior method pointer.
17 (child_follow_fork): Call interface to linux-fork, conditionally
18 add new fork processes to list of debugged processes.
19 (kill_inferior): Use interface to linux-fork to kill
22 * linux-fork.h: New file.
23 * linux-fork.c: New file. Support for debugging multiple forks
24 of the same program. Support for checkpoint and restart commands.
26 * infrun.c (nullify_last_target_wait_ptid): New function.
28 * Makefile.in: Add linux-fork.
29 * config/*/linux.mh: Add linux-fork.
30 * NEWS: Mention new functionality.
32 2006-01-02 Paul Hilfinger <hilfingr@nile.gnat.com>
34 * ada-exp.y (syntax definitions,write_var_or_type,write_name_assoc):
35 Change uses of "illegal" to "invalid".
37 2006-01-02 Paul N. Hilfinger <hilfinger@adacore.com>
39 * ada-exp.y: Considerable reorganization to move functionality
40 from ada-lex.l to here, where it is logically more appropriate.
41 The original reason, however, was to prevent premature name
42 lookups for selector names in record aggregates.
43 (BLOCKNAME, TYPENAME, OBJECT_RENAMING): Remove; lexer now returns
44 NAME for all of these.
45 (VAR): New artificial token to clarify precedence rules.
47 (empty_stoken): New symbol.
48 (%union): Remove ssym, voidval.
49 (%type): Remove <voidval> type declarations.
50 (syntax definitions): Add aggregates.
51 Remove distinction between NAME, TYPENAME, BLOCKNAME, OBJECT_RENAMING.
52 Rename some non-terminals to be closer to reference manual usage.
53 Tighten up expression syntax to disallow certain non-Ada
54 constructions such as X and then Y or else Z.
55 (ada_parse): Remove initialization of left_block_context.
56 (write_var_from_name): Remove.
57 (write_var_or_type): New function, containing previous code from
58 defunct write_var_from_name and name_lookup.
59 (block_lookup): New function, moved from ada-lex.l
60 (select_possible_type_sym): New function, factored out of
61 name_lookup, which used to be in ada-lex.l.
62 (find_primitive_type): Ditto.
63 (chop_selector): Ditto.
64 (write_ambiguous_var): New function, factored out of defunct
66 (write_selectors): New function.
67 (write_name_assoc): New function.
68 (write_exp_op_with_string): New function.
70 * ada-lex.l (processId): Change interface to return stoken.
71 (tempbuf, resize_tempbuf, tempbuf_size, tempbuf_len): Remove.
72 (block_lookup, name_lookup): Remove. Functionality moved to
74 (state IN_STRING): Remove.
75 (rules): Handle string escapes in processString.
77 Return all NAMEs, BLOCKNAMEs, OBJECT_RENAMINGs, TYPENAMEs in
78 yylval.sval (as simple strings).
79 All name look-ups now handled in ada-exp.y.
80 Introduce "::" (COLONCOLON) token and return as separate token.
81 (processId): Change return convention. Comment.
82 Leave leading "'" in place.
83 (processString): New function.
84 (find_dot_all): Add note to comment.
85 Fix problem that allowed match only at the end.
87 * ada-lang.c: Introduce aggregates.
88 (find_struct_field): Add new parameter to count fields skipped, and
89 allow other output parameters to be NULL.
90 (value_tag_from_contents_and_address, ada_value_struct_elt): Use
91 new find_struct_field.
92 (ada_index_struct_field, assign_aggregate, ada_is_array_type)
93 (num_visible_fields, ada_index_struct_field_1, ada_index_struct_field)
94 (num_component_specs, assign_component, assign_aggregate):
95 (aggregate_assign_from_choices,aggregate_assign_positional)
96 (aggregate_assign_others,add_component_interval):
98 (ada_evaluate_subexp): Declare.
99 Add aggregate-related operators.
100 (ada_forward_operator_length): Declare.
101 (resolve_subexp): Add cases for new aggregate operators and OP_NAME.
102 Consolidate Ada operators, using ada_forward_operator_length.
103 (ada_search_struct_field): Search in forward order.
104 (ADA_OPERATORS): Add new aggregate operators.
105 (ada_operator_length, ada_op_name, ada_forward_operator_length)
106 (ada_dump_subexp_body, ada_print_subexp): Handle new aggregate
107 operators and OP_NAME.
108 (ada_type_of_array): Use longest_to_int.
109 (value_assign_to_component): New function.
110 (ada_forward_operator_length, ada_op_name, ada_dump_subexp_body):
112 (ada_forward_operator_length, ada_dump_subexp_body):
115 * ada-lang.h (enum ada_operator): Add OP_AGGREGATE, OP_OTHERS,
116 OP_CHOICES, OP_DISCRETE_RANGE, OP_POSITIONAL.
118 2006-01-02 Paul N. Hilfinger <hilfinger@adacore.com>
120 * ada-lang.c (process_raise_exception_name): Remove extraneous
121 definition from unsubmitted code.
123 (is_lower_alphanum): New function.
124 (ada_decode): Add support for decoding protected object subprograms
125 and entries, and of entities declared inside protected object
127 Also add missing handling for__{DIGITS}+ suffixes.
128 Allow '$<digits>' as valid overloading suffix.
129 (is_name_suffix): Add handling for protected type entriy suffixes.
130 Also add support for protected type subprogram suffixes, but keep
131 it commented out for now, as there is an ambiguity between these
132 entities and other internally generated entities.
133 Allow '$<digits>' as valid overloading suffix.
134 (is_valid_name_for_wild_match): New function.
135 (wild_match): Add an exra level of verification of the entity name
136 before declaring it a match for the given pattern.
138 (ada_type_of_array, ada_evaluate_subexp): Use more proper
139 longest_to_int rather than cast.
141 (ada_evaluate_subexp): Use "invalid" rather than "illegal" in comment.
143 (ada_coerce_to_simple_array): Call check_size to make sure
144 that the object size is reasonable.
146 (ada_value_primitive_packed_val): Use correct location in target
147 buffer for extracting packed record fields that are themselves records.
149 (add_defn_to_vec): Do not try to replace a stub type by its full
150 type. Avoids a potential infinite loop.
152 (ada_lookup_symbol): Move return incorrectly placed return statement,
153 causing a loop that should be scanning all object files to only
156 (ada_tag_name_2): New function.
157 (ada_tag_name_1): If no 'tsd' field found in the dispatching table,
158 use alternative representation.
160 (ada_find_renaming_symbol): Strip the function name suffix when
161 computing the XR type name.
163 (ada_to_fixed_type): Try determining the tag only if we have the
165 (to_fixed_array_type): Add comments.
167 (ada_check_typedef): Replace expression checking whether the given
168 type is a stub or not by a "call" to TYPE_STUB. Clearer and more
171 * ada-lang.h (ADA_KNOWN_AUXILIARY_FUNCTION_NAME_PATTERNS): Allow
172 '$' in addition to '.' for runtime auxiliary function name suffixes.
173 See changes to ada_decode above.
175 (struct task_control_block): Add field called_task. (This change is
176 to keep synchronized with our local sources; it does not affect the
179 * ada-typeprint.c (ada_print_type): Use int_string for printing
180 modulus of modular type.
182 (print_range): Trivial editorial comment fix.
184 * ada-valprint.c (ada_emit_char): Use normal Ada syntax for
185 double quote in string.
187 2006-01-01 Joel Brobecker <brobecker@adacore.com>
189 * top.c: Add 2006 to list of copyright years in file header.
191 2006-01-01 Joel Brobecker <brobecker@adacore.com>
193 * top.c (print_gdb_version): Update copyright year to 2006.
195 2006-01-01 Roger Sayle <roger@eyesopen.com>
196 Elena Zannoni <ezannoni@redhat.com>
199 * xcoffread.c (xcoff_next_symbol_text): Check this_symtab_psymtab
200 for NULL before assigning this_symtab_psymtab->objfile to objfile.
201 (scan_xcoff_symtab): Initialize next_symbol_text_func.
202 (Committed by Jim Blandy)
204 For older changes see ChangeLog-2005.
210 version-control: never