1 2011-06-14 Joseph Myers <joseph@codesourcery.com>
3 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
4 (ada/utils.o): Update dependencies.
5 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
6 ../../../libcpp/libcpp.a.
7 * gcc-interface/utils.c: Include common/common-target.h.
8 (process_attributes): Use targetm_common.have_named_sections.
10 2011-06-07 Richard Guenther <rguenther@suse.de>
12 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
15 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
17 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
18 TREE_THIS_NOTRAP flag.
20 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
22 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
25 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
27 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
28 constants whose full view has discriminants specially.
30 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
32 * gcc-interface/utils.c: Include diagnostic.h.
33 (gnat_write_global_declarations): Output debug information for all
34 global type declarations before finalizing the compilation unit.
35 * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
37 2011-05-25 Jakub Jelinek <jakub@redhat.com>
39 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
41 2011-05-25 Kai Tietz <ktietz@redhat.com>
43 * adaint.c (__gnat_to_canonical_file_list_next): Use array
44 initialization instead of const/none-const pointer assignment.
46 2011-05-24 Joseph Myers <joseph@codesourcery.com>
48 * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
50 (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
51 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
52 (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
53 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
54 libcommon-target.a instead of prefix.o.
56 2011-05-21 Joseph Myers <joseph@codesourcery.com>
59 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
61 2011-05-20 Joseph Myers <joseph@codesourcery.com>
63 * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
64 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
67 2011-05-18 Kai Tietz <ktietz@redhat.com>
69 * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
70 boolean_false_node instead of integer_zero_node.
71 (convert_with_check): Likewise.
72 * gcc-interface/decl.c (choices_to_gnu): Likewise.
74 2011-05-12 Eric Botcazou <ebotcazou@adacore.com>
76 * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
77 type of the parameter is an unconstrained array, convert the actual to
78 the type of the formal in the In Out and Out cases as well.
80 2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
82 * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
83 call build_function_type_array or build_varargs_function_type_array
85 (create_subprog_type): Don't call build_function_type; call
86 build_function_type_vec instead.
88 2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
90 * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
91 (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
92 (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
94 2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
96 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
98 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
99 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
101 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
103 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
105 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
107 * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
108 instead of accessing TYPE_ARG_TYPES directly.
109 * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
111 2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
114 * gcc-interface/gigi.h (get_variant_part): Declare.
115 * gcc-interface/decl.c (get_variant_part): Make global.
116 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
117 types have the same constant size, are record types and T1 has a
118 variant part while T2 doesn't.
120 2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
122 * gcc-interface/utils.c (begin_subprog_body): Do not call
124 (end_subprog_body): Likewise.
126 2011-05-04 Richard Guenther <rguenther@suse.de>
128 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
130 (pos_to_constructor): Likewise.
132 2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
133 Eric Botcazou <ebotcazou@adacore.com>
135 * gcc-interface/trans.c (gigi): Call build_function_type_list instead
136 of build_function_type. Adjust calls to...
137 (build_raise_check): ...this. Do not take a void_tree parameter.
138 Call build_function_type_list instead of build_function_type.
139 Fix head comment and swap couple of conditional blocks.
141 2011-04-30 Eric Botcazou <ebotcazou@adacore.com>
143 * gnatvsn.ads (Library_Version): Bump to 4.7.
144 (Current_Year): Bump to 2011.
146 2011-04-29 Michael Matz <matz@suse.de>
148 * gcc-interface/misc.c (gnat_handle_option): Set
149 warn_maybe_uninitialized.
151 2011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
153 * gnat_ugn.texi (Complexity Metrics Control): Update link to
154 the Watson/McCabe paper.
156 2011-04-23 Jim Meyering <meyering@redhat.com>
158 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
160 2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
162 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
165 2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
167 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
169 * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
170 DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
171 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
172 ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
173 <all>: Do not set flags on the reused DECL node coming from an alias.
174 Set DECL_IGNORED_P on the DECL node built for subprograms if they
175 don't need debug info here...
176 * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
177 (gigi): Adjust calls to create_subprog_decl.
178 (build_raise_check): Likewise.
179 (establish_gnat_vms_condition_handler): Likewise.
180 (Compilation_Unit_to_gnu): Likewise.
181 (gnat_to_gnu): Likewise.
183 2011-04-21 Eric Botcazou <ebotcazou@adacore.com>
185 * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
186 (NO_REORDER_ADAFLAGS): New variable.
187 (EXTRA_GNATTOOLS): Always define.
188 (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
189 Clean up and adjust list of files compiled with special options.
190 * gcc-interface/Make-lang.in: Likewise.
191 (ada/decl.o): Cosmetical change.
192 (ada/misc.o): Remove dependency on $(PLUGIN_H).
194 2011-04-20 Jim Meyering <meyering@redhat.com>
196 * initialize.c (__gnat_initialize): Remove useless if-before-free.
198 2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
200 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
201 $(CFLAGS) on the link line.
203 2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
205 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
206 padded type built for the return type if it is unconstrained.
208 2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
210 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
212 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
214 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
215 before calling TREE_CHAIN.
216 * gcc-interface/misc.c (gnat_init_ts): New function.
217 (LANG_HOOKS_INIT_TS): Define.
219 2011-04-12 Martin Jambor <mjambor@suse.cz>
221 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
222 instead of cgraph_node.
224 2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
226 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
227 alignment on fields of the RETURN type built for the Copy-In Copy-Out
230 2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
232 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
233 of aggregate types that contain a placeholder.
235 2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
237 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
239 (handle_type_generic_attribute): Likewise.
241 2011-04-04 Eric Botcazou <ebotcazou@adacore.com>
244 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
246 2011-04-04 Kai Tietz <ktietz@redhat.com>
249 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
252 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
254 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
255 type case, do not strip a padding type around the array type.
257 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
259 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
262 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
264 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
265 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
266 code for -feliminate-unused-debug-types.
267 (gnat_post_options): Likewise.
269 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
271 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
272 declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
275 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
277 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
278 DECL_ARTIFICIAL flag on enumeration types.
280 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
282 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
283 fat pointer types artificial unconditionally.
284 <E_Array_Subtype>: Attach the base array type as a parallel type if it
287 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
289 * gcc-interface/gigi.h (get_dummy_type): Declare.
290 (build_dummy_unc_pointer_types): Likewise.
291 (finish_fat_pointer_type): Likewise.
292 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
293 fat pointer type has been built, complete it in place.
294 <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
295 and thin pointers. Remove useless variable.
296 (finish_fat_pointer_type): Make global and move to...
297 * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
298 (get_dummy_type): New function.
299 (build_dummy_unc_pointer_types): Likewise.
300 (gnat_pushdecl): Propage the name to the anonymous variants only.
301 (update_pointer_to): Only adjust the pointer types in the unconstrained
304 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
306 * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
307 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
308 if this is a Taft amendment type and the full declaration is available.
309 * gcc-interface/trans.c (process_type): Likewise.
310 If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
311 (process_freeze_entity): Likewise.
312 * gcc-interface/utils.c (dummy_global): New static variable.
313 (gnat_write_global_declarations): If there are types declared as used
314 at the global level, insert them in the global hash table.
316 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
318 * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
319 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
320 declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
322 (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
323 flag of the type accordingly.
324 * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
326 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
328 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
329 finalizing types when updating the pointers to the designated type.
330 <all>: Finalize the deferred types even if we didn't defer processing
331 of incomplete types in this invocation.
333 2011-04-01 Olivier Hainque <hainque@adacore.com>
334 Nicolas Setton <setton@adacore.com>
335 Eric Botcazou <ebotcazou@adacore.com>
337 * gcc-interface/misc.c (gnat_descriptive_type): New function.
338 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
340 2011-03-28 Kai Tietz <ktietz@redhat.com>
342 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
344 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
345 * system-mingw.ads (System): Change ZCX_By_Default default to True.
347 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
349 2011-03-28 Tristan Gingold <gingold@adacore.com>
352 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
353 Use ada output of gnatbind.
354 (ada/b_gnatb.adb): Ditto.
355 (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
356 (ada.mostlyclean, ada.stage1)
357 (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
358 (ada.stagefeedback): Adjust.
359 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
360 Use ada output of gnatbind.
361 (b_gnatm.adb): Ditto.
362 (b_gnatl.o, b_gnatm.o): New rules.
364 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
366 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
367 for the padded type built to support a specified size or alignment.
369 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
371 * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
372 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
373 unconditionally to the end of the unit when the designated type is
375 <all>: Rename local variable. Attempt to un-defer types only and do it
376 for limited_with'ed types as well.
377 (finalize_from_with_types): Adjust comment. Rename variable and tidy.
378 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
379 consistently and remove redundant call to finalize_from_with_types.
381 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
383 * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
384 subprograms without a previous spec declared in the same unit.
385 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
386 subprograms at the end of the unit instead of at the beginning.
387 * gcc-interface/utils.c (create_subprog_decl): Check that the entity
388 isn't public for the special handling of non-inline functions nested
389 inside inline external functions.
391 2011-03-25 Jeff Law <law@redhat.com>
393 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
395 2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
397 * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
398 * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
399 to compute Set_Size_Depends_On_Discriminant.
400 (Layout_Type): Call it on array types in back-end layout mode.
401 * sem_util.adb (Requires_Transient_Scope): Return true for array
402 types only if the size depends on the value of discriminants.
403 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
404 type if the RHS is a call to a function that returns an unconstrained
405 type with default discriminant.
407 2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
409 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
410 non-conversion to the nominal result type at the end.
412 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
414 * gcc-interface/trans.c (create_temporary): New function taken from...
415 (create_init_temporary): ...here. Call it.
416 (call_to_gnu): Create the temporary for the return value early, if any.
417 Create it for a function with copy-in/copy-out parameters if there is
418 no target; in other cases of copy-in/copy-out, use another temporary.
419 Push the new binding level lazily. Add and rename local variables.
421 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
423 * gcc-interface/decl.c (validate_size): Improve comments and tweak
425 (set_rm_size): Likewise.
427 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
429 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
430 for the padded type built in order to support a specified alignment.
431 Fix incorrect formatting.
433 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
436 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
438 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
440 * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
441 rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
442 to the end of the list. Adjust recursive call. Rename local variable.
443 If REORDER is true, reorder components of the record type.
444 (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
445 components_to_record and adjust the parameter list.
447 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
449 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
450 disabled, use the variable for bounds of loop iteration scheme.
452 2011-03-21 Kai Tietz <ktietz@redhat.com>
455 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
457 2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
459 * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
460 out whether the expression is read-only. Short-circuit placeholder
461 case and rename a couple of local variables.
463 2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
465 * gcc-interface/gigi.h (smaller_form_type_p): Declare.
466 * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
467 * gcc-interface/utils.c (smaller_form_type_p): ...to here.
468 (convert): Deal with conversions from a smaller form type specially.
470 2011-02-14 Eric Botcazou <ebotcazou@adacore.com>
472 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
473 its argument, except for the special -I- switch.
475 2011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
477 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
480 2011-02-08 Eric Botcazou <ebotcazou@adacore.com>
482 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
484 2011-02-03 Eric Botcazou <ebotcazou@adacore.com>
486 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
488 * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
489 * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
490 instead of GNAT_FORMAL. Protect the expression against multiple uses.
491 Do not generate the check directly, instead instantiate the template
492 check present in the descriptor.
493 (make_descriptor_field): Move around.
494 (build_vms_descriptor32): Build a template check in the POINTER field.
495 (build_vms_descriptor): Remove useless suffixes.
496 * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
498 2011-01-26 Eric Botcazou <ebotcazou@adacore.com>
501 * targext.c: Include target files if IN_RTS is defined.
503 2011-01-26 Richard Guenther <rguenther@suse.de>
506 * targext.c: Include config.h.
507 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
510 2011-01-04 Pascal Obry <obry@adacore.com>
511 Eric Botcazou <ebotcazou@adacore.com>
513 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
515 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
517 * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
518 end-of-case on the end label and its associated gotos, if any.
520 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
522 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
523 expressions of the parameter cache within the statement group of
526 2011-01-04 Olivier Hainque <hainque@adacore.com>
527 Eric Botcazou <ebotcazou@adacore.com>
529 * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
530 (set_end_locus_from_node): New function.
531 (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
532 make and the function end_locus.
533 (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
534 for the elaboration subprogram.
535 (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
536 set the end_locus of the expression as well.
538 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
541 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
542 variables that are referenced in exception handlers volatile.
546 Copyright (C) 2011 Free Software Foundation, Inc.
548 Copying and distribution of this file, with or without modification,
549 are permitted in any medium without royalty provided the copyright
550 notice and this notice are preserved.