Reviewed and approved by Jim Blandy
[external/binutils.git] / gdb / ChangeLog
1 2006-01-06  Fred Fish  <fnf@specifix.com>
2
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().
8
9 2006-01-04  Michael Snyder  <msnyder@redhat.com>
10
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
20         multiple processes.
21
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.
25
26         * infrun.c (nullify_last_target_wait_ptid): New function.
27
28         * Makefile.in: Add linux-fork.
29         * config/*/linux.mh: Add linux-fork.
30         * NEWS: Mention new functionality.
31
32 2006-01-02  Paul Hilfinger  <hilfingr@nile.gnat.com>
33
34         * ada-exp.y (syntax definitions,write_var_or_type,write_name_assoc): 
35         Change uses of "illegal" to "invalid".
36         
37 2006-01-02  Paul N. Hilfinger  <hilfinger@adacore.com>
38
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.
46         (OTHERS): New lexeme.
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
65         write_var_from_name.
66         (write_selectors): New function.
67         (write_name_assoc): New function.
68         (write_exp_op_with_string): New function.
69
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
73         ada-exp.y.
74         (state IN_STRING): Remove.
75         (rules): Handle string escapes in processString.
76         Add 'others' token.
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.
86
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):
97         New functions.
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):
111         Add OP_NAME case.
112         (ada_forward_operator_length, ada_dump_subexp_body):
113         Add OP_STRING case.
114
115         * ada-lang.h (enum ada_operator): Add OP_AGGREGATE, OP_OTHERS,
116         OP_CHOICES, OP_DISCRETE_RANGE, OP_POSITIONAL.
117
118 2006-01-02  Paul N. Hilfinger  <hilfinger@adacore.com>
119
120         * ada-lang.c (process_raise_exception_name): Remove extraneous 
121         definition from unsubmitted code.
122
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
126         subprograms. 
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.
137
138         (ada_type_of_array, ada_evaluate_subexp): Use more proper 
139         longest_to_int rather than cast.
140
141         (ada_evaluate_subexp): Use "invalid" rather than "illegal" in comment.
142
143         (ada_coerce_to_simple_array): Call check_size to make sure
144         that the object size is reasonable.
145
146         (ada_value_primitive_packed_val):  Use correct location in target 
147         buffer for extracting packed record fields that are themselves records.
148
149         (add_defn_to_vec): Do not try to replace a stub type by its full
150         type. Avoids a potential infinite loop.
151         
152         (ada_lookup_symbol): Move return incorrectly placed return statement, 
153         causing a loop that should be scanning all object files to only 
154         scan the first one.
155
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.
159
160         (ada_find_renaming_symbol): Strip the function name suffix when 
161         computing the XR type name.
162
163         (ada_to_fixed_type): Try determining the tag only if we have the
164         object's address.
165         (to_fixed_array_type): Add comments.
166
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
169         consistent.
170         
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.
174
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
177         public version yet.)
178
179         * ada-typeprint.c (ada_print_type): Use int_string for printing
180         modulus of modular type.
181         
182         (print_range): Trivial editorial comment fix.
183
184         * ada-valprint.c (ada_emit_char): Use normal Ada syntax for 
185         double quote in string.
186
187 2006-01-01  Joel Brobecker  <brobecker@adacore.com>
188
189         * top.c: Add 2006 to list of copyright years in file header.
190
191 2006-01-01  Joel Brobecker  <brobecker@adacore.com>
192
193         * top.c (print_gdb_version): Update copyright year to 2006.
194
195 2006-01-01  Roger Sayle  <roger@eyesopen.com>
196             Elena Zannoni <ezannoni@redhat.com>
197
198         PR symtab/1651
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)
203
204 For older changes see ChangeLog-2005.
205 \f
206 Local Variables:
207 mode: change-log
208 left-margin: 8
209 fill-column: 74
210 version-control: never
211 End: