1 2011-08-01 Ed Schonberg <schonberg@adacore.com>
3 * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
4 over an arbitrary expression of an array or container type.
5 * lib-xref.adb: clarify comment.
7 2011-08-01 Bob Duff <duff@adacore.com>
9 * einfo.ads: Minor reformatting.
10 * debug.adb: Minor comment improvement.
12 2011-08-01 Javier Miranda <miranda@adacore.com>
14 * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
15 consider hidden subprograms as valid candidates.
17 2011-08-01 Arnaud Charlet <charlet@adacore.com>
19 * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
21 2011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
23 * gnat_ugn.texi: Fix typo.
25 2011-08-01 Robert Dewar <dewar@adacore.com>
27 * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
28 lib-xref.adb: Minor reformatting
30 2011-08-01 Gary Dismukes <dismukes@adacore.com>
32 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
33 when to generate a call to Move_Final_List.
34 (Has_Controlled_Parts): Remove this function.
36 2011-08-01 Geert Bosch <bosch@adacore.com>
38 * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
41 2011-08-01 Thomas Quinot <quinot@adacore.com>
43 * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
44 explicit raise of a predefined exception as Comes_From_Source if the
45 original N_Raise_Statement comes from source.
47 2011-08-01 Robert Dewar <dewar@adacore.com>
49 * sinfo.ads: Add comment.
50 * sem_ch6.adb: Minor reformatting.
52 2011-08-01 Robert Dewar <dewar@adacore.com>
54 * freeze.adb (Freeze_Entity): Refine check for bad component size
55 clause to avoid rejecting confirming clause when atomic/aliased present.
57 2011-08-01 Ed Schonberg <schonberg@adacore.com>
59 * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
60 better determine whether an entity reference is a write.
61 * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
63 * lib-xref.adb (Output_References): Do no suppress a read reference at
64 the same location as an immediately preceeding modify-reference, to
65 handle properly in-out actuals.
67 2011-08-01 Tristan Gingold <gingold@adacore.com>
69 * env.c (__gnat_setenv) [VMS]: Refine previous change.
71 2011-08-01 Quentin Ochem <ochem@adacore.com>
73 * i-cstrin.adb (New_String): Changed implementation, now uses only the
74 heap to compute the result.
76 2011-08-01 Robert Dewar <dewar@adacore.com>
78 * atree.ads: Minor reformatting.
80 2011-08-01 Emmanuel Briot <briot@adacore.com>
82 * g-expect.adb (Get_Command_Output): Fix memory leak.
84 2011-08-01 Geert Bosch <bosch@adacore.com>
86 * cstand.adb (P_Float_Type): New procedure to print the definition of
88 (P_Mixed_Name): New procedure to print a name using mixed case
89 (Print_Standard): Use P_Float_Type for printing floating point types
90 * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
93 2011-08-01 Thomas Quinot <quinot@adacore.com>
95 * sem_ch3.adb: Minor reformatting.
97 2011-08-01 Ed Schonberg <schonberg@adacore.com>
99 * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
100 the completion of a generic function, insert the new body rather than
101 rewriting the original.
103 2011-08-01 Yannick Moy <moy@adacore.com>
105 * sinfo.ads, errout.ads: Typos in comments.
107 2011-08-01 Robert Dewar <dewar@adacore.com>
109 * par-endh.adb: Minor reformatting.
111 2011-08-01 Robert Dewar <dewar@adacore.com>
113 * aspects.ads, aspects.adb: Add aspects for library unit pragmas
114 (Pre_Post_Aspects): New subtype.
115 * par-ch12.adb (P_Generic): New syntax for aspects in packages
116 * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
117 * par-ch7.adb (P_Package): Remove Decl parameter
118 (P_Package): Handle new syntax for aspects (before IS)
119 * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
121 (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
122 * par.adb (P_Aspect_Specifications): Add Semicolon parameter
123 (P_Package): Remove Decl parameter
124 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
126 * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
128 * sem_util.ads, sem_util.adb (Static_Boolean): New function
129 * sinfo.ads: Document new syntax for aspects in packages etc.
130 * sprint.adb: Handle new syntax of aspects before IS in package
132 2011-08-01 Thomas Quinot <quinot@adacore.com>
134 * atree.ads: Minor reformatting.
135 * sem_prag.adb: Minor reformatting.
137 2011-08-01 Robert Dewar <dewar@adacore.com>
139 * exp_util.adb (Insert_Actions): Fix error in handling Actions for
140 case expr alternative.
142 2011-08-01 Ed Schonberg <schonberg@adacore.com>
144 * sem_ch12.adb: Fix typo.
146 2011-08-01 Geert Bosch <bosch@adacore.com>
148 * sem_prag.adb (Check_No_Link_Name): New procedure.
149 (Process_Import_Or_Interface): Use Check_No_Link_Name.
150 * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
151 instead of Standard_Long_Long_Float_Size global. Preparation for
152 eventual removal of per type constants.
153 * exp_util.ads (Get_Stream_Size): New function returning the stream
154 size value of subtype E.
155 * exp_util.adb (Get_Stream_Size): Implement new function.
156 * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
158 * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
160 (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
162 2011-08-01 Geert Bosch <bosch@adacore.com>
164 * cstand.adb: Fix comments.
165 * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
168 2011-08-01 Robert Dewar <dewar@adacore.com>
170 * exp_ch4.adb, sem_cat.adb: Minor reformatting.
172 2011-08-01 Geert Bosch <bosch@adacore.com>
174 * atree.ads: Fix comment.
176 2011-08-01 Robert Dewar <dewar@adacore.com>
178 * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
179 * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
180 * par.adb: Add with for Namet.Sp.
181 * par-tchk.adb: Minor reformatting.
183 2011-08-01 Vincent Celier <celier@adacore.com>
185 * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
186 (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
187 of the init procedure of a SAL.
188 * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
191 2011-08-01 Thomas Quinot <quinot@adacore.com>
193 * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
196 2011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
198 * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
200 2011-08-01 Thomas Quinot <quinot@adacore.com>
202 * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
203 conformant with its spec (return True only for types that have
204 an overriding Initialize primitive operation that prevents them from
205 having preelaborable initialization).
206 * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
207 initialization for controlled types in Ada 2005 or later mode.
209 2011-08-01 Robert Dewar <dewar@adacore.com>
211 * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
213 (Same_Aspect): New function.
214 * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
215 Type_Invariant, Precondition, Postcondition.
216 * snames.ads-tmpl: Add Name_Type_Invariant.
218 2011-08-01 Robert Dewar <dewar@adacore.com>
220 * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
222 (Freeze_All_Ent): Fix error in handling inherited aspects.
223 * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
224 already analyzed, but don't skip entire processing of a declaration,
225 that's wrong in some cases of declarations being rewritten.
226 (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
227 Don't delay for integer, string literals
228 Treat predicates in usual manner for delay, remove special case code,
230 (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
231 (Build_Predicate_Function): Update saved expression in aspect
232 (Build_Invariant_Procedure): Update saved expression in aspect
233 * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
234 of replacement of discriminant references if the reference is simple.
236 2011-08-01 Robert Dewar <dewar@adacore.com>
238 * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
239 * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
240 Static_Predicate and Dynamic_Predicate.
241 (Build_Predicate_Function): Add processing for Static_Predicate
242 and Dynamic_Predicate.
243 * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
244 (From_Static_Predicate): New flag
245 * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
247 2011-08-01 Robert Dewar <dewar@adacore.com>
249 * usage.adb: Documentation cleanup for Ada version modes in usage.
250 * expander.adb: Minor reformatting.
252 2011-08-01 Robert Dewar <dewar@adacore.com>
254 * atree.ads: Minor comment fix.
255 * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
256 a-witeio.ads, sem_prag.adb: Minor reformatting.
258 2011-08-01 Doug Rupp <rupp@adacore.com>
260 * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
261 pointers. Use descrip.h header file for convenience. Add some
264 2011-08-01 Robert Dewar <dewar@adacore.com>
266 * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
267 (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
268 * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
270 (Check_Aspect_At_End_Of_Declarations): New procedure
271 (Analye_Aspect_Specification): Minor changes for above procedures
272 * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
273 specification node as well.
275 2011-08-01 Pascal Obry <obry@adacore.com>
277 * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
278 Windows files. Use GetFilesAttributes() in this case to check for file
279 existence instead of returning with an error code.
281 2011-08-01 Vincent Celier <celier@adacore.com>
283 * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
284 High is above Source length.
286 2011-08-01 Robert Dewar <dewar@adacore.com>
288 * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
290 2011-08-01 Robert Dewar <dewar@adacore.com>
292 * aspects.ads (Boolean_Aspects): New subtype.
293 * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
294 for derived types in cases where the parent type and derived type have
296 * freeze.adb (Freeze_Entity): Fix problems in handling derived type
297 with aspects when parent type also has aspects.
298 (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
299 boolean expression at this point).
300 * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
301 accordance with final decision on the Ada 2012 feature.
302 * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
304 2011-08-01 Matthew Heaney <heaney@adacore.com>
306 * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
308 2011-08-01 Pascal Obry <obry@adacore.com>
310 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
311 Fix Replace_Slice when High is above current string size.
312 (Replace_Slice): Fix DL computation when High is above current
315 2011-08-01 Gary Dismukes <dismukes@adacore.com>
317 * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
319 2011-08-01 Matthew Heaney <heaney@adacore.com>
321 * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
324 2011-08-01 Pascal Obry <obry@adacore.com>
326 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
329 2011-08-01 Ed Schonberg <schonberg@adacore.com>
331 * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
332 access to protected subprograms in generic bodies.
333 * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
334 protected type, indicate that the convention of the subprogram is
335 Convention_Protected, because it may be used in subsequent declarations
336 within the protected declaration.
338 2011-08-01 Vincent Celier <celier@adacore.com>
340 * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
341 and "final" procedures when the name of the library is "ada", to avoid
342 duplicate symbols "adainit" and "adafinal" in executables.
344 2011-08-01 Ed Schonberg <schonberg@adacore.com>
346 * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
347 quantified expression that appears within a postcondition and uses the
348 Ada2012 'Result attribute.
350 2011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
352 * init.c (__gnat_error_handler): Cast reason to int.
353 (__gnat_install_handler): Explain sa_sigaction use.
355 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
357 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
358 subprogram has copy-in copy-out parameters, try to promote the mode of
359 the return type if it is passed in registers.
361 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
363 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
364 left operand as addressable.
366 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
368 * gcc-interface/gigi.h (build_function_stub): Remove.
369 (build_return_expr): Likewise.
370 (convert_vms_descriptor): Declare.
371 * gcc-interface/utils.c (convert_vms_descriptor): Make global.
372 (build_function_stub): Move to...
373 * gcc-interface/utils2.c (build_return_expr): Move to...
374 * gcc-interface/trans.c (build_function_stub): ...here.
375 (build_return_expr): ...here.
376 (Subprogram_Body_to_gnu): Add local variable for language_function.
377 Disconnect the parameter attributes cache, if any, once done with it.
378 Call end_subprog_body only after setting the end_locus.
379 Build the stub associated with the function, if any, at the very end.
380 (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
381 variables and streamline control flow.
383 2011-07-23 Arnaud Charlet <charlet@adacore.com>
386 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
389 2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
392 * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
393 Assign to act.sa_sigaction.
394 * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
395 current->return_address to char * before arithmetic.
397 2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
399 * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
400 Correct argument types.
401 Extract code from reason.
402 (__gnat_install_handler): Assign to act.sa_sigaction.
404 2011-07-21 Eric Botcazou <ebotcazou@adacore.com>
406 * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
407 (GNAT1_OBJS): ...here.
409 2011-07-15 Eric Botcazou <ebotcazou@adacore.com>
412 * g-socthi-mingw.adb (Fill): Fix formatting.
414 * gcc-interface/gigi.h: Move around comment.
416 2011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
419 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
421 2011-07-14 Florian Weimer <fw@deneb.enyo.de>
424 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
426 2011-07-13 Eric Botcazou <ebotcazou@adacore.com>
428 * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
429 range comparison if Pmode is SImode.
431 2011-07-12 Laurent GUERBY <laurent@guerby.net>
432 Eric Botcazou <ebotcazou@adacore.com>
434 * adadecode.c: Wrap up in extern "C" block.
435 * adadecode.h: Likewise.
436 * adaint.c: Likewise. Remove 'const' keyword.
437 * adaint.h: Likewise.
441 * cstreams.c: Likewise.
447 * initialize.c: Likewise.
450 * nlists.h: Likewise.
453 * repinfo.h: Likewise.
454 * seh_init.c: Likewise.
455 * targext.c: Likewise.
456 * tracebak.c: Likewise.
458 * urealp.h: Likewise.
459 * xeinfo.adb: Wrap up generated C code in extern "C" block.
460 * xsinfo.adb: Likewise.
461 * xsnamest.adb: Likewise.
462 * gcc-interface/gadaint.h: Wrap up in extern "C" block.
463 * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
464 * gcc-interface/misc.c: Likewise.
465 * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
466 (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
467 ada/targext.o here...
468 (GNAT_ADA_OBJS): ...and not here.
469 (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
470 (GNATBIND_OBJS): Reorder.
472 2011-07-07 Richard Henderson <rth@redhat.com>
474 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
475 dwarf2out_frame_init.
477 2011-07-07 Eric Botcazou <ebotcazou@adacore.com>
479 * gcc-interface/misc.c (gnat_init): Tweak previous change.
481 2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
484 * gcc-interface/Makefile.in: Handle x86_64-solaris2.
486 2011-07-06 Richard Guenther <rguenther@suse.de>
488 * gcc-interface/misc.c (gnat_init): Merge calls to
489 build_common_tree_nodes and build_common_tree_nodes_2.
490 Re-initialize boolean_false_node.
492 2011-07-02 Eric Botcazou <ebotcazou@adacore.com>
493 Olivier Hainque <hainque@adacore.com>
494 Nicolas Setton <setton@adacore.com>
496 * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
497 the type according to the ARTIFICIAL_P parameter.
498 (create_type_decl): Likewise.
499 (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
501 2011-07-01 Eric Botcazou <ebotcazou@adacore.com>
503 * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
504 (gnatbind): Likewise.
506 2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
508 * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
510 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
512 * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
513 local variable throughout. Remove useless call to Base_Type.
514 (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
515 Take it also into account for the volatileness of the field. Set the
516 TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
518 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
520 * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
521 on a dereference built for a by-ref object if it has an address clause.
523 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
525 * einfo.ads (Address_Taken): Document use for the second argument of
526 Asm_Input and Asm_Output attributes.
527 * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
528 argument is an entity name, then set Address_Taken on it.
529 <Attribute_Asm_Output>: Likewise.
530 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
531 Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
532 (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
533 memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
535 2011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
538 * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
540 2011-06-14 Joseph Myers <joseph@codesourcery.com>
542 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
543 (ada/utils.o): Update dependencies.
544 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
545 ../../../libcpp/libcpp.a.
546 * gcc-interface/utils.c: Include common/common-target.h.
547 (process_attributes): Use targetm_common.have_named_sections.
549 2011-06-07 Richard Guenther <rguenther@suse.de>
551 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
554 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
556 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
557 TREE_THIS_NOTRAP flag.
559 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
561 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
564 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
566 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
567 constants whose full view has discriminants specially.
569 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
571 * gcc-interface/utils.c: Include diagnostic.h.
572 (gnat_write_global_declarations): Output debug information for all
573 global type declarations before finalizing the compilation unit.
574 * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
576 2011-05-25 Jakub Jelinek <jakub@redhat.com>
578 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
580 2011-05-25 Kai Tietz <ktietz@redhat.com>
582 * adaint.c (__gnat_to_canonical_file_list_next): Use array
583 initialization instead of const/none-const pointer assignment.
585 2011-05-24 Joseph Myers <joseph@codesourcery.com>
587 * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
589 (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
590 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
591 (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
592 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
593 libcommon-target.a instead of prefix.o.
595 2011-05-21 Joseph Myers <joseph@codesourcery.com>
598 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
600 2011-05-20 Joseph Myers <joseph@codesourcery.com>
602 * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
603 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
604 instead of version.o.
606 2011-05-18 Kai Tietz <ktietz@redhat.com>
608 * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
609 boolean_false_node instead of integer_zero_node.
610 (convert_with_check): Likewise.
611 * gcc-interface/decl.c (choices_to_gnu): Likewise.
613 2011-05-12 Eric Botcazou <ebotcazou@adacore.com>
615 * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
616 type of the parameter is an unconstrained array, convert the actual to
617 the type of the formal in the In Out and Out cases as well.
619 2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
621 * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
622 call build_function_type_array or build_varargs_function_type_array
624 (create_subprog_type): Don't call build_function_type; call
625 build_function_type_vec instead.
627 2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
629 * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
630 (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
631 (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
633 2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
635 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
637 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
638 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
640 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
642 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
644 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
646 * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
647 instead of accessing TYPE_ARG_TYPES directly.
648 * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
650 2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
653 * gcc-interface/gigi.h (get_variant_part): Declare.
654 * gcc-interface/decl.c (get_variant_part): Make global.
655 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
656 types have the same constant size, are record types and T1 has a
657 variant part while T2 doesn't.
659 2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
661 * gcc-interface/utils.c (begin_subprog_body): Do not call
663 (end_subprog_body): Likewise.
665 2011-05-04 Richard Guenther <rguenther@suse.de>
667 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
669 (pos_to_constructor): Likewise.
671 2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
672 Eric Botcazou <ebotcazou@adacore.com>
674 * gcc-interface/trans.c (gigi): Call build_function_type_list instead
675 of build_function_type. Adjust calls to...
676 (build_raise_check): ...this. Do not take a void_tree parameter.
677 Call build_function_type_list instead of build_function_type.
678 Fix head comment and swap couple of conditional blocks.
680 2011-04-30 Eric Botcazou <ebotcazou@adacore.com>
682 * gnatvsn.ads (Library_Version): Bump to 4.7.
683 (Current_Year): Bump to 2011.
685 2011-04-29 Michael Matz <matz@suse.de>
687 * gcc-interface/misc.c (gnat_handle_option): Set
688 warn_maybe_uninitialized.
690 2011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
692 * gnat_ugn.texi (Complexity Metrics Control): Update link to
693 the Watson/McCabe paper.
695 2011-04-23 Jim Meyering <meyering@redhat.com>
697 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
699 2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
701 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
704 2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
706 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
708 * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
709 DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
710 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
711 ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
712 <all>: Do not set flags on the reused DECL node coming from an alias.
713 Set DECL_IGNORED_P on the DECL node built for subprograms if they
714 don't need debug info here...
715 * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
716 (gigi): Adjust calls to create_subprog_decl.
717 (build_raise_check): Likewise.
718 (establish_gnat_vms_condition_handler): Likewise.
719 (Compilation_Unit_to_gnu): Likewise.
720 (gnat_to_gnu): Likewise.
722 2011-04-21 Eric Botcazou <ebotcazou@adacore.com>
724 * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
725 (NO_REORDER_ADAFLAGS): New variable.
726 (EXTRA_GNATTOOLS): Always define.
727 (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
728 Clean up and adjust list of files compiled with special options.
729 * gcc-interface/Make-lang.in: Likewise.
730 (ada/decl.o): Cosmetical change.
731 (ada/misc.o): Remove dependency on $(PLUGIN_H).
733 2011-04-20 Jim Meyering <meyering@redhat.com>
735 * initialize.c (__gnat_initialize): Remove useless if-before-free.
737 2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
739 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
740 $(CFLAGS) on the link line.
742 2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
744 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
745 padded type built for the return type if it is unconstrained.
747 2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
749 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
751 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
753 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
754 before calling TREE_CHAIN.
755 * gcc-interface/misc.c (gnat_init_ts): New function.
756 (LANG_HOOKS_INIT_TS): Define.
758 2011-04-12 Martin Jambor <mjambor@suse.cz>
760 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
761 instead of cgraph_node.
763 2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
765 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
766 alignment on fields of the RETURN type built for the Copy-In Copy-Out
769 2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
771 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
772 of aggregate types that contain a placeholder.
774 2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
776 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
778 (handle_type_generic_attribute): Likewise.
780 2011-04-04 Eric Botcazou <ebotcazou@adacore.com>
783 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
785 2011-04-04 Kai Tietz <ktietz@redhat.com>
788 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
791 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
793 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
794 type case, do not strip a padding type around the array type.
796 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
798 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
801 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
803 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
804 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
805 code for -feliminate-unused-debug-types.
806 (gnat_post_options): Likewise.
808 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
810 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
811 declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
814 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
816 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
817 DECL_ARTIFICIAL flag on enumeration types.
819 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
821 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
822 fat pointer types artificial unconditionally.
823 <E_Array_Subtype>: Attach the base array type as a parallel type if it
826 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
828 * gcc-interface/gigi.h (get_dummy_type): Declare.
829 (build_dummy_unc_pointer_types): Likewise.
830 (finish_fat_pointer_type): Likewise.
831 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
832 fat pointer type has been built, complete it in place.
833 <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
834 and thin pointers. Remove useless variable.
835 (finish_fat_pointer_type): Make global and move to...
836 * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
837 (get_dummy_type): New function.
838 (build_dummy_unc_pointer_types): Likewise.
839 (gnat_pushdecl): Propage the name to the anonymous variants only.
840 (update_pointer_to): Only adjust the pointer types in the unconstrained
843 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
845 * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
846 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
847 if this is a Taft amendment type and the full declaration is available.
848 * gcc-interface/trans.c (process_type): Likewise.
849 If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
850 (process_freeze_entity): Likewise.
851 * gcc-interface/utils.c (dummy_global): New static variable.
852 (gnat_write_global_declarations): If there are types declared as used
853 at the global level, insert them in the global hash table.
855 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
857 * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
858 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
859 declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
861 (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
862 flag of the type accordingly.
863 * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
865 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
867 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
868 finalizing types when updating the pointers to the designated type.
869 <all>: Finalize the deferred types even if we didn't defer processing
870 of incomplete types in this invocation.
872 2011-04-01 Olivier Hainque <hainque@adacore.com>
873 Nicolas Setton <setton@adacore.com>
874 Eric Botcazou <ebotcazou@adacore.com>
876 * gcc-interface/misc.c (gnat_descriptive_type): New function.
877 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
879 2011-03-28 Kai Tietz <ktietz@redhat.com>
881 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
883 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
884 * system-mingw.ads (System): Change ZCX_By_Default default to True.
886 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
888 2011-03-28 Tristan Gingold <gingold@adacore.com>
891 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
892 Use ada output of gnatbind.
893 (ada/b_gnatb.adb): Ditto.
894 (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
895 (ada.mostlyclean, ada.stage1)
896 (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
897 (ada.stagefeedback): Adjust.
898 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
899 Use ada output of gnatbind.
900 (b_gnatm.adb): Ditto.
901 (b_gnatl.o, b_gnatm.o): New rules.
903 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
905 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
906 for the padded type built to support a specified size or alignment.
908 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
910 * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
911 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
912 unconditionally to the end of the unit when the designated type is
914 <all>: Rename local variable. Attempt to un-defer types only and do it
915 for limited_with'ed types as well.
916 (finalize_from_with_types): Adjust comment. Rename variable and tidy.
917 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
918 consistently and remove redundant call to finalize_from_with_types.
920 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
922 * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
923 subprograms without a previous spec declared in the same unit.
924 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
925 subprograms at the end of the unit instead of at the beginning.
926 * gcc-interface/utils.c (create_subprog_decl): Check that the entity
927 isn't public for the special handling of non-inline functions nested
928 inside inline external functions.
930 2011-03-25 Jeff Law <law@redhat.com>
932 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
934 2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
936 * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
937 * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
938 to compute Set_Size_Depends_On_Discriminant.
939 (Layout_Type): Call it on array types in back-end layout mode.
940 * sem_util.adb (Requires_Transient_Scope): Return true for array
941 types only if the size depends on the value of discriminants.
942 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
943 type if the RHS is a call to a function that returns an unconstrained
944 type with default discriminant.
946 2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
948 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
949 non-conversion to the nominal result type at the end.
951 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
953 * gcc-interface/trans.c (create_temporary): New function taken from...
954 (create_init_temporary): ...here. Call it.
955 (call_to_gnu): Create the temporary for the return value early, if any.
956 Create it for a function with copy-in/copy-out parameters if there is
957 no target; in other cases of copy-in/copy-out, use another temporary.
958 Push the new binding level lazily. Add and rename local variables.
960 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
962 * gcc-interface/decl.c (validate_size): Improve comments and tweak
964 (set_rm_size): Likewise.
966 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
968 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
969 for the padded type built in order to support a specified alignment.
970 Fix incorrect formatting.
972 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
975 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
977 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
979 * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
980 rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
981 to the end of the list. Adjust recursive call. Rename local variable.
982 If REORDER is true, reorder components of the record type.
983 (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
984 components_to_record and adjust the parameter list.
986 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
988 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
989 disabled, use the variable for bounds of loop iteration scheme.
991 2011-03-21 Kai Tietz <ktietz@redhat.com>
994 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
996 2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
998 * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
999 out whether the expression is read-only. Short-circuit placeholder
1000 case and rename a couple of local variables.
1002 2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
1004 * gcc-interface/gigi.h (smaller_form_type_p): Declare.
1005 * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
1006 * gcc-interface/utils.c (smaller_form_type_p): ...to here.
1007 (convert): Deal with conversions from a smaller form type specially.
1009 2011-02-14 Eric Botcazou <ebotcazou@adacore.com>
1011 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
1012 its argument, except for the special -I- switch.
1014 2011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
1016 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
1019 2011-02-08 Eric Botcazou <ebotcazou@adacore.com>
1021 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
1023 2011-02-03 Eric Botcazou <ebotcazou@adacore.com>
1025 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
1027 * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
1028 * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
1029 instead of GNAT_FORMAL. Protect the expression against multiple uses.
1030 Do not generate the check directly, instead instantiate the template
1031 check present in the descriptor.
1032 (make_descriptor_field): Move around.
1033 (build_vms_descriptor32): Build a template check in the POINTER field.
1034 (build_vms_descriptor): Remove useless suffixes.
1035 * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
1037 2011-01-26 Eric Botcazou <ebotcazou@adacore.com>
1040 * targext.c: Include target files if IN_RTS is defined.
1042 2011-01-26 Richard Guenther <rguenther@suse.de>
1045 * targext.c: Include config.h.
1046 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
1049 2011-01-04 Pascal Obry <obry@adacore.com>
1050 Eric Botcazou <ebotcazou@adacore.com>
1052 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
1054 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
1056 * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
1057 end-of-case on the end label and its associated gotos, if any.
1059 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
1061 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
1062 expressions of the parameter cache within the statement group of
1065 2011-01-04 Olivier Hainque <hainque@adacore.com>
1066 Eric Botcazou <ebotcazou@adacore.com>
1068 * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
1069 (set_end_locus_from_node): New function.
1070 (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
1071 make and the function end_locus.
1072 (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
1073 for the elaboration subprogram.
1074 (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
1075 set the end_locus of the expression as well.
1077 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
1080 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
1081 variables that are referenced in exception handlers volatile.
1085 Copyright (C) 2011 Free Software Foundation, Inc.
1087 Copying and distribution of this file, with or without modification,
1088 are permitted in any medium without royalty provided the copyright
1089 notice and this notice are preserved.