+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * sinfo.adb, sinfo.ads, sem_prag.adb, sem_ch12.adb (Pragma_Enabled):
+ This flag of N_Pragma nodes is not used, remove it as well as all of
+ the associated circuitry.
+
+2011-08-04 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Make_DT): Switch -gnatdQ disables the generation of the
+ runtime check on duplicated externa tags
+ * debug.adb Document switch -gnatdQ.
+
+2011-08-04 Gary Dismukes <dismukes@adacore.com>
+
+ * a-fihema.ads: Minor typo fix.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * sem_ch10.adb: Minor comment update.
+
+2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb: Update the node field usage to reflect the renaming of
+ Return_Flag to Return_ Flag_Or_Transient_Decl.
+ (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl.
+ (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl.
+ (Write_Field15_Name): Change Return_Flag to
+ Return_Flag_Or_Transient_Decl.
+ * einfo.ads: Rename node field Return_Flag to
+ Return_Flag_Or_Transient_Decl. Update the associated comment and all
+ occurrences in entities.
+ (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl. Update
+ associated Inline pragma.
+ (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl. Update
+ associated Inline pragma.
+ * exp_ch4.ads, exp_ch4.adb (Expand_N_Expression_With_Actions): New
+ routine.
+ * exp_ch6.adb (Expand_N_Extended_Return_Statement): Update the calls to
+ Return_Flag and Set_Return_Flag.
+ * exp_ch7.adb (Process_Declarations): Add code to recognize hook
+ objects generated for controlled transients declared inside an
+ Exception_With_Actions. Update the calls to Return_Flag.
+ (Process_Object_Declaration): Add code to add a null guard for hook
+ objects generated for controlled transients declared inside an
+ Exception_With_Actions. Update related comment.
+ * exp_util.adb (Has_Controlled_Objects): Add code to recognize hook
+ objects generated for controlled transients declared inside an
+ Exception_With_Actions. Update the calls to Return_Flag.
+ * expander.adb (Expand): Add new case for N_Expression_With_Actions.
+
+2011-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb:(Wrong_Type): Improve error message on a one-element
+ positional aggregate.
+
+2011-08-04 Vincent Celier <celier@adacore.com>
+
+ * par_sco.adb (Process_Decisions.Output_Header): Check and record pragma
+ SLOC only for pragmas.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * projects.texi: Minor typo fix.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * prj-nmsc.adb (Check_File): Minor change to traces, to help debugging
+ on case-sensitive file systems.
+
+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * put_scos.adb (Put_SCOs): Do not emit decision SCO for an X decision
+ nested in a disabled pragma.
+ * scos.ads, scos.adb, par_sco.ads, par_sco.adb: Record sloc of
+ enclosing pragma, if any, for X decisions.
+
+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * sem_prag.adb: Minor reformatting.
+
+2011-08-04 Vincent Celier <celier@adacore.com>
+
+ * a-tags.adb (Check_TSD): Avoid concatenation of strings, as it is not
+ allowed in no run time mode.
+
+2011-08-04 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Check): When -gnatc is used, check for the source file
+ inside the ALI file with a canonical case file name.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * g-comlin.adb, g-comlin.ads (Add_Switch): Put back support for
+ overriding the separator.
+
+2011-08-04 Robert Dewar <dewar@adacore.com>
+
+ * sem_aggr.adb, par_sco.adb, sem_type.adb, exp_util.adb, exp_ch9.adb,
+ prj-nmsc.adb, sem_ch13.adb, exp_strm.adb: Minor reformatting.
+
+2011-08-04 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Minor documentation fix for pragma Annotate.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute): add check during pre-analysis that
+ 'Result only appears in postcondition of function.
+
+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * a-tags.adb (Check_TSD): When raising PROGRAM_ERROR for a duplicated
+ external tag, include the value of the external tag in the exception
+ message.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * sem_attr.adb (Result): modify error message for misplaced 'Result
+
+2011-08-04 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_rm.texi (pragma Annotate): Fix syntax description to make it
+ clear that the second argument must be an identifier.
+
+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch9.adb (Build_Barrier_Function): When compiling with
+ -fpreserve-control-flow, insert an IF statement on the barrier
+ condition to ensure that a conditional branch instruction is generated.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * prj-part.adb, prj.adb, prj.ads, prj-tree.ads
+ (Processing_Flags.Ignore_Missing_With): new flag.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * prj-nmsc.adb (Find_Sources, Path_Name_Of): Fix handling of
+ Source_List_File on case-insensitive systems where the file is actually
+ on a case-sensitive file system (NFS,...).
+
+2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch6.adb (Analyze_Function_Return): In a rare case where a
+ function return contains a controlled [extension] aggregate and the
+ return statement is not part of a handled sequence of statements, wrap
+ the return in a block. This ensures that all controlled temporaries
+ generated during aggregate resolution will be picked up by the
+ finalization machinery.
+
+2011-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Resolve_Aggregate): If aggregate has box-initialized
+ components, freeze type before resolution, to ensure that default
+ initializations are present for all components.
+ * sem_res.adb (Resolve_Actuals): the designated object of an
+ accces-to-constant type is a legal actual in a call to an
+ initialization procedure.
+
+2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_util.adb (Extract_Renamed_Object): Add N_Type_Conversion and
+ N_Unchecked_Type_Conversion to the possible containers of a renamed
+ transient variable.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * par-ch13.adb (Aspect_Specifications_Present): recognize
+ "with Identifier'Class =>" as an aspect, so that a meaningful warning
+ is issued in Strict mode.
+ * par.adb: Fix typos in comments.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * sem_attr.adb (Result): modify error message to take into account Post
+ aspect when compiling Ada 2012 (or newer) code.
+
+2011-08-04 Nicolas Roche <roche@adacore.com>
+
+ * env.c (__gnat_clearenv): Avoid use of dynamic size array in order to
+ remove need for GCC exceptions.
+
+2011-08-04 Vincent Celier <celier@adacore.com>
+
+ * makeutl.adb (Do_Complete): Call Debug_Output with the name of the
+ project, not the source file name.
+ * prj.adb (Find_Sources.Look_For_Sources): If the source has been
+ excluded, continue looking. This excluded source will only be returned
+ if there is no other source with the same base name that is not locally
+ removed.
+
+2011-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Intrinsic_Operator): if the result type is
+ private and one of the operands is a real literal, use a qualified
+ expression rather than a conversion which is not meaningful to the
+ back-end.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * sem_ch13.adb (Aspect_Loop): when an aspect X and its classwise
+ corresponding aspect X'Class are allowed, proceed with analysis of the
+ aspect instead of skipping it.
+
+2011-08-04 Tristan Gingold <gingold@adacore.com>
+
+ * s-flocon.adb, s-flocon.ads: Add a body for s-flocon.ads
+ This will allow to have an Ada implementation for the subprogram.
+
+2011-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Analyze_Full_Type_Declaration): If the declaration is a
+ completion and aspects are present, apply them to the entity for the
+ type which is currently the partial view, but which is the one that
+ will be frozen.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): if the predicate
+ applies to a partial view, indicate that the full view has predicates
+ and delayed aspects.
+ (Replace_Type_Reference): Handle properly predicates that apply to the
+ full view of a private completion.
+
+2011-08-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * layout.adb (Layout_Type): For composite types, do not set Esize.
+ * freeze.adb (Set_Small_Size): Remove test on alignment and do not
+ set Esize.
+ (Size_Known): Look at the RM size of components instead of the Esize.
+ (Freeze_Record_Type): Look at the RM size instead of the Esize to
+ issue warning and activate Implicit_Packing.
+ (Freeze_Entity): Likewise. Do not issue a warning for alias/atomic
+ if the Esize is not known.
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause) <Size>: Set Esize
+ for elementary types only.
+ (Analyze_Record_Representation_Clause): Look at the RM size instead
+ of the Esize to issue errors.
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set Esize if it
+ is not known.
+ <E_Record_Type>: Look at the RM size instead of the Esize. Remove
+ obsolete block.
+ Look at the RM size instead of the Esize for types if the latter is
+ not known.
+ (gnat_to_gnu_field): Use Known_Esize instead of Known_Static_Esize.
+
+2011-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_type.adb: proper handling of equality not involving anonymous
+ access types.
+
+2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Create_Finalizer): Remove local variables Spec_Nod and
+ Vis_Decls. When creating a library-level finalizer for a package spec,
+ both the declaration and body of the finalizer are inserted either in
+ the visible or private declarations of the package spec.
+
+2011-08-04 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Derive_Subprograms): Complete assertion to request the
+ use of the full-view of a type when invoking Is_Ancestor.
+ * sem_type.adb (Is_Ancestor): For consistency, when the traversal of
+ the full-view of private parents is requested, then use also the
+ full-view of the parent of the first derivation.
+
+2011-08-04 Tristan Gingold <gingold@adacore.com>
+
+ * s-taprop-vxworks.adb (Enter_Task): Use System.Float_Control.Reset
+ instead of the locally imported procedure.
+ * s-taprop-mingw.adb (Enter_Task): Ditto.
+ * s-valrea.adb (Scan_Real): Ditto.
+ * s-imgrea.adb (Set_Image_Real): Ditto.
+ * s-flocon.ads: Make the package pure.
+
+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * sinfo.ads, sinfo.adb (Debug_Statement, Set_Debug_Statement): Remove.
+ * tbuild.ads, tbuild.adb (Make_Pragma): Adjust accordingly.
+ * sinfo-cn.ads, sinfo-cn.adb (Change_Name_To_Procedure_Call_Statement):
+ New subprogram, moved here from...
+ * par.adb, par-ch5.adb (P_Statement_Name): ... here.
+ * par-prag.adb (Par.Prag, case Pragma_Debug): Do not perform any
+ rewriting of the last argument into a procedure call statement here...
+ * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): ...do it there
+ instead.
+
+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb: Minor reformatting.
+
+2011-08-04 Robert Dewar <dewar@adacore.com>
+
+ * erroutc.adb: Minor reformatting.
+
+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb: Comment update.
+
+2011-08-04 Tristan Gingold <gingold@adacore.com>
+
+ * s-flocon.ads: New file.
+ * g-flocon.ads: Now a renaming of s-flocon.
+ * Makefile.rtl: Add s-flocon.o
+
+2011-08-04 Javier Miranda <miranda@adacore.com>
+
+ * exp_strm.adb (Build_Array_Input_Function): if the array type is
+ constrained, do not attempt to build a subtype of it.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * errout.ads Change comments: remove 'R'M as an example where quotes
+ are needed; add ALFA as another case where quotes are not needed
+ * erroutc.adb (Set_Msg_Insertion_Reserved_Word): add ALFA as another
+ case where quotes are not needed.
+ * sem_ch11.adb, sem_ch13.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
+ sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_prag.adb, sem_res.adb:
+ Remove all occurrences of 'A'L'F'A
+
+2011-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb: check legality of invariant pragma.
+
+2011-08-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * bindgen.adb: Add comments.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * einfo.adb, einfo.ads: Free Flag254 and make Formal_Proof_On a
+ synthesized flag.
+ * sem_prag.adb (Analyze_Pragma): record the pragma Annotate
+ (Formal_Proof, On/Off) in the Rep_Item list of the current subprogram.
+
+2011-08-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch7.adb, exp_ch6.adb, sem_ch3.adb, layout.adb, sem_ch5.adb,
+ osint-c.ads, sem_util.ads, gnat1drv.adb, targparm.ads, sem_ch6.adb,
+ sem_ch13.adb, s-pooloc.adb: Minor reformatting.
+
+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * s-pooloc.ads, s-pooglo.ads: Minor reformatting
+
+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ PR ada/47880
+ * s-pooloc.adb (Deallocate): Fix the case of deallocating the only
+ allocated object.
+
+2011-08-04 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads, exp_ch4.adb: Minor reformatting.
+
+2011-08-04 Jerome Lambourg <lambourg@adacore.com>
+
+ * back_end.ads (Gen_Or_Update_Object_File): Add more comments.
+
+2011-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_Composite_Equality): code cleanup: use component
+ type in all cases to compute list of primitive operations, because full
+ view may be an itype that is not attached to the list of declarations.
+
+2011-08-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * bindgen.adb (Gen_Adafinal_Ada): Generate an early return if the
+ library has already been finalized.
+ (Gen_Adafinal_C): Likewise.
+ (Gen_Adainit_Ada): Generate an early return if the library has
+ already been elaborated.
+ (Gen_Adainit_C): Likewise.
+ (Gen_Output_File_Ada): Generate an elaboration flag.
+ (Gen_Output_File_C): Likewise.
+
+2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Expand_Allocator_Expression): Disable the generation of
+ Set_Finalize_Address_Ptr for CodePeer because Finalize_Address was not
+ built in the first place.
+ (Expand_N_Allocator): Disable the generation of Set_Finalize_Address_Ptr
+ for CodePeer because Finalize_Address was not built to begin with.
+ * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Ditto.
+
+2011-08-04 Pascal Obry <obry@adacore.com>
+
+ * adaint.c (__gnat_tmp_name): Use current process id to create temp
+ filenames, this ensures unicity of filenames across processes.
+
+2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * bindgen.adb (Gen_Finalize_Library_Ada): Rename generated routine
+ Raise_Controlled to Raise_From_Controlled_Operation. Update the
+ signature of Raise_From_Controlled_Operation by adding flag From_Abort.
+ Add False as the actual to From_Abort in the generated call to
+ Raise_From_Controlled_Operation.
+
+2011-08-04 Jerome Lambourg <lambourg@adacore.com>
+
+ * osint-c.ads, osint-c.adb (Set_Library_Info_Name): Move to declaration
+ so that the ali file name can be retrieved from outside of this package.
+ * back_end.ads, back_end.adb (Gen_Or_Update_Object_File): New method
+ doing nothing in the general case, but used to update the object file
+ timestamp if directly generated by the backend.
+ * gnat1drv.adb (Gnat1drv): Make sure the object file's timestamp is set
+ to a later time than the ali file one.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * einfo.adb, einfo.ads (Formal_Proof_On): new flag set on subprogram
+ entities whose body contains an Annotate pragma which forces formal
+ proof on this body.
+ * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
+ sem_ch6.adb, sem_ch9.adb, sem_res.adb: Adapt call to
+ Mark_Non_ALFA_Subprogram to pass in a message and node.
+ * sem_prag.adb (Analyze_Pragma): add treatment of pragma Annotate
+ (Forma_Proof, On) which sets the flag Formal_Proof_On in the
+ surrounding subprogram.
+ * sem_util.adb, sem_util.ads (Mark_Non_ALFA_Subprogram,
+ Mark_Non_ALFA_Subprogram_Unconditional): if the subprogram being marked
+ as not in ALFA is annotated with Formal_Proof being On, then an error
+ is issued based on the additional parameters for message and node.
+ * snames.ads-tmpl (Name_Formal_Proof): new name for annotation.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Do not generate
+ Finalize_Address when CodePeer is enabled.
+
+2011-08-04 Pascal Obry <obry@adacore.com>
+
+ * adaint.c (__gnat_tmp_name): Use _tempnam() instead of tempnam() as
+ the latter returns a pointer to a static buffer which is deallocated
+ at the end of the routine.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * sem_ch3.adb (Array_Type_Declaration): move test for type in ALFA
+ after index creation; mark unconstrained base array type generated as
+ being in/not in ALFA as well
+ (Make_Index): mark subtype created as in/not in ALFA
+ * sem_ch5.adb (Analyze_Iteration_Scheme): mark entity for iterating
+ over a loop as in/not in ALFA, depending on its type and form of loop
+ iteration.
+
+2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Build_Object_Declarations): Initialize flag Abort
+ directly to False on .NET and JVM.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * sem_ch3.adb (Constrain_Enumeration, Constrain_Integer): remove
+ constraint that subtype must come from source code to be in ALFA, so
+ that anonymous subtypes can be in ALFA too.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * sem_ch3.adb (Analyze_Object_Declaration): remove obsolete addition of
+ reference for ALFA mode.
+ * lib-xref-alfa.adb, lib-xref.ads (Traverse_Compilation_Unit): make
+ procedure public so as to use it from formal verification back-end.
+
+2011-08-04 Jerome Lambourg <lambourg@adacore.com>
+
+ * g-comlin.adb (For_Each_Simple_Switch.Is_In_Config): Remove the
+ invalid checks of the Parameter, making Remove_Switch not working
+ correctly.
+
+2011-08-04 Arnaud Charlet <charlet@adacore.com>
+
+ * targparm.ads: Update header: no run-time exception is needed on this
+ file.
+
+2011-08-04 Vincent Celier <celier@adacore.com>
+
+ * a-fihema.adb: Use System.IO instead of GNAT.IO
+
+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch3.adb (Access_Definition): Anonymous access to subprogram types
+ are forbidden in Compiler_Unit mode.
+
+2011-08-04 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.adb: Minor reformatting.
+
+2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * bindgen.adb (Gen_Finalize_Library_Ada): Update the import string for
+ library-level finalizers.
+ (Gen_Finalize_Library_C): Update the import string for library-level
+ finalizers.
+ (Gen_Finalize_Library_Defs_C): Update the definition name of a
+ library-level finalizer.
+ * exp_ch7.adb: Remove with and use clauses for Stringt.
+ (Create_Finalizer): Remove local variables Conv_Name, Prag_Decl,
+ Spec_Decl. Add local variable Body_Id. The names of library-level
+ finalizers are now manually fully qualified and are no longer external.
+ A single name is now capable of servicing .NET, JVM and non-VM targets.
+ Pragma Export is no longer required to provide visibility for the name.
+ (Create_Finalizer_String): Removed.
+ (New_Finalizer_Name): New routine which mimics New_..._Name.
+
+2011-08-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_elab.adb (Check_Internal_Call_Continue): Change the type of the
+ elaboration counter to Standard_Short_Integer.
+ * sem_util.adb (Build_Elaboration_Entity): Likewise.
+ * bindgen.adb (Gen_Elab_Externals_Ada): Adjust to above change.
+ (Gen_Elab_Externals_C): Likewise.
+
+2011-08-04 Ed Falis <falis@adacore.com>
+
+ * system-vxworks-arm.ads, system-vxworks-sparcv9.ads,
+ system-vxworks-ppc.ads, system-vxworks-m68k.ads,
+ system-vxworks-mips.ads, system-vxworks-x86.ads
+ (Always_Compatible_Rep): set to False for all VxWorks targets.
+
+2011-08-04 Robert Dewar <dewar@adacore.com>
+
+ * par_sco.adb, prj-proc.adb, make.adb, bindgen.adb, prj.adb, prj.ads,
+ makeutl.adb, makeutl.ads, prj-nmsc.adb, exp_ch5.adb, exp_ch12.adb,
+ exp_ch7.ads, exp_util.ads, sem_util.ads, g-comlin.ads, exp_ch6.adb,
+ exp_ch6.ads, lib-xref.ads, exp_ch7.adb, exp_util.adb, exp_dist.adb,
+ exp_strm.adb, gnatcmd.adb, freeze.adb, g-comlin.adb, lib-xref-alfa.adb,
+ sem_attr.adb, sem_prag.adb, sem_util.adb, sem_elab.adb, sem_ch8.adb,
+ sem_ch11.adb, sem_eval.adb, sem_ch13.adb, sem_disp.adb, a-fihema.adb:
+ Minor reformatting and code reorganization.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * projects.texi: Added doc for aggregate projects.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * prj-proc.adb, prj-nmsc.adb, prj-env.adb (Process_Declarative_Items):
+ Add support for overriding the Project_Path in aggregate projects.
+
+2011-08-04 Robert Dewar <dewar@adacore.com>
+
+ * a-cofove.ads: Minor reformatting.
+
+2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Update the comment
+ on the generated code.
+ (Build_Finalize_Statements): Update the comment on the generated code.
+ (Build_Initialize_Statements): Update the comment on the generated code.
+ (Build_Object_Declarations): Add local variable Result. The object
+ declarations are now built in sequence.
+ * rtsfind.ads: Add RE_Exception_Occurrence_Access to tables RE_Id and
+ RE_Unit_Table.
+
+2011-08-04 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb, alfa.adb, alfa.ads: Minor reformatting.
+
+2011-08-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * einfo.ads (Elaboration_Entity): Document new definition and use.
+ (Elaboration_Entity_Required): Adjust to above change.
+ * exp_attr.adb (Expand_N_Attribute_Reference): Likewise.
+ * exp_ch12.adb: And with and use for Snames.
+ (Expand_N_Generic_Instantiation): Test 'Elaborated attribute.
+ * exp_util.adb (Set_Elaboration_Flag): Likewise.
+ * sem_attr.adb (Analyze_Attribute) <Check_Library_Unit>: Delete.
+ <Check_Unit_Name>: Deal with N_Expanded_Name.
+ <Attribute_Elaborated>: Extend to all unit names.
+ * sem_elab.adb: And with and use for Uintp.
+ (Check_Internal_Call_Continue): Adjust to Elaboration_Entity change.
+ * sem_util.ads (Build_Elaboration_Entity): Adjust comment.
+ * sem_util.adb (Build_Elaboration_Entity): Change type to Integer.
+ * bindgen.adb (Gen_Elab_Externals_Ada): New local subprogram taken
+ from Gen_Adainit_Ada.
+ (Gen_Elab_Externals_C): Likewise, but taken from Gen_Adainit_C.
+ (Gen_Adafinal_Ada): Remove redundant test. In the non-main program
+ case, do not call System.Standard_Library.Adafinal; instead call
+ finalize_library if needed.
+ (Gen_Adafinal_C): Likewise.
+ (Gen_Adainit_Ada): Do not set SSL.Finalize_Library_Objects in the
+ non-main program case.
+ (Gen_Adainit_C): Generate a couple of external declarations here.
+ In the main program case, set SSL.Finalize_Library_Objects.
+ (Gen_Elab_Calls_Ada): Adjust to Elaboration_Entity change.
+ (Gen_Elab_Calls_C): Likewise.
+ (Gen_Finalize_Library_Ada): Likewise. Skip SAL interface units.
+ (Gen_Finalize_Library_C): Likewise. Generate a full function.
+ (Gen_Main_C): Put back call to Ada_Final and don't finalize library
+ objects here.
+ (Gen_Output_File_Ada): Generate pragma Linker_Destructor for Ada_Final
+ if -a is specified. Call Gen_Elab_Externals_Ada. Move around call to
+ Gen_Adafinal_Ada.
+ (Gen_Output_File_C): Generate __attribute__((destructor)) for Ada_Final
+ if -a is specified. Call Gen_Elab_Externals_C. Remove useless couple
+ of external declarations. Call Gen_Finalize_Library_C.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * prj.adb, prj.ads, makeutl.adb, makeutl.ads (Complete_Mains,
+ Compute_Compilation_Phases): new subprogram.
+ (Builder_Data, Builder_Project_Tree_Data): new subprogram and type
+ The number of mains as well as the various compilation phases that
+ need to be run are now project tree specific, since various
+ aggregated trees might have different requirements. In particular,
+ they do not all require bind or link phases.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * prj.adb, prj.ads, makeutl.adb, makeutl.ads, prj-env.adb
+ (Project_Tree_Appdata): New type.
+ It is now possible to associate application-specific data to a project
+ tree. In particular, this is used in the gprbuild builder to avoid a
+ number of global tables and htables, especially now that there can be
+ several project trees loaded at once because of aggregate projects.
+ (Debug_Name): new procedure.
+ * projects.texi: Clarify syntax of "**" for Source_Dirs
+
+2011-08-03 Emmanuel Briot <briot@adacore.com>
+
+ * prj.ads, makeutl.adb, makeutl.ads (Queue.Insert): now also inserts
+ the "roots" for a main.
+ (Fill_From_Project): add support for aggregate projects. Main units
+ in aggregated projects are now automatically added in the list of
+ files to build (although this fails later on in gprbuild, because
+ these files are not using the root proejct tree, so this needs
+ further cleanup)
+ * gcc-interface/Make-lang.in: Update dependencies.
+
2011-08-03 Yannick Moy <moy@adacore.com>
* sem_ch4.adb (Analyze_Conditional_Expression): only allow boolean