]> gcc.gnu.org Git - gcc.git/blobdiff - gcc/ada/ChangeLog
[multiple changes]
[gcc.git] / gcc / ada / ChangeLog
index 974ff3fb7e7c2d3030d5d3f03bc923479f1f0a63..b90a4acf39030f6ec8ca6643d1aa806f496d68ed 100644 (file)
@@ -1,3 +1,458 @@
+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
This page took 0.046467 seconds and 5 git commands to generate.