OSDN Git Service

2012-01-30 Vincent Celier <celier@adacore.com>
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
index a961439..624aa11 100644 (file)
@@ -1,3 +1,427 @@
+2012-01-30  Vincent Celier  <celier@adacore.com>
+
+       * prj-nmsc.adb (Check_Interfaces): Report an error when a
+       unit from Library_Interface is not a unit of the project.
+
+2012-01-30  Vincent Pucci  <pucci@adacore.com>
+
+       * sem_prag.adb (Make_Aspect_For_PPC_In_Gen_Sub_Decl): Parent
+       links fixed inside PPC pragmas.
+       * sem_ch12.adb: Move call to Make_Aspect_For_PPC_In_Gen_Sub_Decl.
+
+2012-01-30  Thomas Quinot  <quinot@adacore.com>
+
+       * s-ransee.ads: Minor reformatting.
+
+2012-01-30  Pascal Obry  <obry@adacore.com>
+
+       * prj.ads, prj.adb (For_Each_Source): Add support for skipping
+       sources coming from an encapsulated library.
+
+2012-01-30  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Process-Full_View): fix typo.
+       * sem_ch13.adb (Aalyze_Aspect_Specifications): if predicates
+       appear on a private type and the full view is available, ensure
+       existence of freeze node for full view.
+       (Build_Predicate_Function): Attach predicate function to both
+       views of a private type.
+
+2012-01-30  Vincent Celier  <celier@adacore.com>
+
+       * prj-nmsc.adb (Check_Interfaces): Compute the Lib_Interface_ALIs
+       for the project if either attribute Library_Interface or
+       Interfaces is declared.
+       (Check_Stand_Alone_Library): Use Lib_Interface_ALIs computed in
+       Check_Interfaces.
+
+2012-01-30  Pascal Obry  <obry@adacore.com>
+
+       * prj-proc.adb (Recursive_Process): Set From_Encapsulated_Lib
+       boolean value to true in the process list created by this routine.
+       * prj.ads (Project_List_Element): New field From_Encapsulated_Lib.
+       Continued work for KA06-021.
+       * prj.adb (Compute_All_Imported_Projects): Set
+       From_Encapsulated_Lib boolean flag.
+
+2012-01-30  Vincent Pucci  <pucci@adacore.com>
+
+       * sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Minor
+       code clean up.
+       * s-diflio.ads: Minor change.
+
+2012-01-30  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch9.adb (Build_Dispatching_Requeue): Add missing call
+       to Get_Entry_Index.  Required to generate code which provides
+       the correct value of Entry_Index in the target entry.
+
+2012-01-30  Nicolas Roche  <roche@adacore.com>
+
+       * system-vxworks-ppc.ads: Add pragma Linker_Options -crtbe to
+       fix issue with zcx on VxWorks5.
+
+2012-01-30  Pascal Obry  <obry@adacore.com>
+
+       * prj.ads, prj.adb (For_Every_Project_Imported): Remove
+       In_Aggregate_Lib.
+       (For_Every_Project_Imported_Context): New generic routine with
+       a context parameter.
+       * prj-nmsc.adb: Revert to use For_Every_Project_Imported Avoid
+       distributed complexity.
+       * prj-env.adb, prj-conf.adb, makeutl.adb, gnatcmd.adb: Ditto.
+
+2012-01-30  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_aggr.adb (Expand_Record_Aggregate): After creating the
+       _parent aggregate for an extension aggregate, check whether it
+       requires delayed (top-down) expansion.
+
+2012-01-30  Vincent Pucci  <pucci@adacore.com>
+
+       * sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Rewritten.
+       * snames.ads-tmpl: Name_Item and Name_Symbols added.
+       * s-diflio.adb, s-diflio.ads, s-diinio.adb, s-diinio.ads: Rename
+       and change the position of parameter Symbols in every Put routine.
+       * s-dimmks.ads: Convert long float type Mks_Type into long
+       long float.
+       * s-llflex.ads: Modifications in comments.
+
+2012-01-30  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch12.adb (Earlier): Do not use the
+       top level source locations of the two input nodes.
+
+2012-01-30  Robert Dewar  <dewar@adacore.com>
+
+       * einfo.ads, sem_prag.adb, sem_attr.adb, aspects.ads,
+       sem_cat.adb, sem_aggr.adb, exp_aggr.adb: Minor reformatting.
+
+2012-01-30  Robert Dewar  <dewar@adacore.com>
+
+       * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb: Minor reformatting.
+
+2012-01-30  Olivier Hainque  <hainque@adacore.com>
+
+       * sigtramp-ppcvxw.c (CFI_COMMON_REGS): Add rule for r1 back +
+       comments.
+
+2012-01-30  Thomas Quinot  <quinot@adacore.com>
+
+       * gnat_rm.texi, sem_dist.adb, sem_dist.ads, einfo.ads, sem_prag.adb,
+       sem_ch12.adb, sem_attr.adb, aspects.adb, aspects.ads, par-prag.adb,
+       sem_cat.adb, snames.ads-tmpl (Sem_Dist.Is_Valid_Remote_Object_Type):
+       New subprogram (extracted from
+       Sem_Cat.Validate_Remote_Access_Object_Type_Declaration).
+       (Einfo.Is_Remote_Types): Now applies to generic types. Update
+       documentation accordingly.
+       (Sem_Ch12.Analyze_Associations): A RACW type is acceptable as
+       actual for a formal type to which a pragma Remote_Access_Type
+       applies.
+       (Aspects, Par.Prag, Sem_Prag): Support for new pramga/aspect
+       Remote_Access_Type.
+       (Sem_Attr.Analyze_Attribute, case Stub_Type): Attribute can
+       be applied to a generic type if pragma Remote_Access_Type
+       applies, in which case the type of the attribute is
+       System.Partition_Interface.RACW_Stub_Type.
+
+2012-01-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not set
+       an alignment on fields of the RETURN type built for the CICO mechanism.
+
+2012-01-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (gnat_to_gnu): Avoid making a SAVE_EXPR for
+       a call to a function that returns an unconstrained type with default
+       discriminant.  Similarly, avoid doing the conversion to the nominal
+       result type in this case.
+
+2012-01-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/ada-tree.h (DECL_ALIASED_P): New flag.
+       * gcc-interface/decl.c (is_variable_size): Rename to...
+       (type_has_variable_size): ...this.
+       (adjust_packed): Adjust to above renaming.
+       (gnat_to_gnu_field): Set DECL_ALIASED_P on the field.
+       (field_is_artificial): New predicate.
+       (field_is_aliased): Likewise.
+       (field_has_self_size): Likewise.
+       (field_has_variable_size): Likewise.
+       (components_to_record): Record information for the final layout during
+       the first pass on fields.
+       If there is an aliased field placed after a field whose length depends
+       on discriminants, put all the fields of the latter sort, last.
+
+2012-01-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/gigi.h (get_minimal_subprog_decl): Declare.
+       * gcc-interface/decl.c (get_minimal_subprog_decl): New function.
+       * gcc-interface/trans.c (Attribute_to_gnu): Use it for the prefix of an
+       Access-like attribute in a dispatch table if the subprogram is public.
+
+2012-01-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/gigi.h (create_label_decl): Adjust.
+       * gcc-interface/utils.c (create_label_decl): Add GNAT_NODE parameter
+       and invoke gnat_pushdecl on it.  Remove obsolete settings.
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Label>: Adjust call to
+       create_label_decl.
+       * gcc-interface/trans.c (gnat_to_gnu) <N_Null): Likewise.  Ignore the
+       label for debugging purposes.
+
+2012-01-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an aliased
+       object with an unconstrained nominal subtype and if optimization isn't
+       enabled, create a special VAR_DECL for debugging purposes.
+
+2012-01-23  Robert Dewar  <dewar@adacore.com>
+
+       * sem_prag.ads, sem_prag.adb: Minor reformatting.
+
+2012-01-23  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch13.adb (Analyze_Aspect_Specifications): Check for
+       language defined aspect applied to renaming or formal type
+       declaration (not permitted)
+
+2012-01-23  Matthew Heaney  <heaney@adacore.com>
+
+       * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Vet): Replaced
+       comment with pragma Assert.
+
+2012-01-23  Vincent Pucci  <pucci@adacore.com>
+
+       * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Call
+       to Make_Aspect_For_PPC_In_Gen_Sub_Decl added in ASIS mode.
+       * sem_prag.adb, sem_prag.ads (Make_Aspect_For_PPC_In_Gen_Sub_Decl): New
+       routine. In ASIS mode, convert any PPC pragmas into aspects in generic
+       subprogram declaration in order to enable the analysis of PPC boolean
+       expressions.
+
+2012-01-23  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch3.adb (Analyze_Object_Declaration): Properly
+       handle Current_Value for volatile variables (also propagate
+       Treat_As_Volatile from type to object).
+
+2012-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch12.adb (Install_Body): Detect the case
+       where the enclosing context is a package with a stub body that
+       has already been replaced by the actual body. In such cases,
+       the freeze node for the enclosing context must be inserted after
+       the real body.
+
+2012-01-23  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma, case Debug): Freeze the called
+       subprogram before expanding the pragma into an if-statement with
+       a block, to ensure that when the subprogram is null its body is
+       properly generated before expansion.
+
+2012-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch12.adb (Analyze_Associations): Alphabetize local variables and
+       constants. Rename Actual_Types to Actuals_To_Freeze. Rename Next_Formal
+       to Saved_Formal.
+       Freeze all eligible subprograms which appear as actuals in
+       the instantiation.
+       (Has_Fully_Defined_Profile): New routine.
+       (Renames_Standard_Subprogram): New routine.
+       (Earlier): Add local variable N. Comment update. Do not use source
+       locations when trying to determine whether one node precedes another.
+
+2012-01-23  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch4.adb (Expand_Concatenate): In the case
+       where the result of a concatentation can be null, set the to
+       result have both the low and high bounds of the right operand (not
+       just the high bound, as was the case prior to this fix). Also,
+       fix the saved high bound setting (Last_Opnd_High_Bound) in the
+       empty string literal case (should have been low bound minus one,
+       rather than plus one).
+
+2012-01-23  Thomas Quinot  <quinot@adacore.com>
+
+       * scos.ads, put_scos.adb, get_scos.adb (Get_SCOs, Put_SCOs): Do not
+       omit statement SCOs for disabled pragmas.
+
+2012-01-23  Matthew Heaney  <heaney@adacore.com>
+
+       * a-cohase.ads, a-cihase.ads, a-cbhase.ads, a-coorse.ads,
+       a-ciorse.ads, a-cborse.ads, a-cohama.ads, a-cihama.ads, a-cbhama.ads,
+       a-coorma.ads, a-ciorma.ads, a-cborma.ads, a-cdlili.ads, a-cidlli.ads,
+       a-cbdlli.ads, a-convec.ads, a-coinve.ads, a-cobove.ads (Cursor'Read,
+       Cursor'Write): Declare in private part.
+       (Reference_Type'Read, Reference_Type'Write): Ditto.
+       (Constant_Reference_Type'Read, Constant_Reference_Type'Write): Ditto.
+
+2012-01-23  Robert Dewar  <dewar@adacore.com>
+
+       * a-catizo.ads, a-calend.adb, a-calend.ads, par-ch13.adb: Minor
+       reformatting.
+
+2012-01-23  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Analyze_Subprogram_Declaration): Do not set the
+       Corresponding_Body on a defaulted null formal subprogram.
+       * sem_ch12.adb (Check_Formal_Package_Instance): No check needed
+       on a defaulted formal subprogram that is a null procedure.
+
+2012-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_ch9.adb: Update the comments involving pragma Implemented.
+       * sem_ch3.adb (Check_Pragma_Implemented (Entity_Id)): Add local
+       constant Subp_Alias and local variable Impl_Subp. Properly
+       handle aliases of synchronized wrappers. Code cleanup.
+       (Check_Pragma_Implemented (Entity_Id; Entity_Id)): Add
+       Name_Optional as part of the condition.
+       * sem_prag.adb (Analyze_Pragma): Add "Optional" as one of the
+       valid choices of implementation kind.
+       (Check_Arg_Is_One_Of): New routine.
+       * snames.ads-tmlp: Add Name_Optional.
+
+2012-01-23  Ed Schonberg  <schonberg@adacore.com>
+
+       * par-ch13.adb: Better error recovery in illegal aspect
+       specification.
+
+2012-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * a-calend.adb: Add with clause for Interfaces.C. Add constant
+       Unix_Max.
+       (Day_Of_Week): Call the internal UTC_Time_Offset.
+       (Split): Call the internal UTC_Time_Offset.
+       (Time_Of): Call the internal UTC_Time_Offset.
+       (Time_Zone_Operations.UTC_Time_Offset): Call internal UTC_Time_Offset.
+       (UTC_Time_Offset): New library-level routine.
+       * a-calend.ads (UTC_Time_Offset): Remove parameter
+       Is_Historic. Update related comment on usage.
+       * a-catizo.adb (UTC_Time_Offset): Removed.
+       (UTC_Time_Offset (Time)): Call Time_Zone_Operations.UTC_Time_Offset.
+       * a-caltizo.ads (UTC_Time_Offset): Removed.
+       (UTC_Time_Offset (Time)): Add back the default expression of parameter
+       Date.
+
+2012-01-23  Robert Dewar  <dewar@adacore.com>
+
+       * sprint.ads, sprint.adb (Sprint_Node_List): Add New_Lines parameter
+       (pg,po,ps): Make sure each entry starts on new line.
+
+2012-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * a-calend.ads, a-calend.adb: Define types int and int_Pointer. Update
+       the parameter profile of procedure localtime_tzoff and its associated
+       comment.
+       (Day_Of_Week): Do not treat the input date as historical
+       with respect to time zones.
+       (Split): Do not treat the input
+       date as historical with respect to time zones.  (Time_Of): Do
+       not treat the input constituents as forming a historical date
+       with respect to time zones.
+       (UTC_Time_Offset): Add new formal
+       parameter Is_Historic. Add local variable Flag. Update the call
+       to localtime_tzoff.
+       * a-catizo.ads, a-catizo.adb (UTC_Time_Offset): New routine.
+       (UTC_Time_Offset (Time)): Update the call to
+       Time_Zone_Operations.UTC_Time_Offset.
+       * sysdep.c (__gnat_localtime_tzoff): Update parameter
+       profile. Split the processing of offsets on Windows into two - one
+       part of historic time stamps and the other for the current time.
+
+2012-01-23  Robert Dewar  <dewar@adacore.com>
+
+       * a-calend.adb: Minor reformatting.
+
+2012-01-23  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch9.adb, sem_ch9.adb: Handle array of access to synchronized
+       interface in requeue statement.
+
+2012-01-23  Cyrille Comar  <comar@adacore.com>
+
+       * projects.texi: Remove references to main units and replace
+       with references to main programs to be coherent with the
+       documentation.
+
+2012-01-23  Robert Dewar  <dewar@adacore.com>
+
+       * s-utf_32.adb: Minor reformatting.
+
+2012-01-23  Vincent Celier  <celier@adacore.com>
+
+       * snames.ads-tmpl: Minor comment addition Indicate that
+       Name_Library_Encapsulated_Options is only used in gprbuild.
+
+2012-01-23  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch10.adb (Analyze_Subunit): Properly save/restore cunit
+       restrictions.
+
+2012-01-23  Ed Schonberg  <schonberg@adacore.com>
+
+       * snames.ads-tmpl: Add Name_Synchronization.
+       * aspects.ads, aspects.adb: Add Aspect_Synchronization to
+       enumeration type and related maps.
+       * sem_ch13.adb (Analyze_Aspect_Specifications): Handle Aspect
+       Synchronization, build corresponding pragma Implemented.
+       * sem_util.adb (Implementation_Kind): Handle both explicit and
+       implicit pragma_argument association to retrieve the given
+       synchronization mode.
+
+2012-01-23  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch10.adb, errout.adb: Minor reformatting.
+
+2012-01-23  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_res.adb (Resolve_Actuals): An actual in a call to an
+       Ada 2012 Reference function does not lead to a dangerous order
+       dependence.
+
+2012-01-23  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_util.adb (Is_Iterated_Container): Test
+       Is_Entity_Name when searching for calls to the default iterator,
+       to avoid blowing up on indirect calls which have an explicit
+       dereference as the call name.
+
+2012-01-23  Thomas Quinot  <quinot@adacore.com>
+
+       * errout.adb (Set_Msg_Node): For an N_Expanded_Name, output
+       the complete expanded name, rather than just its Selector_Name.
+
+2012-01-23  Thomas Quinot  <quinot@adacore.com>
+
+       * a-textio.adb (Put): Rewrite one-parameter Character version to
+       just call the two-parameter one with Current_Out.
+
+2012-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * freeze.adb (Check_Current_Instance): Issue an
+       error when the prefix of 'Unchecked_Access or 'Access does not
+       denote a legal aliased view of a type.
+       (Freeze_Record_Type): Do not halt the processing of record components
+       once the Has_Controlled_Component is set as this bypasses the remaining
+       checks.
+       (Is_Aliased_View_Of_Type): New routine.
+
+2012-01-23  Thomas Quinot  <quinot@adacore.com>
+
+       * errout.ads, freeze.adb: Minor reformatting.
+
+2012-01-23  Thomas Quinot  <quinot@adacore.com>
+
+       * sem_ch10.adb, sem_prag.adb: Remove redundant apostrophes in error
+       messages.
+
+2012-01-23  Olivier Hainque  <hainque@adacore.com>
+
+       * adadecode.c (__gnat_decode): Deal with empty input early,
+       preventing potential erroneous memory access later on.
+
 2012-01-21  Eric Botcazou  <ebotcazou@adacore.com>
 
        PR ada/46192