1 2011-08-01 Pascal Obry <obry@adacore.com>
3 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
4 Fix Replace_Slice when High is above current string size.
5 (Replace_Slice): Fix DL computation when High is above current
8 2011-08-01 Gary Dismukes <dismukes@adacore.com>
10 * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
12 2011-08-01 Matthew Heaney <heaney@adacore.com>
14 * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
17 2011-08-01 Pascal Obry <obry@adacore.com>
19 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
22 2011-08-01 Ed Schonberg <schonberg@adacore.com>
24 * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
25 access to protected subprograms in generic bodies.
26 * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
27 protected type, indicate that the convention of the subprogram is
28 Convention_Protected, because it may be used in subsequent declarations
29 within the protected declaration.
31 2011-08-01 Vincent Celier <celier@adacore.com>
33 * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
34 and "final" procedures when the name of the library is "ada", to avoid
35 duplicate symbols "adainit" and "adafinal" in executables.
37 2011-08-01 Ed Schonberg <schonberg@adacore.com>
39 * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
40 quantified expression that appears within a postcondition and uses the
41 Ada2012 'Result attribute.
43 2011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
45 * init.c (__gnat_error_handler): Cast reason to int.
46 (__gnat_install_handler): Explain sa_sigaction use.
48 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
50 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
51 subprogram has copy-in copy-out parameters, try to promote the mode of
52 the return type if it is passed in registers.
54 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
56 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
57 left operand as addressable.
59 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
61 * gcc-interface/gigi.h (build_function_stub): Remove.
62 (build_return_expr): Likewise.
63 (convert_vms_descriptor): Declare.
64 * gcc-interface/utils.c (convert_vms_descriptor): Make global.
65 (build_function_stub): Move to...
66 * gcc-interface/utils2.c (build_return_expr): Move to...
67 * gcc-interface/trans.c (build_function_stub): ...here.
68 (build_return_expr): ...here.
69 (Subprogram_Body_to_gnu): Add local variable for language_function.
70 Disconnect the parameter attributes cache, if any, once done with it.
71 Call end_subprog_body only after setting the end_locus.
72 Build the stub associated with the function, if any, at the very end.
73 (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
74 variables and streamline control flow.
76 2011-07-23 Arnaud Charlet <charlet@adacore.com>
79 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
82 2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
85 * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
86 Assign to act.sa_sigaction.
87 * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
88 current->return_address to char * before arithmetic.
90 2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
92 * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
93 Correct argument types.
94 Extract code from reason.
95 (__gnat_install_handler): Assign to act.sa_sigaction.
97 2011-07-21 Eric Botcazou <ebotcazou@adacore.com>
99 * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
100 (GNAT1_OBJS): ...here.
102 2011-07-15 Eric Botcazou <ebotcazou@adacore.com>
105 * g-socthi-mingw.adb (Fill): Fix formatting.
107 * gcc-interface/gigi.h: Move around comment.
109 2011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
112 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
114 2011-07-14 Florian Weimer <fw@deneb.enyo.de>
117 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
119 2011-07-13 Eric Botcazou <ebotcazou@adacore.com>
121 * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
122 range comparison if Pmode is SImode.
124 2011-07-12 Laurent GUERBY <laurent@guerby.net>
125 Eric Botcazou <ebotcazou@adacore.com>
127 * adadecode.c: Wrap up in extern "C" block.
128 * adadecode.h: Likewise.
129 * adaint.c: Likewise. Remove 'const' keyword.
130 * adaint.h: Likewise.
134 * cstreams.c: Likewise.
140 * initialize.c: Likewise.
143 * nlists.h: Likewise.
146 * repinfo.h: Likewise.
147 * seh_init.c: Likewise.
148 * targext.c: Likewise.
149 * tracebak.c: Likewise.
151 * urealp.h: Likewise.
152 * xeinfo.adb: Wrap up generated C code in extern "C" block.
153 * xsinfo.adb: Likewise.
154 * xsnamest.adb: Likewise.
155 * gcc-interface/gadaint.h: Wrap up in extern "C" block.
156 * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
157 * gcc-interface/misc.c: Likewise.
158 * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
159 (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
160 ada/targext.o here...
161 (GNAT_ADA_OBJS): ...and not here.
162 (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
163 (GNATBIND_OBJS): Reorder.
165 2011-07-07 Richard Henderson <rth@redhat.com>
167 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
168 dwarf2out_frame_init.
170 2011-07-07 Eric Botcazou <ebotcazou@adacore.com>
172 * gcc-interface/misc.c (gnat_init): Tweak previous change.
174 2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
177 * gcc-interface/Makefile.in: Handle x86_64-solaris2.
179 2011-07-06 Richard Guenther <rguenther@suse.de>
181 * gcc-interface/misc.c (gnat_init): Merge calls to
182 build_common_tree_nodes and build_common_tree_nodes_2.
183 Re-initialize boolean_false_node.
185 2011-07-02 Eric Botcazou <ebotcazou@adacore.com>
186 Olivier Hainque <hainque@adacore.com>
187 Nicolas Setton <setton@adacore.com>
189 * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
190 the type according to the ARTIFICIAL_P parameter.
191 (create_type_decl): Likewise.
192 (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
194 2011-07-01 Eric Botcazou <ebotcazou@adacore.com>
196 * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
197 (gnatbind): Likewise.
199 2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
201 * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
203 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
205 * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
206 local variable throughout. Remove useless call to Base_Type.
207 (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
208 Take it also into account for the volatileness of the field. Set the
209 TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
211 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
213 * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
214 on a dereference built for a by-ref object if it has an address clause.
216 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
218 * einfo.ads (Address_Taken): Document use for the second argument of
219 Asm_Input and Asm_Output attributes.
220 * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
221 argument is an entity name, then set Address_Taken on it.
222 <Attribute_Asm_Output>: Likewise.
223 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
224 Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
225 (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
226 memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
228 2011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
231 * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
233 2011-06-14 Joseph Myers <joseph@codesourcery.com>
235 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
236 (ada/utils.o): Update dependencies.
237 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
238 ../../../libcpp/libcpp.a.
239 * gcc-interface/utils.c: Include common/common-target.h.
240 (process_attributes): Use targetm_common.have_named_sections.
242 2011-06-07 Richard Guenther <rguenther@suse.de>
244 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
247 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
249 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
250 TREE_THIS_NOTRAP flag.
252 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
254 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
257 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
259 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
260 constants whose full view has discriminants specially.
262 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
264 * gcc-interface/utils.c: Include diagnostic.h.
265 (gnat_write_global_declarations): Output debug information for all
266 global type declarations before finalizing the compilation unit.
267 * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
269 2011-05-25 Jakub Jelinek <jakub@redhat.com>
271 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
273 2011-05-25 Kai Tietz <ktietz@redhat.com>
275 * adaint.c (__gnat_to_canonical_file_list_next): Use array
276 initialization instead of const/none-const pointer assignment.
278 2011-05-24 Joseph Myers <joseph@codesourcery.com>
280 * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
282 (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
283 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
284 (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
285 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
286 libcommon-target.a instead of prefix.o.
288 2011-05-21 Joseph Myers <joseph@codesourcery.com>
291 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
293 2011-05-20 Joseph Myers <joseph@codesourcery.com>
295 * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
296 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
297 instead of version.o.
299 2011-05-18 Kai Tietz <ktietz@redhat.com>
301 * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
302 boolean_false_node instead of integer_zero_node.
303 (convert_with_check): Likewise.
304 * gcc-interface/decl.c (choices_to_gnu): Likewise.
306 2011-05-12 Eric Botcazou <ebotcazou@adacore.com>
308 * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
309 type of the parameter is an unconstrained array, convert the actual to
310 the type of the formal in the In Out and Out cases as well.
312 2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
314 * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
315 call build_function_type_array or build_varargs_function_type_array
317 (create_subprog_type): Don't call build_function_type; call
318 build_function_type_vec instead.
320 2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
322 * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
323 (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
324 (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
326 2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
328 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
330 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
331 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
333 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
335 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
337 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
339 * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
340 instead of accessing TYPE_ARG_TYPES directly.
341 * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
343 2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
346 * gcc-interface/gigi.h (get_variant_part): Declare.
347 * gcc-interface/decl.c (get_variant_part): Make global.
348 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
349 types have the same constant size, are record types and T1 has a
350 variant part while T2 doesn't.
352 2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
354 * gcc-interface/utils.c (begin_subprog_body): Do not call
356 (end_subprog_body): Likewise.
358 2011-05-04 Richard Guenther <rguenther@suse.de>
360 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
362 (pos_to_constructor): Likewise.
364 2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
365 Eric Botcazou <ebotcazou@adacore.com>
367 * gcc-interface/trans.c (gigi): Call build_function_type_list instead
368 of build_function_type. Adjust calls to...
369 (build_raise_check): ...this. Do not take a void_tree parameter.
370 Call build_function_type_list instead of build_function_type.
371 Fix head comment and swap couple of conditional blocks.
373 2011-04-30 Eric Botcazou <ebotcazou@adacore.com>
375 * gnatvsn.ads (Library_Version): Bump to 4.7.
376 (Current_Year): Bump to 2011.
378 2011-04-29 Michael Matz <matz@suse.de>
380 * gcc-interface/misc.c (gnat_handle_option): Set
381 warn_maybe_uninitialized.
383 2011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
385 * gnat_ugn.texi (Complexity Metrics Control): Update link to
386 the Watson/McCabe paper.
388 2011-04-23 Jim Meyering <meyering@redhat.com>
390 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
392 2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
394 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
397 2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
399 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
401 * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
402 DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
403 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
404 ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
405 <all>: Do not set flags on the reused DECL node coming from an alias.
406 Set DECL_IGNORED_P on the DECL node built for subprograms if they
407 don't need debug info here...
408 * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
409 (gigi): Adjust calls to create_subprog_decl.
410 (build_raise_check): Likewise.
411 (establish_gnat_vms_condition_handler): Likewise.
412 (Compilation_Unit_to_gnu): Likewise.
413 (gnat_to_gnu): Likewise.
415 2011-04-21 Eric Botcazou <ebotcazou@adacore.com>
417 * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
418 (NO_REORDER_ADAFLAGS): New variable.
419 (EXTRA_GNATTOOLS): Always define.
420 (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
421 Clean up and adjust list of files compiled with special options.
422 * gcc-interface/Make-lang.in: Likewise.
423 (ada/decl.o): Cosmetical change.
424 (ada/misc.o): Remove dependency on $(PLUGIN_H).
426 2011-04-20 Jim Meyering <meyering@redhat.com>
428 * initialize.c (__gnat_initialize): Remove useless if-before-free.
430 2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
432 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
433 $(CFLAGS) on the link line.
435 2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
437 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
438 padded type built for the return type if it is unconstrained.
440 2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
442 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
444 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
446 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
447 before calling TREE_CHAIN.
448 * gcc-interface/misc.c (gnat_init_ts): New function.
449 (LANG_HOOKS_INIT_TS): Define.
451 2011-04-12 Martin Jambor <mjambor@suse.cz>
453 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
454 instead of cgraph_node.
456 2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
458 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
459 alignment on fields of the RETURN type built for the Copy-In Copy-Out
462 2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
464 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
465 of aggregate types that contain a placeholder.
467 2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
469 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
471 (handle_type_generic_attribute): Likewise.
473 2011-04-04 Eric Botcazou <ebotcazou@adacore.com>
476 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
478 2011-04-04 Kai Tietz <ktietz@redhat.com>
481 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
484 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
486 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
487 type case, do not strip a padding type around the array type.
489 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
491 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
494 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
496 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
497 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
498 code for -feliminate-unused-debug-types.
499 (gnat_post_options): Likewise.
501 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
503 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
504 declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
507 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
509 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
510 DECL_ARTIFICIAL flag on enumeration types.
512 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
514 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
515 fat pointer types artificial unconditionally.
516 <E_Array_Subtype>: Attach the base array type as a parallel type if it
519 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
521 * gcc-interface/gigi.h (get_dummy_type): Declare.
522 (build_dummy_unc_pointer_types): Likewise.
523 (finish_fat_pointer_type): Likewise.
524 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
525 fat pointer type has been built, complete it in place.
526 <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
527 and thin pointers. Remove useless variable.
528 (finish_fat_pointer_type): Make global and move to...
529 * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
530 (get_dummy_type): New function.
531 (build_dummy_unc_pointer_types): Likewise.
532 (gnat_pushdecl): Propage the name to the anonymous variants only.
533 (update_pointer_to): Only adjust the pointer types in the unconstrained
536 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
538 * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
539 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
540 if this is a Taft amendment type and the full declaration is available.
541 * gcc-interface/trans.c (process_type): Likewise.
542 If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
543 (process_freeze_entity): Likewise.
544 * gcc-interface/utils.c (dummy_global): New static variable.
545 (gnat_write_global_declarations): If there are types declared as used
546 at the global level, insert them in the global hash table.
548 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
550 * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
551 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
552 declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
554 (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
555 flag of the type accordingly.
556 * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
558 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
560 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
561 finalizing types when updating the pointers to the designated type.
562 <all>: Finalize the deferred types even if we didn't defer processing
563 of incomplete types in this invocation.
565 2011-04-01 Olivier Hainque <hainque@adacore.com>
566 Nicolas Setton <setton@adacore.com>
567 Eric Botcazou <ebotcazou@adacore.com>
569 * gcc-interface/misc.c (gnat_descriptive_type): New function.
570 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
572 2011-03-28 Kai Tietz <ktietz@redhat.com>
574 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
576 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
577 * system-mingw.ads (System): Change ZCX_By_Default default to True.
579 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
581 2011-03-28 Tristan Gingold <gingold@adacore.com>
584 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
585 Use ada output of gnatbind.
586 (ada/b_gnatb.adb): Ditto.
587 (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
588 (ada.mostlyclean, ada.stage1)
589 (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
590 (ada.stagefeedback): Adjust.
591 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
592 Use ada output of gnatbind.
593 (b_gnatm.adb): Ditto.
594 (b_gnatl.o, b_gnatm.o): New rules.
596 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
598 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
599 for the padded type built to support a specified size or alignment.
601 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
603 * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
604 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
605 unconditionally to the end of the unit when the designated type is
607 <all>: Rename local variable. Attempt to un-defer types only and do it
608 for limited_with'ed types as well.
609 (finalize_from_with_types): Adjust comment. Rename variable and tidy.
610 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
611 consistently and remove redundant call to finalize_from_with_types.
613 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
615 * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
616 subprograms without a previous spec declared in the same unit.
617 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
618 subprograms at the end of the unit instead of at the beginning.
619 * gcc-interface/utils.c (create_subprog_decl): Check that the entity
620 isn't public for the special handling of non-inline functions nested
621 inside inline external functions.
623 2011-03-25 Jeff Law <law@redhat.com>
625 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
627 2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
629 * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
630 * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
631 to compute Set_Size_Depends_On_Discriminant.
632 (Layout_Type): Call it on array types in back-end layout mode.
633 * sem_util.adb (Requires_Transient_Scope): Return true for array
634 types only if the size depends on the value of discriminants.
635 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
636 type if the RHS is a call to a function that returns an unconstrained
637 type with default discriminant.
639 2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
641 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
642 non-conversion to the nominal result type at the end.
644 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
646 * gcc-interface/trans.c (create_temporary): New function taken from...
647 (create_init_temporary): ...here. Call it.
648 (call_to_gnu): Create the temporary for the return value early, if any.
649 Create it for a function with copy-in/copy-out parameters if there is
650 no target; in other cases of copy-in/copy-out, use another temporary.
651 Push the new binding level lazily. Add and rename local variables.
653 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
655 * gcc-interface/decl.c (validate_size): Improve comments and tweak
657 (set_rm_size): Likewise.
659 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
661 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
662 for the padded type built in order to support a specified alignment.
663 Fix incorrect formatting.
665 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
668 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
670 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
672 * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
673 rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
674 to the end of the list. Adjust recursive call. Rename local variable.
675 If REORDER is true, reorder components of the record type.
676 (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
677 components_to_record and adjust the parameter list.
679 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
681 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
682 disabled, use the variable for bounds of loop iteration scheme.
684 2011-03-21 Kai Tietz <ktietz@redhat.com>
687 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
689 2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
691 * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
692 out whether the expression is read-only. Short-circuit placeholder
693 case and rename a couple of local variables.
695 2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
697 * gcc-interface/gigi.h (smaller_form_type_p): Declare.
698 * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
699 * gcc-interface/utils.c (smaller_form_type_p): ...to here.
700 (convert): Deal with conversions from a smaller form type specially.
702 2011-02-14 Eric Botcazou <ebotcazou@adacore.com>
704 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
705 its argument, except for the special -I- switch.
707 2011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
709 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
712 2011-02-08 Eric Botcazou <ebotcazou@adacore.com>
714 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
716 2011-02-03 Eric Botcazou <ebotcazou@adacore.com>
718 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
720 * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
721 * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
722 instead of GNAT_FORMAL. Protect the expression against multiple uses.
723 Do not generate the check directly, instead instantiate the template
724 check present in the descriptor.
725 (make_descriptor_field): Move around.
726 (build_vms_descriptor32): Build a template check in the POINTER field.
727 (build_vms_descriptor): Remove useless suffixes.
728 * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
730 2011-01-26 Eric Botcazou <ebotcazou@adacore.com>
733 * targext.c: Include target files if IN_RTS is defined.
735 2011-01-26 Richard Guenther <rguenther@suse.de>
738 * targext.c: Include config.h.
739 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
742 2011-01-04 Pascal Obry <obry@adacore.com>
743 Eric Botcazou <ebotcazou@adacore.com>
745 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
747 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
749 * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
750 end-of-case on the end label and its associated gotos, if any.
752 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
754 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
755 expressions of the parameter cache within the statement group of
758 2011-01-04 Olivier Hainque <hainque@adacore.com>
759 Eric Botcazou <ebotcazou@adacore.com>
761 * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
762 (set_end_locus_from_node): New function.
763 (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
764 make and the function end_locus.
765 (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
766 for the elaboration subprogram.
767 (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
768 set the end_locus of the expression as well.
770 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
773 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
774 variables that are referenced in exception handlers volatile.
778 Copyright (C) 2011 Free Software Foundation, Inc.
780 Copying and distribution of this file, with or without modification,
781 are permitted in any medium without royalty provided the copyright
782 notice and this notice are preserved.