OSDN Git Service

2010-10-08 Robert Dewar <dewar@adacore.com>
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
index 070e8e5..38a15be 100644 (file)
@@ -1,3 +1,267 @@
+2010-10-08  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch6.adb: Minor reformatting.
+
+2010-10-08  Robert Dewar  <dewar@adacore.com>
+
+       * gnat1drv.adb: Add call to Validate_Independence.
+       * par-prag.adb: Add dummy entries for Independent,
+       Independent_Componentsa.
+       * sem_ch13.adb (Validate_Independence): New procedure
+       (Initialize): Initialize address clause and independence check tables
+       * sem_ch13.ads (Independence_Checks): New table
+       (Validate_Independence): New procedure
+       * sem_prag.adb: Add processing for pragma Independent[_Components]
+       * snames.ads-tmpl: Add entries for pragma Independent[_Components]
+
+2010-10-08  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_aggr.adb (Propagate_Discriminants): When expanding an aggregate
+       component with box initialization, if the component is a variant record
+       use the values of the discriminants to select the proper variant for
+       further box initialization.
+
+2010-10-08  Thomas Quinot  <quinot@adacore.com>
+
+       * xsnames.adb: Remove obsolete file.
+       * make.adb, sem_ch8.adb, einfo.ads: Minor reformatting.
+
+2010-10-08  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_aggr.adb: Complete previous change.
+
+2010-10-08  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Check_Return_Subtype): The subtype indication in an
+       extended return must match statically the return subtype of the
+       enclosing function if the type is an elementary type or if it is
+       constrained.
+
+2010-10-08  Vincent Celier  <celier@adacore.com>
+
+       * prj-nmsc.adb (Add_Source): Report all duplicate units and source file
+       names.  Do not report the same duplicate unit several times.
+       * prj.ads (Source_Data): New Boolean component Duplicate_Unit,
+       defaulted to False, to avoid reporting the same unit as duplicate
+       several times.
+
+2010-10-08  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_aggr.adb (Resolve_Array_Aggregate): If the expression in an
+       others choice is a literal analyze it now to enable later optimizations.
+       * exp_aggr.adb (Expand_Record_Aggregate): An aggregate with static size
+       and components can be handled by the backend even if it is of a limited
+       type.
+
+2010-10-08  Arnaud Charlet  <charlet@adacore.com>
+
+       * a-rttiev.adb (task Timer): Since this package may be elaborated
+       before System.Interrupt, we need to call Setup_Interrupt_Mask
+       explicitly to ensure that this task has the proper signal mask.
+
+2010-10-08  Robert Dewar  <dewar@adacore.com>
+
+       * freeze.adb (Freeze_Entity): For array case, move some processing for
+       pragma Pack, Component_Size clause and atomic/volatile components here
+       instead of trying to do the job in Sem_Ch13 and Freeze.
+       * layout.adb: Use new Addressable function
+       * sem_ch13.adb (Analyze_Attribute_Representation_Clause, case
+       Component_Size): Move some handling to freeze point in
+       Freeze.Freeze_Entity.
+       * sem_prag.adb (Analyze_pragma, case Pack): Move some handling to
+       freeze point in Freese.Freeze_Entity.
+       * sem_util.ads, sem_util.adb (Addressable): New function.
+
+2010-10-08  Robert Dewar  <dewar@adacore.com>
+
+       * sprint.adb: Minor reformatting.
+
+2010-10-08  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch4.adb (Real_Range_Check): Declare temporary as constant.
+
+2010-10-08  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch3.adb: Minor reformatting.
+
+2010-10-08  Vincent Celier  <celier@adacore.com>
+
+       * ali-util.adb (Get_File_Checksum): Make sure that external_as_list is
+       not a reserved word.
+       * prj-proc.adb (Expression): Process string list external references.
+       * prj-strt.adb (External_Reference): Parse external_as_list external
+       references.
+       * prj-tree.ads (Expression_Kind_Of): Allowed for N_External_Value nodes
+       (Set_Expression_Kind_Of): Ditto
+       * prj.adb (Initialize): Set external_as_list as a reserved word
+       * projects.texi: Document new string external reference external_as_list
+       * scans.ads (Token_Type): New token Tok_External_As_List
+       * snames.ads-tmpl: New standard name Name_External_As_List
+
+2010-10-08  Thomas Quinot  <quinot@adacore.com>
+
+       * sem_prag.adb: Minor reformatting.
+
+2010-10-08  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Derived_Type_Declaration): In the private part of an
+       instance, it is legal to derive from a non-limited actual when the
+       formal type is untagged limited.
+       * sem_ch12.adb (Instantiate_Type): For a formal private type, use
+       analyzed formal as Generic_Parent_Type, to simplify later checks.
+
+2010-10-08  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_res.adb (Insert_Default): If default value is already a
+       raise_constraint_error do not rewrite it as new raise node, to prevent
+       infinite loops in the warning removal machinery.
+
+2010-10-08  Robert Dewar  <dewar@adacore.com>
+
+       * sem_util.adb, sem_prag.adb: Minor reformatting
+
+2010-10-08  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * gnat_rm.texi: Remove the section on pragma Implemented_By_Entry.
+       Add section on pragma Implemented.
+
+2010-10-08  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Derive_Subprogram): If an abstract extension has a
+       concrete parent with a concrete constructor, the inherited constructor
+       is abstract even if the derived type is a null extension.
+
+2010-10-08  Thomas Quinot  <quinot@adacore.com>
+
+       * sem_ch4.adb: Minor reformatting.
+
+2010-10-08  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * einfo.adb: Flag 232 (formerly Implemented_By_Entry) is now unused.
+       (Implemented_By_Entry): Removed.
+       (Set_Implemented_By_Entry): Removed.
+       (Write_Entity_Flags): Remove the output for Implemented_By_Entry.
+       * einfo.ads: Remove flag Implemented_By_Entry and its usage in entities.
+       (Implemented_By_Entry): Removed along with its associated pragma Inline.
+       (Set_Implemented_By_Entry): Removed along with its associated pragma
+       Inline.
+       * exp_ch9.adb: Alphabetize with and use clauses of Exp_Ch9.
+       (Build_Dispatching_Call_Equivalent): New routine.
+       (Build_Dispatching_Requeue): New routine.
+       (Build_Dispatching_Requeue_To_Any): New routine.
+       (Build_Normal_Requeue): New routine.
+       (Build_Skip_Statement): New routine.
+       (Expand_N_Requeue_Statement): Rewritten. The logic has been split into
+       several subroutines.
+       * par-prag.adb: Replace Pragma_Implemented_By_Entry by
+       Pragma_Implemented.
+       * sem_ch3.adb (Check_Abstract_Overriding): Perform checks concerning
+       pragma Implemented.
+       (Check_Pragma_Implemented): New routines.
+       (Inherit_Pragma_Implemented): New routine.
+       * sem_ch9.adb (Analyze_Requeue): Update the predicate which detects a
+       dispatching requeue.
+       * sem_prag.adb: Update array Sig_Flags by removing Implemented_By_Entry
+       and adding Implemented.
+       (Ada_2012_Pragma): New routine.
+       (Analyze_Pragma, case Implemented): Perform all necessary checks
+       concerning pragma Implemented and register the pragma as a
+       representation item with the procedure_LOCAL_NAME.
+       (Analyze_Pragma, case Implemented_By_Entry): Removed.
+       * sem_util.adb (Implementation_Kind): New routine.
+       * sem_util.ads (Implementation_Kind): New routine.
+       * snames.ads-tmpl: Remove Name_Implemented_By_Entry and add
+       Name_Implemented. Remove pragma name Pragma_Implemented_By_Entry and
+       add Pragma_Implemented. Add special names By_Any, By_Entry and
+       By_Protected_Procedure.
+
+2010-10-08  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch3.adb (Expand_Freeeze_Record_Type): Code cleanup: remove local
+       variable Has_Static_DT by invocation of function Building_Static_DT.
+
+2010-10-08  Vincent Celier  <celier@adacore.com>
+
+       * g-dirope.adb (Remove_Dir): Do not change the current directory when
+       doing a recursive remove of a subdirectory.
+
+2010-10-08  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch6.ad (Freeze_Subprogram): Factorize code.
+       * exp_disp.adb (Make_Secondary_DT): Factorize code.
+       (Make_DT): Factorize code.
+
+2010-10-08  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch4.adb: Minor reformatting.
+
+2010-10-08  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch6.adb (Check_Conformance): Check null exclusion match for full
+       conformance.
+
+2010-10-08  Thomas Quinot  <quinot@adacore.com>
+
+       * sem_ch12.adb (Instantiate_Object): Rename Formal_Id to Gen_Obj, for
+       consistency with Gen_T in Instantiate_Type.
+       Introduce constant A_Gen_Obj to avoid repeated queries for
+       Defining_Identifier (Analyzed_Formal).
+
+2010-10-08  Vincent Celier  <celier@adacore.com>
+
+       * prj-nmsc.adb: Minor comment fix.
+
+2010-10-07  Robert Dewar  <dewar@adacore.com>
+
+       * sem_prag.adb, sem_ch13.adb: Implement AI05-0012-1/02.
+       * gcc-interface/Make-lang.in: Update dependencies.
+
+2010-10-07  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.ad: (Instantiate_Object): For an in-out formal of a child
+       unit, if the type of the formal is declared in a parent unit and is not
+       a formal itself, the actual must be located from an enclosing parent
+       instance by normal visibility.
+
+2010-10-07  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Analyze_Allocator): In Ada 2012, a null_exclusion
+       indicator is illegal for an uninitialized allocator.
+
+2010-10-07  Robert Dewar  <dewar@adacore.com>
+
+       * sem_prag.adb (Analyze_Attribute_Definition_Clause, case
+       Component_Size): Complete previous change.
+
+2010-10-07  Vincent Celier  <celier@adacore.com>
+
+       * scng.adb (Scan): Call Accumulate_Token_Checksum for Tok_Identifier,
+       even for keywords, to avoid having the checksum to depend on the Ada
+       version.
+
+2010-10-07  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_aggr.adb, sem_ch12.adb, sem_ch6.adb, par-ch5.adb,
+       exp_ch3.adb: Minor reformatting.
+
+2010-10-07  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
+       Component_Size): It is now illegal to give an incorrect component size
+       clause in the case of aliased or atomic components.
+       * sem_prag.adb (Analyze_Pragma, case Pack): It is now illegal to give
+       an effective pragma Pack in the case of aliased or atomic components.
+
+2010-10-07  Steve Baird  <baird@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Allocator): Do not bypass expansion
+       in the case of a violation of an active No_Task_Hierarchy restriction.
+
+2010-10-07  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Validate_Derived_Type_Instance): If a formal derived
+       type is non-limited, an actual for it cannot be limited.
+
 2010-10-07  Robert Dewar  <dewar@adacore.com>
 
        * einfo.ads (No_Pool_Assigned): Update documentation.