* dwarf2out.c (compare_loc_descriptor, scompare_loc_descriptor,
[official-gcc.git] / gcc / ada / ChangeLog
blob0af991dd8bad868e0fd221f07346a1749b639a05
1 2011-05-25  Jakub Jelinek  <jakub@redhat.com>
3         * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
5 2011-05-25  Kai Tietz  <ktietz@redhat.com>
7         * adaint.c (__gnat_to_canonical_file_list_next): Use array
8         initialization instead of const/none-const pointer assignment.
10 2011-05-24  Joseph Myers  <joseph@codesourcery.com>
12         * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
13         $(EXTRA_GNAT1_OBJS).
14         (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
15         (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
16         (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
17         * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
18         libcommon-target.a instead of prefix.o.
20 2011-05-21  Joseph Myers  <joseph@codesourcery.com>
22         PR ada/49097
23         * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on
24         $(LIBDEPS).
26 2011-05-20  Joseph Myers  <joseph@codesourcery.com>
28         * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove
29         version.o.
30         * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
31         libcommon.a instead of version.o.
33 2011-05-18  Kai Tietz <ktietz@redhat.com>
35         * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
36         boolean_false_node instead of integer_zero_node.
37         (convert_with_check): Likewise.
38         * gcc-interface/decl.c (choices_to_gnu): Likewise.
40 2011-05-12  Eric Botcazou  <ebotcazou@adacore.com>
42         * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
43         type of the parameter is an unconstrained array, convert the actual to
44         the type of the formal in the In Out and Out cases as well.
46 2011-05-11  Nathan Froyd  <froydnj@codesourcery.com>
48         * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
49         call build_function_type_array or build_varargs_function_type_array
50         instead.
51         (create_subprog_type): Don't call build_function_type; call
52         build_function_type_vec instead.
54 2011-05-11  Nathan Froyd  <froydnj@codesourcery.com>
56         * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
57         (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
58         (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
60 2011-05-07  Eric Botcazou  <ebotcazou@adacore.com>
62         * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
64         * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
65         * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
67 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
69         * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
71 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
73         * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
74         instead of accessing TYPE_ARG_TYPES directly.
75         * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
77 2011-05-05  Eric Botcazou  <ebotcazou@adacore.com>
79         PR ada/48844
80         * gcc-interface/gigi.h (get_variant_part): Declare.
81         * gcc-interface/decl.c (get_variant_part): Make global.
82         * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
83         types have the same constant size, are record types and T1 has a
84         variant part while T2 doesn't.
86 2011-05-05  Eric Botcazou  <ebotcazou@adacore.com>
88         * gcc-interface/utils.c (begin_subprog_body): Do not call
89         get_pending_sizes.
90         (end_subprog_body): Likewise.
92 2011-05-04  Richard Guenther  <rguenther@suse.de>
94         * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
95         int_const_binop.
96         (pos_to_constructor): Likewise.
98 2011-05-03  Nathan Froyd  <froydnj@codesourcery.com>
99             Eric Botcazou  <ebotcazou@adacore.com>
101         * gcc-interface/trans.c (gigi): Call build_function_type_list instead
102         of build_function_type.  Adjust calls to...
103         (build_raise_check): ...this.  Do not take a void_tree parameter.
104         Call build_function_type_list instead of build_function_type.
105         Fix head comment and swap couple of conditional blocks.
107 2011-04-30  Eric Botcazou  <ebotcazou@adacore.com>
109         * gnatvsn.ads (Library_Version): Bump to 4.7.
110         (Current_Year): Bump to 2011.
112 2011-04-29  Michael Matz  <matz@suse.de>
114         * gcc-interface/misc.c (gnat_handle_option): Set
115         warn_maybe_uninitialized.
117 2011-04-23  Gerald Pfeifer  <gerald@pfeifer.com>
119         * gnat_ugn.texi (Complexity Metrics Control): Update link to
120         the Watson/McCabe paper.
122 2011-04-23  Jim Meyering  <meyering@redhat.com>
124         * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
126 2011-04-22  Eric Botcazou  <ebotcazou@adacore.com>
128         * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
129         onto the new type.
131 2011-04-22  Eric Botcazou  <ebotcazou@adacore.com>
133         * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
134         parameter.
135         * gcc-interface/utils.c (create_subprog_decl): Likewise.  Set
136         DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
137         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
138         ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
139         <all>: Do not set flags on the reused DECL node coming from an alias.
140         Set DECL_IGNORED_P on the DECL node built for subprograms if they
141         don't need debug info here...
142         * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
143         (gigi): Adjust calls to create_subprog_decl.
144         (build_raise_check): Likewise.
145         (establish_gnat_vms_condition_handler): Likewise.
146         (Compilation_Unit_to_gnu): Likewise.
147         (gnat_to_gnu): Likewise.
149 2011-04-21  Eric Botcazou  <ebotcazou@adacore.com>
151         * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
152         (NO_REORDER_ADAFLAGS): New variable.
153         (EXTRA_GNATTOOLS): Always define.
154         (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
155         Clean up and adjust list of files compiled with special options.
156         * gcc-interface/Make-lang.in: Likewise.
157         (ada/decl.o): Cosmetical change.
158         (ada/misc.o): Remove dependency on $(PLUGIN_H).
160 2011-04-20  Jim Meyering  <meyering@redhat.com>
162         * initialize.c (__gnat_initialize): Remove useless if-before-free.
164 2011-04-17  Eric Botcazou  <ebotcazou@adacore.com>
166         * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
167         $(CFLAGS) on the link line.
169 2011-04-17  Eric Botcazou  <ebotcazou@adacore.com>
171         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
172         padded type built for the return type if it is unconstrained.
174 2011-04-14  Nathan Froyd  <froydnj@codesourcery.com>
176         * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
178 2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
180         * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
181         before calling TREE_CHAIN.
182         * gcc-interface/misc.c (gnat_init_ts): New function.
183         (LANG_HOOKS_INIT_TS): Define.
185 2011-04-12  Martin Jambor  <mjambor@suse.cz>
187         * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
188         instead of cgraph_node.
190 2011-04-08  Eric Botcazou  <ebotcazou@adacore.com>
192         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
193         alignment on fields of the RETURN type built for the Copy-In Copy-Out
194         mechanism.
196 2011-04-08  Eric Botcazou  <ebotcazou@adacore.com>
198         * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
199         of aggregate types that contain a placeholder.
201 2011-04-08  Nathan Froyd  <froydnj@codesourcery.com>
203         * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
204         TYPE_ARG_TYPES.
205         (handle_type_generic_attribute): Likewise.
207 2011-04-04  Eric Botcazou  <ebotcazou@adacore.com>
209         PR ada/47163
210         * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
212 2011-04-04  Kai Tietz  <ktietz@redhat.com>
214         PR ada/47163
215         * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows
216         targets to flag value.
218 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
220         * gcc-interface/utils2.c (build_allocator): In the unconstrained array
221         type case, do not strip a padding type around the array type.
223 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
225         * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
226         types.
228 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
230         * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
231         * gcc-interface/misc.c (gnat_handle_option): Remove special handling
232         code for -feliminate-unused-debug-types.
233         (gnat_post_options): Likewise.
235 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
237         * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
238         declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
239         distinct copy.
241 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
243         * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
244         DECL_ARTIFICIAL flag on enumeration types.
246 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
248         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
249         fat pointer types artificial unconditionally.
250         <E_Array_Subtype>: Attach the base array type as a parallel type if it
251         isn't artificial.
253 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
255         * gcc-interface/gigi.h (get_dummy_type): Declare.
256         (build_dummy_unc_pointer_types): Likewise.
257         (finish_fat_pointer_type): Likewise.
258         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
259         fat pointer type has been built, complete it in place.
260         <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
261         and thin pointers.  Remove useless variable.
262         (finish_fat_pointer_type): Make global and move to...
263         * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
264         (get_dummy_type): New function.
265         (build_dummy_unc_pointer_types): Likewise.
266         (gnat_pushdecl): Propage the name to the anonymous variants only.
267         (update_pointer_to): Only adjust the pointer types in the unconstrained
268         array case.
270 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
272         * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
273         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
274         if this is a Taft amendment type and the full declaration is available.
275         * gcc-interface/trans.c (process_type): Likewise.
276         If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
277         (process_freeze_entity): Likewise.
278         * gcc-interface/utils.c (dummy_global): New static variable.
279         (gnat_write_global_declarations): If there are types declared as used
280         at the global level, insert them in the global hash table.
282 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
284         * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
285         * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
286         declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
287         copy.
288         (record_builtin_type): Add ARTIFICIAL_P parameter.  Set DECL_ARTIFICIAL
289         flag of the type accordingly.
290         * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
292 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
294         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
295         finalizing types when updating the pointers to the designated type.
296         <all>: Finalize the deferred types even if we didn't defer processing
297         of incomplete types in this invocation.
299 2011-04-01  Olivier Hainque  <hainque@adacore.com>
300             Nicolas Setton  <setton@adacore.com>
301             Eric Botcazou  <ebotcazou@adacore.com>
303         * gcc-interface/misc.c (gnat_descriptive_type): New function.
304         (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
306 2011-03-28  Kai Tietz  <ktietz@redhat.com>
308         * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
309         Windows targets.
310         (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
311         * system-mingw.ads (System): Change ZCX_By_Default default to True.
313         * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
315 2011-03-28  Tristan Gingold  <gingold@adacore.com>
317         PR ada/44431
318         * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
319         Use ada output of gnatbind.
320         (ada/b_gnatb.adb): Ditto.
321         (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
322         (ada.mostlyclean, ada.stage1)
323         (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
324         (ada.stagefeedback): Adjust.
325         * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
326         Use ada output of gnatbind.
327         (b_gnatm.adb): Ditto.
328         (b_gnatl.o, b_gnatm.o): New rules.
330 2011-03-26  Eric Botcazou  <ebotcazou@adacore.com>
332         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
333         for the padded type built to support a specified size or alignment.
335 2011-03-26  Eric Botcazou  <ebotcazou@adacore.com>
337         * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
338         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
339         unconditionally to the end of the unit when the designated type is
340         limited_with'ed.
341         <all>: Rename local variable.  Attempt to un-defer types only and do it
342         for limited_with'ed types as well.
343         (finalize_from_with_types): Adjust comment.  Rename variable and tidy.
344         * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
345         consistently and remove redundant call to finalize_from_with_types.
347 2011-03-26  Eric Botcazou  <ebotcazou@adacore.com>
349         * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
350         subprograms without a previous spec declared in the same unit.
351         * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
352         subprograms at the end of the unit instead of at the beginning.
353         * gcc-interface/utils.c (create_subprog_decl): Check that the entity
354         isn't public for the special handling of non-inline functions nested
355         inside inline external functions.
357 2011-03-25  Jeff Law  <law@redhat.com>
359         * gcc-interface/utils.c (def_fn_type): Add missing va_end.
361 2011-03-24  Eric Botcazou  <ebotcazou@adacore.com>
363         * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
364         * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
365         to compute Set_Size_Depends_On_Discriminant.
366         (Layout_Type): Call it on array types in back-end layout mode.
367         * sem_util.adb (Requires_Transient_Scope): Return true for array
368         types only if the size depends on the value of discriminants.
369         * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
370         type if the RHS is a call to a function that returns an unconstrained
371         type with default discriminant.
373 2011-03-24  Eric Botcazou  <ebotcazou@adacore.com>
375         * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
376         non-conversion to the nominal result type at the end.
378 2011-03-23  Eric Botcazou  <ebotcazou@adacore.com>
380         * gcc-interface/trans.c (create_temporary): New function taken from...
381         (create_init_temporary): ...here.  Call it.
382         (call_to_gnu): Create the temporary for the return value early, if any.
383         Create it for a function with copy-in/copy-out parameters if there is
384         no target; in other cases of copy-in/copy-out, use another temporary.
385         Push the new binding level lazily.  Add and rename local variables.
387 2011-03-23  Eric Botcazou  <ebotcazou@adacore.com>
389         * gcc-interface/decl.c (validate_size): Improve comments and tweak
390         error message.
391         (set_rm_size): Likewise.
393 2011-03-23  Eric Botcazou  <ebotcazou@adacore.com>
395         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
396         for the padded type built in order to support a specified alignment.
397         Fix incorrect formatting.
399 2011-03-21  Eric Botcazou  <ebotcazou@adacore.com>
401         PR bootstrap/48216
402         * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
404 2011-03-21  Eric Botcazou  <ebotcazou@adacore.com>
406         * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
407         rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
408         to the end of the list.  Adjust recursive call.  Rename local variable.
409         If REORDER is true, reorder components of the record type.
410         (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
411         components_to_record and adjust the parameter list.
413 2011-03-21  Eric Botcazou  <ebotcazou@adacore.com>
415         * gcc-interface/decl.c (elaborate_expression_1): When optimization is
416         disabled, use the variable for bounds of loop iteration scheme.
418 2011-03-21  Kai Tietz  <ktietz@redhat.com>
420         PR target/12171
421         * gcc-interface/utils.c (gnat_internal_attribute_table): Add new column
423 2011-03-17  Eric Botcazou  <ebotcazou@adacore.com>
425         * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
426         out whether the expression is read-only.  Short-circuit placeholder
427         case and rename a couple of local variables.
429 2011-03-17  Eric Botcazou  <ebotcazou@adacore.com>
431         * gcc-interface/gigi.h (smaller_form_type_p): Declare.
432         * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
433         * gcc-interface/utils.c (smaller_form_type_p): ...to here.
434         (convert): Deal with conversions from a smaller form type specially.
436 2011-02-14  Eric Botcazou  <ebotcazou@adacore.com>
438         * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
439         its argument, except for the special -I- switch.
441 2011-02-12  Gerald Pfeifer  <gerald@pfeifer.com>
443         * gnat_ugn.texi (Compiling Different Versions of Ada): Update
444         link to "Ada Issues".
446 2011-02-08  Eric Botcazou  <ebotcazou@adacore.com>
448         * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
450 2011-02-03  Eric Botcazou  <ebotcazou@adacore.com>
452         * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
453         GNAT_FORMAL.
454         * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
455         * gcc-interface/utils.c (fill_vms_descriptor): ...here.  Take GNU_TYPE
456         instead of GNAT_FORMAL.  Protect the expression against multiple uses.
457         Do not generate the check directly, instead instantiate the template
458         check present in the descriptor.
459         (make_descriptor_field): Move around.
460         (build_vms_descriptor32): Build a template check in the POINTER field.
461         (build_vms_descriptor): Remove useless suffixes.
462         * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
464 2011-01-26  Eric Botcazou  <ebotcazou@adacore.com>
466         PR bootstrap/47467
467         * targext.c: Include target files if IN_RTS is defined.
469 2011-01-26  Richard Guenther  <rguenther@suse.de>
471         PR bootstrap/47467
472         * targext.c: Include config.h.
473         * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
474         dependency.
476 2011-01-04  Pascal Obry  <obry@adacore.com>
477             Eric Botcazou  <ebotcazou@adacore.com>
479         * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
481 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
483         * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
484         end-of-case on the end label and its associated gotos, if any.
486 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
488         * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
489         expressions of the parameter cache within the statement group of
490         the CICO mechanism.
492 2011-01-04  Olivier Hainque  <hainque@adacore.com>
493             Eric Botcazou  <ebotcazou@adacore.com>
495         * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
496         (set_end_locus_from_node): New function.
497         (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
498         make and the function end_locus.
499         (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
500         for the elaboration subprogram.
501         (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
502         set the end_locus of the expression as well.
504 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
506         PR ada/47131
507         * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
508         variables that are referenced in exception handlers volatile.
512 Copyright (C) 2011 Free Software Foundation, Inc.
514 Copying and distribution of this file, with or without modification,
515 are permitted in any medium without royalty provided the copyright
516 notice and this notice are preserved.