OSDN Git Service

* gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Just copy
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2010-04-16  Eric Botcazou  <ebotcazou@adacore.com>
2
3         * gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Just copy
4         TYPE_NAME.
5         * gcc-interface/trans.c (smaller_packable_type_p): Rename into...
6         (smaller_form_type_p): ...this.  Change parameter and variable names.
7         (call_to_gnu): Use the nominal type of the parameter to create the
8         temporary if it's a smaller form of the actual type.
9         (addressable_p): Return false if the actual type is integral and its
10         size is greater than that of the expected type.
11
12 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
13
14         * gcc-interface/cuintp.c (UI_To_gnu): Fix long line.
15         * gcc-interface/gigi.h (MARK_VISITED): Skip objects of constant class.
16         (process_attributes): Delete.
17         (post_error_ne_num): Change parameter name.
18         * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force debug info
19         with -g3.  Remove a couple of obsolete lines.  Minor tweaks.
20         If type annotating mode, operate on trees to compute the adjustment to
21         the sizes of tagged types.  Fix long line.
22         (cannot_be_superflat_p): Tweak head comment.
23         (annotate_value): Fold local constant.
24         (set_rm_size): Fix long line.
25         * gcc-interface/trans.c (Identifier_to_gnu): Rework comments.
26         (Attribute_to_gnu): Fix long line.
27         <Attr_Size>: Remove useless assertion.
28         Reorder statements.  Use size_binop routine.
29         (Loop_Statement_to_gnu): Use build5 in lieu of build_nt.
30         Create local variables for the label and the test.  Tweak comments.
31         (Subprogram_Body_to_gnu): Reset cfun to NULL.
32         (Compilation_Unit_to_gnu): Use the Sloc of the Unit node.
33         (process_inlined_subprograms): Integrate into...
34         (Compilation_Unit_to_gnu): ...this.
35         (gnat_to_gnu): Fix long line.
36         (post_error_ne_num): Change parameter name.
37         * gcc-interface/utils.c (process_attributes): Static-ify.
38         <ATTR_MACHINE_ATTRIBUTE>: Set input_location before proceeding.
39         (create_type_decl): Add comment.
40         (create_var_decl_1): Process the attributes after adding the VAR_DECL
41         to the current binding level.
42         (create_subprog_decl): Likewise for the FUNCTION_DECL.
43         (end_subprog_body): Do not reset cfun to NULL.
44         (build_vms_descriptor32): Fix long line.
45         (build_vms_descriptor): Likewise.
46         (handle_nonnull_attribute): Likewise.
47         (convert_vms_descriptor64): Likewise.
48         * gcc-interface/utils2.c (fill_vms_descriptor): Fix long line.
49         (gnat_protect_expr): Fix thinko.
50
51 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
52
53         * gcc-interface/trans.c (gigi): Set DECL_IGNORED_P on EH functions.
54         (gnat_to_gnu) <N_Op_Eq>: Restore the value of input_location
55         before translating the top-level node.
56         (lvalue_required_p) <N_Function_Call>: Return 1 if !constant.
57         <N_Object_Declaration>: Likewise.
58         <N_Assignment_Statement>: Likewise.
59         <N_Unchecked_Type_Conversion>: Likewise.
60         (call_to_gnu): Remove kludge.
61         (gnat_to_gnu) <N_Return_Statement>: When not optimizing, force labels
62         associated with user returns to be preserved.
63         (gnat_to_gnu): Add special code to deal with boolean rvalues.
64         * gcc-interface/utils2.c (compare_arrays): Set input_location on all
65         comparisons.
66         (build_unary_op) <ADDR_EXPR>: Call build_fold_addr_expr.
67         <INDIRECT_REF>: Call build_fold_indirect_ref.
68
69 2010-04-15  Joel Sherrill  <joel.sherrill@oarcorp.com>
70
71         * g-socket.adb: A target can have multiple missing errno's.  This
72         will result in multiple errno's being defined as -1.  Because of this
73         we can not use a case but must use a series of if's to avoid 
74         a duplicate case error in GNAT.Sockets.Resolve_Error.
75
76 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
77
78         * gcc-interface/trans.c (call_to_gnu): Open a nesting level if this is
79         a statement.  Otherwise, if at top-level, push the processing of the
80         elaboration routine.  In the misaligned case, issue the error messages
81         again on entry and create the temporary explicitly.  Do not issue them
82         for CONSTRUCTORs.
83         For a function call, emit the range check if necessary.
84         In the copy-in copy-out case, create the temporary for the return
85         value explicitly.
86         Do not unnecessarily convert by-ref parameters to the formal's type.
87         Remove obsolete guards in conditions.
88         (gnat_to_gnu) <N_Assignment_Statement>: For a function call, pass the
89         target to call_to_gnu in all cases.
90         (gnat_gimplify_expr) <ADDR_EXPR>: Remove handling of SAVE_EXPR.
91         (addressable_p) <CONSTRUCTOR>: Return false if not static.
92         <COMPOUND_EXPR>: New case.
93         * gcc-interface/utils2.c (build_unary_op) <ADDR_EXPR>: Fold a compound
94         expression if it has unconstrained array type.
95         (gnat_mark_addressable) <COMPOUND_EXPR>: New case.
96         (gnat_stabilize_reference) <COMPOUND_EXPR>: Stabilize operands on an
97         individual basis.
98
99 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
100
101         * gcc-interface/trans.c (gigi): Do not start statement group.
102         (Compilation_Unit_to_gnu): Set current_function_decl to NULL.
103         Start statement group and push binding level here...
104         (gnat_to_gnu) <N_Compilation_Unit>: ...and not here.
105         Do not push fake contexts at top level.  Remove redundant code.
106         (call_to_gnu): Rename a local variable and constify another.
107         * gcc-interface/utils.c (gnat_pushlevel): Fix formatting nits.
108         (set_current_block_context): Set it as the group's block.
109         (gnat_init_decl_processing): Delete unrelated init code.
110         (end_subprog_body): Use NULL_TREE.
111
112 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
113
114         * gcc-interface/trans.c (call_to_gnu): Do not unnecessarily force
115         side-effects of actual parameters before the call.
116
117 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
118
119         * gcc-interface/decl.c (validate_size): Reorder, remove obsolete test
120         and warning.
121         (set_rm_size): Reorder and remove obsolete test.
122
123 2010-04-14  Eric Botcazou  <ebotcazou@adacore.com>
124
125         * gcc-interface/gigi.h: Reorder declarations and tweak comments.
126         (gigi): Adjust ATTRIBUTE_UNUSED markers.
127         * gcc-interface/gadaint.h: New file.
128         * gcc-interface/trans.c: Include it in lieu of adaint.h.  Reorder.
129         (__gnat_to_canonical_file_spec): Remove declaration.
130         (number_names): Delete.
131         (number_files): Likewise.
132         (gigi): Adjust.
133         * gcc-interface/Make-lang.in (ada/trans.o): Adjust dependencies to
134         above change.
135
136 2010-04-14  Eric Botcazou  <ebotcazou@adacore.com>
137
138         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Class_Wide_Type>: Fix
139         comment.
140         * gcc-interface/trans.c (process_freeze_entity): Use local copy of
141         Ekind.  Return early for class-wide types.  Do not compute initializer
142         unless necessary.  Reuse the tree for an associated class-wide type
143         only if processing its root type.
144
145 2010-04-13  Joel Sherrill  <joel.sherrill@oarcorp.com>
146
147         * gsocket.h: Run-time can no longer be built without network
148         OS headers available.  Changing RTEMS GNAT build procedure to
149         reflect this and letting run-time build use network .h files.
150
151 2010-04-13  Duncan Sands  <baldrick@free.fr>
152
153         * gcc-interface/misc.c (gnat_eh_type_covers): Remove.
154         * gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Update comment.
155
156 2010-04-13  Eric Botcazou  <ebotcazou@adacore.com>
157
158         * gcc-interface/gigi.h (standard_datatypes): Add ADT_parent_name_id.
159         (parent_name_id): New macro.
160         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Use it.
161         * gcc-interface/trans.c (gigi): Initialize it.
162         (lvalue_required_p) <N_Type_Conversion>: New case.
163         <N_Qualified_Expression>: Likewise.
164         <N_Allocator>: Likewise.
165         * gcc-interface/utils.c (convert): Try to properly upcast tagged types.
166
167 2010-04-13  Eric Botcazou  <ebotcazou@adacore.com>
168
169         * gcc-interface/ada-tree.h (TYPE_BY_REFERENCE_P): Delete.
170         (DECL_CONST_ADDRESS_P): New macro.
171         (SET_DECL_ORIGINAL_FIELD_TO_FIELD): Likewise.
172         (SAME_FIELD_P): Likewise.
173         * gcc-interface/decl.c (constructor_address_p): New static function.
174         (gnat_to_gnu_entity) <object>: Set DECL_CONST_ADDRESS_P according to
175         the return value of above function.
176         (gnat_to_gnu_entity) <E_Record_Type>: Force BLKmode for all types
177         passed by reference.
178         <E_Record_Subtype>: Likewise.
179         Set TREE_ADDRESSABLE on the type if it passed by reference.
180         (make_packable_type): Use SET_DECL_ORIGINAL_FIELD_TO_FIELD.
181         (create_field_decl_from): Likewise.
182         (substitute_in_type): Likewise.
183         (purpose_member_field): Use SAME_FIELD_P.
184         * gcc-interface/misc.c (must_pass_by_ref): Test TREE_ADDRESSABLE.
185         * gcc-interface/trans.c (lvalue_required_p): Add ADDRESS_OF_CONSTANT
186         parameter and adjust recursive calls.
187         <N_Explicit_Dereference>: New case.
188         <N_Object_Declaration>: Return 1 if the object is of a class-wide type.
189         Adjust calls to lvalue_required_p.  Do not return the initializer of a
190         DECL_CONST_ADDRESS_P constant if an lvalue is required for it.
191         (call_to_gnu): Delay issuing error message for a misaligned actual and
192         avoid the associated back-end assertion.  Test TREE_ADDRESSABLE.
193         (gnat_gimplify_expr) <ADDR_EXPR>: Handle non-static constructors.
194         * gcc-interface/utils.c (make_dummy_type): Set TREE_ADDRESSABLE if the
195         type is passed by reference.
196         (convert) <CONSTRUCTOR>: Convert in-place in more cases.
197         * gcc-interface/utils2.c (build_cond_expr): Drop TYPE_BY_REFERENCE_P.
198         (build_simple_component_ref): Use SAME_FIELD_P.
199
200 2010-04-12  Eric Botcazou  <ebotcazou@adacore.com>
201
202         * gcc-interface/trans.c (Identifier_to_gnu): Use boolean variable.
203         (call_to_gnu): Test gigi's flag TYPE_BY_REFERENCE_P instead of calling
204         front-end's predicate Is_By_Reference_Type.  Use consistent order and
205         remove ??? comment.  Use original conversion in all cases, if any.
206         * gcc-interface/utils.c (make_dummy_type): Minor tweak.
207         (convert): Use local copy in more cases.
208         <INDIRECT_REF>: Remove deactivated code.
209         (unchecked_convert): Use a couple of local copies.
210
211 2010-04-11  Eric Botcazou  <ebotcazou@adacore.com>
212
213         * gcc-interface/trans.c (lvalue_required_for_attribute_p): New static
214         function.
215         (lvalue_required_p) <N_Attribute_Reference>: Call it.
216         (gnat_to_gnu) <N_Selected_Component>: Prevent build_component_ref from
217         folding the result only if lvalue_required_for_attribute_p is true.
218         * gcc-interface/utils.c (maybe_unconstrained_array): Pass correctly
219         typed constant to build_component_ref.
220         (unchecked_convert): Likewise.
221         * gcc-interface/utils2.c (maybe_wrap_malloc): Likewise.
222         (build_allocator): Likewise.
223
224 2010-04-11  Eric Botcazou  <ebotcazou@adacore.com>
225
226         * gcc-interface/utils2.c (build_cond_expr): Take the address and
227         dereference if the result type is passed by reference.
228
229 2010-04-11  Eric Botcazou  <ebotcazou@adacore.com>
230
231         * gcc-interface/trans.c (Case_Statement_to_gnu): Bool-ify variable.
232         (gnat_to_gnu) <N_Null_Statement>: When not optimizing, generate a
233         goto to the next statement.
234
235 2010-04-09  Eric Botcazou  <ebotcazou@adacore.com>
236
237         * gcc-interface/gigi.h (maybe_variable): Delete.
238         (protect_multiple_eval): Likewise.
239         (maybe_stabilize_reference): Likewise.
240         (gnat_save_expr): Declare.
241         (gnat_protect_expr): Likewise.
242         (gnat_stabilize_reference): Likewise.
243         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use
244         gnat_stabilize_reference.
245         (maybe_variable): Delete.
246         (elaborate_expression_1): Use gnat_save_expr.
247         * gcc-interface/trans.c (Attribute_to_gnu): Use gnat_protect_expr.
248         (call_to_gnu): Pass NULL to gnat_stabilize_reference.
249         (gnat_to_gnu) <N_Object_Declaration>: Use gnat_save_expr.
250         <N_Slice>: Use gnat_protect_exp.
251         <N_Selected_Component>: Pass NULL to gnat_stabilize_reference.
252         <N_In>: Use gnat_protect_expr.
253         Pass NULL to gnat_stabilize_reference.
254         (build_unary_op_trapv): Use gnat_protect_expr.
255         (build_binary_op_trapv): Likewise.
256         (emit_range_check): Likewise.
257         (emit_index_check): Likewise.
258         (convert_with_check): Likewise.
259         (protect_multiple_eval): Move to utils2.c file.
260         (maybe_stabilize_reference): Merge into...
261         (gnat_stabilize_reference): ...this.  Move to utils2.c file.
262         (gnat_stabilize_reference_1): Likewise.
263         * gcc-interface/utils.c (convert_to_fat_pointer): Use gnat_protect_expr
264         instead of protect_multiple_eval.
265         * gcc-interface/utils2.c (compare_arrays): Likewise.
266         (nonbinary_modular_operation): Likewise.
267         (maybe_wrap_malloc): Likewise.
268         (build_allocator): Likewise.
269         (gnat_save_expr): New function.
270         (gnat_protect_expr): Rename from protect_multiple_eval.  Early return
271         in common cases.  Propagate TREE_READONLY onto dereferences.
272         (gnat_stabilize_reference_1): Move from trans.c file.
273         (gnat_stabilize_reference): Likewise.
274
275 2010-04-09  Eric Botcazou  <ebotcazou@adacore.com>
276
277         * gcc-interface/gigi.h (gnat_mark_addressable): Rename parameter.
278         * gcc-interface/decl.c (maybe_variable): Do not set TREE_STATIC on _REF
279         node.  Use the type of the operand to set TREE_READONLY.
280         * gcc-interface/trans.c (Identifier_to_gnu): Do not set TREE_STATIC on
281         _REF node.  Do not overwrite TREE_READONLY.
282         (call_to_gnu): Rename local variable and fix various nits.  In the
283         copy-in/copy-out case, build the SAVE_EXPR manually.
284         (convert_with_check): Call protect_multiple_eval in lieu of save_expr
285         and fold the computations.
286         (protect_multiple_eval): Always save entire fat pointers.
287         (maybe_stabilize_reference): Minor tweaks.
288         (gnat_stabilize_reference_1): Likewise.  Do not deal with tcc_constant,
289         tcc_type and tcc_statement.
290         * gcc-interface/utils.c (convert_to_fat_pointer): Call
291         protect_multiple_eval in lieu of save_expr.
292         (convert): Minor tweaks.
293         (maybe_unconstrained_array): Do not set TREE_STATIC on _REF node.
294         (builtin_type_for_size): Call gnat_type_for_size directly.
295         * gcc-interface/utils2.c (contains_save_expr_p): Delete.
296         (contains_null_expr): Likewise
297         (gnat_build_constructor): Do not call it.
298         (compare_arrays): Deal with all side-effects, use protect_multiple_eval
299         instead of gnat_stabilize_reference to protect the operands.
300         (nonbinary_modular_operation): Call protect_multiple_eval in lieu of
301         save_expr.
302         (maybe_wrap_malloc): Likewise.
303         (build_allocator): Likewise.
304         (build_unary_op) <INDIRECT_REF>: Do not set TREE_STATIC on _REF node.
305         (gnat_mark_addressable): Rename parameter.
306
307 2010-04-08  Eric Botcazou  <ebotcazou@adacore.com>
308
309         * gcc-interface/ada-tree.h (TYPE_RETURNS_UNCONSTRAINED_P): Rename into.
310         (TYPE_RETURN_UNCONSTRAINED_P): ...this.
311         (TYPE_RETURNS_BY_REF_P): Rename into.
312         (TYPE_RETURN_BY_DIRECT_REF_P): ...this.
313         (TYPE_RETURNS_BY_TARGET_PTR_P): Delete.
314         * gcc-interface/gigi.h (create_subprog_type): Adjust parameter names.
315         (build_return_expr): Likewise.
316         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>:
317         Rename local variables.  If the return Mechanism is By_Reference, pass
318         return_by_invisible_ref_p to create_subprog_type instead of toggling
319         TREE_ADDRESSABLE.  Test return_by_invisible_ref_p in order to annotate
320         the mechanism.  Use regular return for contrained types with non-static
321         size and return by invisible reference for unconstrained return types
322         with default discriminants.  Update comment.
323         * gcc-interface/trans.c (Subprogram_Body_to_gnu): If the function
324         returns by invisible reference, turn the RESULT_DECL into a pointer.
325         Do not handle DECL_BY_REF_P in the CICO case here.
326         (call_to_gnu): Remove code handling return by target pointer.  For a
327         function call, if the return type has non-constant size, generate the
328         assignment with an INIT_EXPR.
329         (gnat_to_gnu) <N_Return_Statement>: Remove dead code in the CICO case.
330         If the function returns by invisible reference, build the copy return
331         operation manually.
332         (add_decl_expr): Initialize the variable with an INIT_EXPR.
333         * gcc-interface/utils.c (create_subprog_type): Adjust parameter names.
334         Adjust for renaming of macros.  Copy the node only when necessary.
335         (create_subprog_decl): Do not toggle TREE_ADDRESSABLE on the return
336         type, only change DECL_BY_REFERENCE on the RETURN_DECL.
337         (convert_from_reference): Delete.
338         (is_byref_result): Likewise.
339         (gnat_genericize_r): Likewise.
340         (gnat_genericize): Likewise.
341         (end_subprog_body): Do not call gnat_genericize.
342         * gcc-interface/utils2.c (build_binary_op) <INIT_EXPR>: New case.
343         (build_return_expr): Adjust parameter names, logic and comment.
344
345 2010-04-07  Eric Botcazou  <ebotcazou@adacore.com>
346
347         * exp_pakd.adb (Create_Packed_Array_Type): Always use a modular type
348         if the size is small enough.  Propagate the alignment if there is an
349         alignment clause on the original array type.
350         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>
351         Deal with under-aligned packed array types.  Copy the size onto the
352         justified modular type and don't lay it out again.  Likewise for the
353         padding type built for other under-aligned subtypes.
354         * gcc-interface/utils.c (finish_record_type): Do not set a default mode
355         on the type.
356
357 2010-04-07  Eric Botcazou  <ebotcazou@adacore.com>
358
359         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set default
360         alignment on the RETURN type built for the Copy-In Copy-Out mechanism.
361
362 2010-04-07  Eric Botcazou  <ebotcazou@adacore.com>
363
364         * gcc-interface/trans.c (call_to_gnu): In the return-by-target-ptr case
365         do not set the result type if there is a specified target and do not
366         convert the result in any cases.
367         (protect_multiple_eval): Make direct SAVE_EXPR for CALL_EXPR.
368         (maybe_stabilize_reference) <COMPOUND_EXPR>: Merge with CALL_EXPR.
369
370 2010-03-10  Eric Botcazou  <ebotcazou@adacore.com>
371
372         * gcc-interface/Makefile.in (SPARC/Solaris): Use sparcv8plus.
373
374 2010-02-27  Eric Botcazou  <ebotcazou@adacore.com>
375
376         PR ada/42253
377         * gcc-interface/utils2.c (build_binary_op) <EQ_EXPR>: Assert that fat
378         pointer base types are variant of each other.  Apply special treatment
379         for null to fat pointer types in all cases.
380
381 2010-01-28  Pascal Obry  <obry@adacore.com>
382
383         * s-win32.ads: Add some missing constants.
384
385 2010-01-28  Vincent Celier  <celier@adacore.com>
386
387         * prj-attr-pm.adb (Add_Attribute): Do nothing if To_Package is
388         Unknown_Package.
389
390 2010-01-28  Robert Dewar  <dewar@adacore.com>
391
392         * gnat_rm.texi: Minor correction
393
394 2010-01-27  Pascal Obry  <obry@adacore.com>
395
396         * g-awk.adb: ensure that an AWK session is reusable.
397
398 2010-01-27  Vasiliy Fofanov  <fofanov@adacore.com>
399
400         * g-regist.adb (For_Every_Key): Fix previous change.
401         Minor reformatting.
402
403 2010-01-27  Thomas Quinot  <quinot@adacore.com>
404
405         * lib-writ.ads: Current version of spec for new N (note) ALI lines
406
407 2010-01-27  Yannick Moy  <moy@adacore.com>
408
409         * a-cdlili.adb (Insert): Correct exception message when cursor
410         designates wrong list.
411
412 2010-01-27  Vincent Celier  <celier@adacore.com>
413
414         * gnatcmd.adb: When there is only one main specified, the package
415         support Switches (<main>) and attribute Switches is specified for the
416         main, use these switches, instead of Default_Switches ("Ada").
417
418 2010-01-27  Robert Dewar  <dewar@adacore.com>
419
420         * sem_prag.adb, par-prag.adb, snames.ads-tmpl: pragma Dimension initial
421         implementation.
422         * exp_disp.adb: Minor reformatting
423
424 2010-01-27  Tristan Gingold  <gingold@adacore.com>
425
426         * seh_init.c: Use __ImageBase instead of _ImageBase.
427
428 2010-01-27  Javier Miranda  <miranda@adacore.com>
429
430         * exp_disp.ads, exp_disp.adb (Expand_Interface_Thunk): Modify the
431         profile of interface thunks. The type of the controlling formal is now
432         the covered interface type (instead of the target tagged type).
433
434 2010-01-27  Sergey Rybin  <rybin@adacore.com>
435
436         * gnat_rm.texi, gnat_ugn.texi: Update gnatcheck doc.
437
438 2010-01-27  Robert Dewar  <dewar@adacore.com>
439
440         * sinput.ads, sinput.adb (Sloc_Range): Applies to all nodes, formal
441         changed from Expr to N.
442
443 2010-01-26  Thomas Quinot  <quinot@adacore.com>
444
445         * gnat_ugn.texi: Adjust documentation of -gnatz switches.
446         * usage.adb: Replace line for -gnatz with two lines for -gnatzc and
447         -gnatzr.
448
449 2010-01-26  Vincent Celier  <celier@adacore.com>
450
451         * prj-attr.adb: Add new attribute Library_Install_Name_Option
452         Replace attribute Run_Path_Origin_Supported with Run_Path_Origin
453         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
454         attributes Run_Path_Option and Library_Install_Name_Option.
455         * prj.ads (Project_Configuration): Replace component
456         Run_Path_Origin_Supported with component Run_Path_Origin. Add new
457         component Library_Install_Name_Option.
458         * snames.ads-tmpl: Add new standard name Library_Install_Name_Option
459         Replace Run_Path_Origin_Supported with Run_Path_Origin
460
461 2010-01-26  Ed Schonberg  <schonberg@adacore.com>
462
463         * sem_ch8.adb (Use_One_Package): Within an instance, an actual package
464         is not hidden by a homograph declared in another actual package.
465
466 2010-01-26  Robert Dewar  <dewar@adacore.com>
467
468         * par_sco.adb (Traverse_Declarations_Or_Statements): Only generate
469         decisions for pragmas Assert, Check, Precondition, Postcondition if
470         -gnata set.
471         * scos.ads: Update comments.
472         * get_scos.adb, put_scos.adb: Minor fix to code reading statement SCOs.
473         Also remove obsolete code for CT (exit point) SCOs.
474
475 2010-01-26  Thomas Quinot  <quinot@adacore.com>
476
477         * switch-c.adb: Fix handling of -gnatz*
478
479 2010-01-26  Robert Dewar  <dewar@adacore.com>
480
481         * par_sco.adb (Traverse_Declarations_Or_Statements): Separate F/W
482         qualifiers for FOR/WHILE loops
483         * scos.ads: Use separate type letters F/W for for/while loops
484
485 2010-01-26  Robert Dewar  <dewar@adacore.com>
486
487         * get_scos.adb (Get_SCOs): Implement new form of CS entries (multiple
488         entries per line, one for each statement in the sequence).
489         * par_sco.adb (Traverse_Declarations_Or_Statements): Increase array
490         size from 100 to 10_000 for SC_Array to avoid any real possibility of
491         overflow. Output decisions in for loops.
492         Exclude labels from CS lines.
493         * scos.ads: Clarify that label is not included in the entry point
494
495 2010-01-26  Robert Dewar  <dewar@adacore.com>
496
497         * par_sco.adb (Traverse_Declarations_Or_Statments): Implement new
498         format of statement sequence SCO entries (one location/statement).
499         * put_scos.adb (Put_SCOs): Implement new format of CS lines
500         * scos.ads: Update comments.
501         * sem_eval.adb: Minor reformatting.
502
503 2010-01-26  Robert Dewar  <dewar@adacore.com>
504
505         * par_sco.ads, par_sco.adb (Set_Statement_Entry): New handling of exits
506         (Extend_Statement_Sequence): New procedures
507         (Traverse_Declarations_Or_Statements): New handling for exits.
508
509 2010-01-26  Robert Dewar  <dewar@adacore.com>
510
511         * par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for
512         Case.
513
514 2010-01-26  Robert Dewar  <dewar@adacore.com>
515
516         * par_sco.adb (Is_Logical_Operator): Exclude AND/OR/XOR
517         * scos.ads: Clarify handling of logical operators
518
519 2010-01-26  Arnaud Charlet  <charlet@adacore.com>
520
521         * s-tpoben.adb: Update comments.
522
523 2010-01-26  Robert Dewar  <dewar@adacore.com>
524
525         * freeze.adb (Set_Small_Size): Don't set size if alignment clause
526         present.
527
528 2010-01-26  Robert Dewar  <dewar@adacore.com>
529
530         * scos.ads: Clean up documentation, remove obsolete XOR references
531 2010-01-26  Vincent Celier  <celier@adacore.com>
532
533         * gnat_ugn.texi: Complete documentation on the restrictions for
534         combined options in -gnatxxx switches.
535         Fix typo.
536
537 2010-01-26  Arnaud Charlet  <charlet@adacore.com>
538
539         * s-tpoben.adb (Initialize_Protection_Entries): If a PO is created from
540         a controlled operation, abort is already deferred at this point, so we
541         need to use Defer_Abort_Nestable.
542
543 2010-01-26  Vincent Celier  <celier@adacore.com>
544
545         * prj-conf.adb (Get_Config_Switches): Check for a default language for
546         a project extending a project with no languages.
547
548 2010-01-26  Vincent Celier  <celier@adacore.com>
549
550         * switch-c.adb (Scan_Front_End_Switches): Take into account options
551         that follow -gnatef.
552         Allow -gnateG to be followed by other options.
553
554 2010-01-26  Robert Dewar  <dewar@adacore.com>
555
556         * s-commun.ads, s-osprim-mingw.adb, s-stchop-vxworks.adb, sem_aggr.adb,
557         s-vxwext.adb, sem_ch10.adb, sem_eval.adb, sem_prag.adb: Minor
558         reformatting.
559
560 2010-01-26  Vasiliy Fofanov  <fofanov@adacore.com>
561
562         * g-regist.adb, g-regist.ads (For_Every_Key): New generic procedure
563         that allows to iterate over all subkeys of a key.
564
565 2010-01-26  Ed Falis  <falis@adacore.com>
566
567         * sysdep.c: enable NFS for VxWorks MILS
568         * env.c: enable __gnat_environ for VxWorks MILS
569         * gcc-interface/Makefile.in: Add VxWorks MILS target pairs.
570
571 2010-01-25  Bob Duff  <duff@adacore.com>
572
573         * sem_aggr.adb (Resolve_Array_Aggregate): Check for the case where this
574         is an internally-generated positional aggregate, and the bounds are
575         already correctly set. We don't want to overwrite those bounds with
576         bounds determined by context.
577
578 2010-01-25  Robert Dewar  <dewar@adacore.com>
579
580         * g-sercom.ads, gnatcmd.adb, gnatlink.adb, a-ststio.adb, exp_ch6.adb,
581         exp_ch9.adb, g-sechas.ads: Minor reformatting.
582
583 2010-01-25  Thomas Quinot  <quinot@adacore.com>
584
585         * s-commun.adb (Last_Index): Count must be converted to SEO (a signed
586         integer type) before subtracting 1, otherwise the computation may wrap
587         (because size_t is modular) and cause the conversion to fail.
588
589 2010-01-25  Ed Falis  <falis@adacore.com>
590
591         * sysdep.c, init.c: Adapt to support full run-time on VxWorks MILS.
592
593 2010-01-25  Vincent Celier  <celier@adacore.com>
594
595         * prj-attr.adb: New attribute Run_Path_Origin_Required
596         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process new
597         attribute Run_Path_Origin_Required.
598         * prj.ads (Project_Configuration): New component
599         Run_Path_Origin_Supported.
600         * snames.ads-tmpl: New standard name Run_Path_Origin_Required
601
602 2010-01-25  Ed Schonberg  <schonberg@adacore.com>
603
604         * sem_aggr.adb (Resolve_Array_Aggregate): If the bounds in a choice
605         have errors, do not continue resolution of the aggregate.
606         * sem_eval.adb (Eval_Indexed_Component): Do not attempt to evaluate if
607         the array type indicates an error.
608
609 2010-01-25  Bob Duff  <duff@adacore.com>
610
611         * sinfo.ads: Minor comment fixes.
612
613 2010-01-25  Bob Duff  <duff@adacore.com>
614
615         * exp_ch4.adb, exp_aggr.adb: Minor comment fixes and code clean up.
616
617 2010-01-25  Arnaud Charlet  <charlet@adacore.com>
618
619         * gnatvsn.ads (Current_Year): Update.
620
621 2010-01-25  Florian Villoing  <villoing@adacore.com>
622
623         * gnat_ugn.texi: Fix typo.
624
625 2010-01-25  Thomas Quinot  <quinot@adacore.com>
626
627         * scos.ads: Update specification.
628
629 2010-01-25  Ed Schonberg  <schonberg@adacore.com>
630
631         * sem_ch6.adb (Process_PPCs): If a postcondition is present and the
632         enclosing subprogram has no previous spec, attach postcondition
633         procedure to the defining entity for the body.
634
635 2010-01-25  Ed Schonberg  <schonberg@adacore.com>
636
637         * exp_aggr.adb (Build_Record_Aggr_Code); Do not generate call to
638         initialization procedure of the ancestor part of an extension aggregate
639         if it is an interface type.
640
641 2010-01-25  Vincent Celier  <celier@adacore.com>
642
643         * gnatlink.adb (Process_Binder_File): The directory for the shared
644         version of libgcc in the run path options is found in the subdirectory
645         indicated by __gnat_default_libgcc_subdir.
646         * link.c: Declare new const char * __gnat_default_libgcc_subdir for
647         each platform.
648
649 2010-01-25  Ed Schonberg  <schonberg@adacore.com>
650
651         * sem_prag.adb: More flexible pragma Annotate.
652
653 2010-01-22  Eric Botcazou  <ebotcazou@adacore.com>
654
655         * system-linux-armel.ads (Stack_Check_Probes): Set to True.
656         * system-linux-armeb.ads (Stack_Check_Probes): Likewise.
657
658 2010-01-18  Eric Botcazou  <ebotcazou@adacore.com>
659
660         * gcc-interface/utils.c (create_var_decl_1): Fix formatting nits.
661
662 2010-01-18  Jan Hubicka  <jh@suse.cz>
663
664         PR middle-end/42068
665         * gcc-interface/utils.c (create_var_decl_1): Do not set COMMON flag for
666         unit local variables.
667
668 2010-01-17  Laurent GUERBY  <laurent@guerby.net>
669
670         * gcc-interface/Makefile.in: Fix typo in arm*-*-linux-gnueabi.
671
672 2010-01-11  Mikael Pettersson  <mikpe@it.uu.se>
673
674         * gcc-interface/Makefile.in: Add arm*-*-linux-gnueabi.
675         * system-linux-armeb.ads, system-linux-armel.ads: New files.
676
677 2010-01-09  Simon Wright  <simon@pushface.org>
678
679         PR ada/42626
680         * gcc-interface/Makefile.in (gnatlib-shared-darwin): Add missing
681         end-quote.
682
683
684 \f
685 Copyright (C) 2010 Free Software Foundation, Inc.
686
687 Copying and distribution of this file, with or without modification,
688 are permitted in any medium without royalty provided the copyright
689 notice and this notice are preserved.