config.gcc: Match arm*-*-linux-* for ARM Linux/GNU.
[gcc.git] / gcc / ada / ChangeLog
index c48bf74671bc3ea3fcfb93bb8b1c2311d40e5d13..6aa07b00c9c96fb254ca844696cec1f5a86acd18 100644 (file)
+2012-10-15  Matthias Klose  <doko@ubuntu.com>
+
+       * gcc-interface/Makefile.in: Match arm*-*-linux-*eabi* for
+       ARM Linux/GNU.
+
+2012-10-05  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch7.adb: Minor reformatting.
+
+2012-10-05  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma, case Persistent_BSS): check for
+       a duplicate pragma before Rep_Item_Too_Late to prevent spurious
+       messages about duplicate pragmas.
+
+2012-10-05  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_util.adb (Find_Init_Call): If the successor of the
+       object declaration is a block, check whether it contains the
+       initialization call, because it may have been created by actuals
+       that use the secondary stack.
+
+2012-10-05  Thomas Quinot  <quinot@adacore.com>
+
+       * sem_dim.adb, errout.adb, errout.ads (Analyze_Dimension_Call): Add
+       guard against abnormal tree resulting from a previously diagnosed
+       illegality.
+
+2012-10-05  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * freeze.adb (Freeze_Expression): Rename local variable Cspc to Spec
+       and update all refs to it. Do not freeze an entity outside a subprogram
+       body when the original context is an expression function.
+
+2012-10-05  Robert Dewar  <dewar@adacore.com>
+
+       * gnat1drv.adb (Adjust_Global_Switches): Default for overflow checking
+       is suppressed, even if backend overflow/divide checks are enabled.
+
+2012-10-05  Ed Schonberg  <schonberg@adacore.com>
+
+       * einfo.adb (Set_Invariant_Procedure, Set_Predicate_Function):
+       chain properly subprograms on Subprograms_For_Type list.
+       * sem_ch13.ads; (Build_Invariant_Procedure_Declaration): new
+       procedure, to create declaration for invariant procedure
+       independently of the construction of the body, so that it can
+       be called within expression functions.
+       * sem_ch13.adb (Build_Invariant_Procedure): code cleanup. The
+       declaration may already have been generated at the point an
+       explicit invariant aspect is encountered.
+       * sem_prag.adb; (Analyze_Pragma, case Invariant): create declaration
+       for invariant procedure.
+       * sem_ch7.adb (Analyze_Package_Specification): clean up call to
+       build invariant procedure.
+       (Preserve_Full_Attributes): propagate information about invariants
+       if they appear on a completion,
+
+2012-10-05  Pascal Obry  <obry@adacore.com>
+
+       * gnat_ugn.texi: Update documentation to lift Microsoft C
+       restriction.
+
+2012-10-05  Robert Dewar  <dewar@adacore.com>
+
+       * sem_util.adb (Has_One_Matching_Field): Handle case of lone
+       discriminant.
+
+2012-10-05  Yannick Moy  <moy@adacore.com>
+
+       * checks.adb (Minimize_Eliminate_Overflow_Checks): Correct code
+       for the division operation and exponent operation. Adjust bound
+       for the mod and rem operations.
+
+2012-10-05  Robert Dewar  <dewar@adacore.com>
+
+       * checks.adb, checks.ads, s-tassta.adb, s-stposu.adb, s-spsufi.adb,
+       s-spsufi.ads, exp_ch4.adb: Minor reformatting.
+
+2012-10-05  Yannick Moy  <moy@adacore.com>
+
+       * switch-c.adb, checks.adb, checks.ads, sem_prag.adb, exp_ch4.adb,
+       osint.adb: Minor correction of typos, and special case for Alfa mode.
+
+2012-10-05  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * s-spsufi.adb: Add with clause for Ada.Unchecked_Deallocation.
+       Add with and use clauses for System.Finalization_Masters.
+       (Finalize_And_Deallocate): Add an instance of
+       Ada.Unchecked_Deallocation. Merge the code from the now obsolete
+       Finalize_Subpool into this routine.
+       * s-spsufi.ads: Add pragma Preelaborate.
+       * s-stposu.adb: Remove with clause for
+       Ada.Unchecked_Deallocation; Add with and use clauses for
+       System.Storage_Pools.Subpools.Finalization; (Finalize_Pool):
+       Update the comment on all actions takes with respect to a subpool
+       finalization. Finalize and deallocate each individual subpool.
+       (Finalize_Subpool): Removed.
+       (Free): Removed;
+       (Detach): Move from package body to spec.
+       * s-stposu.ads (Detach): Move from package body to spec.
+       (Finalize_Subpool): Removed.
+
+2012-10-05  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-tassta.adb: Update comments.
+       (Vulnerable_Complete_Master): If Free_On_Termination is set, do
+       nothing, and let the task free itself if not already done.
+
+2012-10-04  Robert Dewar  <dewar@adacore.com>
+
+       * sem_res.adb (Resolve_Set_Membership): Warn on duplicates.
+
+2012-10-04  Emmanuel Briot  <briot@adacore.com>
+
+       * g-comlin.adb (Getopt): Fix value of Full_Switch returned in case of
+       invalid switch.
+
+2012-10-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * gcc-interface/Make-lang.in: Update dependencies.
+
+2012-10-04  Robert Dewar  <dewar@adacore.com>
+
+       * sem_eval.adb (Fold_Str, Fold_Uint, Fold_Ureal): Reset static
+       expression state after Resolve call.
+
+2012-10-04  Robert Dewar  <dewar@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma. case Warnngs): Don't make entry
+       in the table for Warnings Off pragmas if within an instance.
+
+2012-10-04  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch9.adb (Analyze_Entry_Body): Transfer
+       Has_Pragma_Unreferenced flag from entry formal to corresponding
+       entity in body, to prevent spurious warnings when pragma is
+       present.
+
+2012-10-04  Robert Dewar  <dewar@adacore.com>
+
+       * s-bignum.adb (Big_Exp): Raise Storage_Error for ludicrously
+       large results.
+
+2012-10-04  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Check_Duplicate_Aspects): Diagnose properly
+       aspects that appear in the partial and the full view of a type.
+
+2012-10-04  Robert Dewar  <dewar@adacore.com>
+
+       * sinfo.ads (N_Return_Statement): Removed.
+
+2012-10-04  Tristan Gingold  <gingold@adacore.com>
+
+       * init.c (__gl_zero_cost_exceptions): Comment it as not used
+       anymore.
+       * bindgen.adb (Gen_Adainit): Do not emit Zero_Cost_Exceptions
+       anymore.
+
+2012-10-04  Thomas Quinot  <quinot@adacore.com>
+
+       * prep.adb, prepcomp.adb, gprep.adb, opt.ads: New preprocessor switch
+       -a (all source text preserved).
+
+2012-10-04  Vincent Celier  <celier@adacore.com>
+
+       * prj-proc.adb (Recursive_Process): Use project directory
+       display path name as the value of 'Project_Dir.
+
+2012-10-04  Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow):
+       Deal with case where we get a bignum operand and cannot do a
+       range analysis.
+       * sem_eval.adb (Why_Not_Static): Deal with bignum operands
+
+2012-10-04  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Find_Unary_Types): Within an instance, an
+       interpretation that involves a predefied arithmetic operator is
+       not a candidate if the corresponding generic formal type is not
+       a numeric type.
+       * sem_util.ads, sem_util.adb (Corresonding_Generic_Type): If a
+       type is a generic actual type within an instance, return the
+       corresponding formal in the generic unit, otherwise return
+       Any_Type.
+
+2012-10-04  Robert Dewar  <dewar@adacore.com>
+
+       * checks.adb (Minimize_Eliminate_Overflow_Checks): Dont reanalyze
+       if/case expression if nothing has changed (just reexpand). Stops
+       case expression from generating incorrect temporary.
+       * exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow):
+       Fix cut and paste typo for range analysis in NE (not equal) case.
+       * sem_eval.adb (Compile_Time_Compare): Small optimization to
+       catch some more cases.
+       * types.ads (Suppressed_Or_Checked): New subtype of
+       Overflow_Check_Type.
+
+2012-10-04  Javier Miranda  <miranda@adacore.com>
+
+       * exp_disp.adb (Set_CPP_Constructors_Old): Removed.
+       (Set_CPP_Constructors): Code cleanup.
+
+2012-10-04  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch10.adb (Is_Ancestor_Unit): Make global, for use elsewhere.
+       (Install_Private_with_Clauses): if clause is private and limited,
+       do not install the limited view if the library unit is an ancestor
+       of the unit being compiled.  This unusual configuration occurs
+       when compiling a unit DDP, when an ancestor P of DDP has a
+       private limited with clause on a descendant of P that is itself
+       an ancestor of DDP.
+
+2012-10-04  Vincent Celier  <celier@adacore.com>
+
+       * prj-proc.adb (Process_Package_Declaration): Use project
+       directory display path name as the value of 'Project_Dir.
+
+2012-10-04  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_util.adb (Build_Allocate_Deallocate_Proc): The subpool can be
+       given by an arbitrary name, so copy the tree to make the call's actual.
+
+2012-10-04  Robert Dewar  <dewar@adacore.com>
+
+       * s-exnllf.adb, s-exnllf.ads: Minor reformatting.
+
+2012-10-04  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_ch6.adb: Minor reformatting.
+
+2012-10-04  Pascal Obry  <obry@adacore.com>
+
+       * projects.texi: Use consistently @command{} when referencing
+       commands. Fix typos.
+
+2012-10-03  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (New_Overloaded_Entity): call
+       Append_Inherited_Subprogram when appropriate.
+       * sem_dim.adb (Analyze_Dimension_Call): Do not perform dimensional
+       analysis if call has previous semantic error.
+       * sem_util.ads, sem_util.adb (Append_Inherited_Subprogram):
+       new subprogram to handle properly the visibility of inherited
+       operations that are primitives of a type extension, when the
+       parent type and operations are declared in the same visible part.
+
+2012-10-03  Robert Dewar  <dewar@adacore.com>
+
+       * checks.adb (Minimize_Eliminate_Overflow_Checks): Properly
+       handle case of top level expression within type conversion
+       * gnat1drv.adb (Adjust_Global_Switches): Set SUPPRESSED as
+       default for overflow checking for -gnatg mode (includes run-time).
+       * sem_res.adb (Resolve_Type_Conversion): Avoid bogus warnings
+       about redundant conversions from MINIMIZED/EXTENDED mode checking
+
+2012-10-03  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Allocator_Expression): Minor code
+       reorganization and cleanup. Done to ensure proper management of
+       the C++ constructor covering tagged and untagged types and also
+       non-default constructors.
+       * exp_ch6.ads, exp_ch6.adb (Make_CPP_Constructor_Call_In_Allocator):
+       New subprogram.
+
+2012-10-03  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch6.adb: Minor typo fix.
+
+2012-10-03  Robert Dewar  <dewar@adacore.com>
+
+       * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
+       Set Top_Level properly (to False) for operand of range of
+       membership test.
+       * exp_ch4.adb (Expand_Membership_Minimize_Eliminate_Overflow):
+       Fix crash with -gnato3 and membership operations.
+       (Expand_Membership_Minimize_Eliminate_Overflow): Fix error message
+       and wrong results for -gnato3 large expression and predicated
+       subtype.
+       (Expand_Membership_Minimize_Eliminate_Overflow): Use
+       expression action node to avoid using insert actions (bombs in
+       some cases).
+       (Expand_Compare_Minimize_Eliminate_Overflow): Use expression action
+       node to avoid using insert actions (bombs in some cases).
+
+2012-10-03  Javier Miranda  <miranda@adacore.com>
+
+       * exp_disp.adb (Set_CPP_Constructors_Old): Handle constructor of
+       untagged type that has all its parameters with defaults and hence it
+       covers the default constructor.
+
+2012-10-03  Yannick Moy  <moy@adacore.com>
+
+       * checks.adb, sem_prag.adb, s-bignum.ads: Minor typo fixes.
+
+2012-10-03  Thomas Quinot  <quinot@adacore.com>
+
+       * g-socket.adb (Connect_Socket, version with timeout): When the
+       newly-connected socket is reported as available for writing, check
+       whether it has a pending asynchronous error prior to returning.
+
+2012-10-03  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Check_Conformance): Additional info when subtype
+       conformance fails, due to a missing null exclusion indicatar in
+       a formal that must match a controlling access formal.
+
+2012-10-02  Ben Brosgol  <brosgol@adacore.com>
+
+       * gnat_rm.texi: Minor editing.
+
+2012-10-02  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Analyze_Function_Return): Reject a return
+       expression whose type is a local access to subprogram type.
+
+2012-10-02  Robert Dewar  <dewar@adacore.com>
+
+       * sem_eval.adb: Minor improvement to Compile_Time_Compare.
+
+2012-10-02  Robert Dewar  <dewar@adacore.com>
+
+       * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
+       Fix base type problem that resulted in improper conversion.
+       (Minimize_Eliminate_Overflow_Checks): Properly handle top
+       level case to avoid unnecessary conversion to bignum or LLI.
+       (Minimize_Eliminate_Overflow_Checks): Implement uniform two phase
+       approach for arithmetic operators and for if/case expressions.
+       * checks.ads: Minor comment fix.
+       * exp_ch4.adb (Minimized_Eliminated_Overflow_Check): New function,
+       implements a uniform way of treating minimized/eliminated checks in
+       two phases.
+       (Expand_Compare_Minimize_Eliminate_Overflow): Fix cut and
+       paste error resulting in wrong results for less than in some
+       cases.  (Expand_Membership_Minimize_Eliminate_Overflow):
+       Fix error caused by incorrect capture of operand types.
+       (Expand_Membership_Minimize_Eliminate_Overflow): Fix error in
+       handling of bignum case.
+       (Expand_N_Case_Expression): Implement
+       proper two phase handling (Expand_N_If_Expression): Implement
+       proper two phase handling (Expand_N_Op_Abs): Implement proper
+       two phase handling ditto for all other arithmetic operators
+       * sem_res.adb (Resolve_If_Expression): Avoid introducing
+       unneeded conversions.
+
+2012-10-02  Robert Dewar  <dewar@adacore.com>
+
+       * s-bignum.adb (Big_Exp): 0**0 should be 1, not 0.
+       (Big_Exp): Fix possible error for (-1)**0.
+       (Big_Exp): Fix error in computing 2**K for small K.
+       (Big_Mod): Fix wrong sign for negative operands.
+       (Div_Rem): Fix bad results for operands close to 2**63.
+       * s-bignum.ads: Add documentation and an assertion to require
+       LLI size to be 64 bits.
+       * sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Do not
+       allow ELIMINATED if LLI'Size is other than 64 bits.
+       * switch-c.adb (Scan_Switches): Do not allow -gnato3 if LLI'Size
+       is not 64 bits.
+       * switch.ads (Bad_Switch): Add missing pragma No_Return.
+       * gnat_ugn.texi: Added appendix on Overflow Check Handling in GNAT.
+
+2012-10-02  Robert Dewar  <dewar@adacore.com>
+
+       * sem_type.adb: Minor reformatting.
+
+2012-10-02  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch8.adb: Minor reformatting.
+
+2012-10-02  Javier Miranda  <miranda@adacore.com>
+
+       * exp_disp.adb (Set_CPP_Constructors): Handle constructor with default
+       parameters that covers the default constructor.
+
+2012-10-02  Yannick Moy  <moy@adacore.com>
+
+       * s-bignum.adb: Minor stylistic and comment corrections.
+
+2012-10-02  Pascal Obry  <obry@adacore.com>
+
+       * prj-util.adb (For_Interface_Sources): Iterate over all sources in
+       aggregate library projects.
+
+2012-10-02  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch8.adb (Find_Direct_Name): The left-hand side of an
+       assignment may designate a generalized reference.
+
+2012-10-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * types.h (N_Return_Statement): Delete.
+       * gcc-interface/trans.c (gnat_to_gnu): Replace N_Return_Statement with
+       N_Simple_Return_Statement.
+
+2012-10-02  Ed Schonberg  <schonberg@adacore.com>
+
+       * freeze.adb (Freeze_Entity): in a generic context, aspects must
+       be analyzed because they may be queried subsequently within the
+       generic unit, even if no other freezing actions are generated
+       for an entity.
+       * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): iterator
+       aspects must be analyzed because they are delayed aspects and
+       the corresponding attribute definition clause may not have been
+       analyzed yet.
+
+2012-10-02  Yannick Moy  <moy@adacore.com>
+
+       * gnat_rm.texi: Minor editing.
+
+2012-10-02  Robert Dewar  <dewar@adacore.com>
+
+       * sinfo.adb, sinfo.ads, sem_util.adb, sem_util.ads, types.h,
+       exp_ch4.adb, exp_ch6.adb: Get rid of internal use of N_Return_Statement.
+
+2012-10-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * types.h: Minor cosmetic fix.
+
+2012-10-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interfaces/decl.c (elaborate_expression_1): Use the variable for
+       bounds of loop iteraration scheme only for locally defined subtypes.
+
+       * gcc-interface/trans.c (gigi): Fix formatting.
+       (build_return_expr): Apply the NRV optimization only for BLKmode.
+
+2012-10-02  Robert Dewar  <dewar@adacore.com>
+
+       * sinfo.ads: Remove refs of N_Conditional_Expression and
+       N_Parameterized_Expression.
+
+2012-10-02  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_aggr.adb (Get_Component_Val): Rewrite code that computes
+       justification of bits in enclosing word in an attempt to make
+       it clearer.
+
+2012-10-02  Robert Dewar  <dewar@adacore.com>
+
+       * par_sco.adb, sem_ch3.adb, layout.adb, exp_ch7.adb, exp_imgv.adb,
+       exp_util.adb, exp_util.ads, exp_attr.adb, sinfo.adb, sinfo.ads,
+       exp_ch9.adb, style.ads, scos.ads, debug.adb, einfo.ads, scng.adb,
+       checks.adb, checks.ads, sem.adb, par-ch4.adb, sem_util.adb, types.h,
+       sem_res.adb, expander.adb, scans.ads, par.adb, exp_ch2.adb,
+       gnat1drv.adb, stylesw.ads, sem_elab.adb, exp_ch4.adb, exp_ch4.ads,
+       exp_ch6.adb, sem_ch4.adb, sem_ch4.ads, sem_ch6.adb,
+       opt.ads, sem_eval.adb, sem_eval.ads, exp_intr.adb, sprint.adb,
+       sprint.ads, styleg.ads: Change name Conditional_Expression to
+       If_Expression.
+       * gcc-interface/trans.c (gnat_to_gnu): Replace
+       N_Conditional_Expression by N_If_Expression.
+       * gcc-interface/Make-lang.in: Update dependencies.
+
+2012-10-02  Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Op_Expon): Use expression with actions
+       for x ** 4.
+
+2012-10-02  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch5.adb: (Analyze_Iterator_Specification): If container
+       has a variable indexing aspect, the element is a variable and
+       is modifiable in the loop. This check is also performed when the
+       loop is expanded, but it must be done in semantic analysis when
+       expansion is disabled, for example for ASIS usage.
+
+2012-10-02  Ed Schonberg  <schonberg@adacore.com>
+
+       * lib-xref.adb (Generate_Reference): If a child subprogram
+       has no previous spec, treat a reference to its formals (such
+       as a parameter association) as coming from source in order to
+       generate the proper references and enable gps navigation between
+       reference and declaration.
+
+2012-10-02  Robert Dewar  <dewar@adacore.com>
+
+       * checks.adb (Apply_Arithmetic_Overflow_Checked_Suppressed):
+       New name for Apply_Arithmetic_Overflow_Normal
+       (Apply_Arithmetic_Overflow_Minimized_Eliminated):
+       Add handling for conditional expressions
+       (Is_Signed_Integer_Arithmetic_Op): Now includes conditional
+       expressions (Minimize_Eliminate_Overflow_Checks): Handle
+       conditional expressions.
+       * checks.ads: Minor comment fixes.
+       * exp_ch4.adb (Expand_N_Case_Expression): Call
+       Apply_Arithmetic_Overflow_Check (Expand_N_Conditional_Expression):
+       Call Apply_Arithmetic_Overflow_Check
+       * s-bignum.adb (Normalize): Remove incorrect precondition.
+       * sem_res.adb (Resolve_Case_Expression): Set Do_Overflow_Check
+       flag (Resolve_Conditional_Expression): Set Do_Overflow_Check flag.
+       * sinfo.adb: Add Do_Overflow_Check for conditional expressions.
+       * sinfo.ads: Minor documentation updates.
+
+2012-10-02  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Case_Expression): Do not introduce
+       indirections when the type of the alternatives is an access type:
+       more efficient, and removes anomalies when an alternative is
+       statically null.
+
+2012-10-02  Robert Dewar  <dewar@adacore.com>
+
+       * aspects.ads: Minor comment addition (Invariant is a GNAT aspect).
+
+2012-10-02  Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch7.adb, sem_dim.adb, sem_dim.ads, prj-part.adb, checks.adb,
+       freeze.adb, sem_ch4.adb, sem_ch13.adb: Minor reformatting.
+
+2012-10-02  Robert Dewar  <dewar@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Fix
+       typo preventing proper processing of Overflow_Checks pragmas
+       for general case.
+
+2012-10-02  Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Op_Mod): Fix crash in ELIMINATED overflow
+       checks mode when bignum mode is used.
+
+2012-10-02  Robert Dewar  <dewar@adacore.com>
+
+       * stylesw.ads, gnat_ugn.texi: Document new style rule for NOT IN.
+       * par-ch4.adb (P_Relational_Operator): Add style check for NOT IN.
+       * style.ads, styleg.adb, styleg.ads (Check_Not_In): New procedure.
+
+2012-10-02  Vincent Pucci  <pucci@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Check dimension for attribute
+       Old before it gets expanded.
+       * sem_dim.adb (Analyze_Dimension_Has_Etype): Correctly propagate
+       dimensions for identifier.
+
+2012-10-02  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch5.adb (Expand_Iterator_Loop): Handle properly the case
+       where the iterator type is derived locally from an instantiation
+       of Ada.Iterators_Interface.
+       * exp_ch7.adb (Establish_Transient_Scope): Do not create a
+       transient scope if within the expansion of an iterator loop,
+       because a transient block already exists.
+
+2012-10-02  Vincent Celier  <celier@adacore.com>
+
+       * gnatcmd.adb: Use absolute path for configuration pragmas files
+       * make.adb (Configuration_Pragmas_Switch.Absolute_Path): Moved
+       to Makeutl.
+       * makeutl.ads, makeutl.adb (Absolute_Path): New function, moved from
+       make.adb.
+
+2012-10-02  Vincent Celier  <celier@adacore.com>
+
+       * prj-part.adb (Post_Parse_Context_Clause): Resurrect Boolean
+       parameter In_Limited.  Check for circularity also if In_Limited
+       is True.
+       (Parse_Single_Project): Call Post_Parse_Context_Clause with
+       In_Limited parameter.
+
+2012-10-02  Bob Duff  <duff@adacore.com>
+
+       * checks.adb (Apply_Predicate_Check): Disable check in -gnatc mode.
+
+2012-10-02  Vincent Pucci  <pucci@adacore.com>
+
+       * sem_ch6.adb (Analyze_Function_Call): Dimension propagation
+       for function calls moved to Analyze_Dimension_Call.
+       * sem_dim.adb (Analyze_Dimension_Call): Properly propagate the
+       dimensions from the returned type for function calls.
+
+2012-10-02  Vincent Celier  <celier@adacore.com>
+
+       * gnatcmd.adb: Take into account any configuration pragma file
+       in the project files for gnat pretty/stub/metric.
+
+2012-10-02  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch13.adb (Check_Indexing_Functions): Refine several tests
+       on the legality of indexing aspects: Constant_Indexing functions
+       do not have to return a reference type, and given an indexing
+       aspect Func, not all overloadings of Func in the current scope
+       need to be indexing functions.
+
+2012-10-02  Vasiliy Fofanov  <fofanov@adacore.com>
+
+       * gnat_ugn.texi: Adjust docs for overflow checks to be VMS-friendly.
+
+2012-10-02  Vincent Celier  <celier@adacore.com>
+
+       * switch-m.adb (Normalize_Compiler_Switches): Recognize switches
+       -gnatox and -gnatoxx when x=0/1/2/3.
+
+2012-10-02  Vincent Pucci  <pucci@adacore.com>
+
+       * sem_ch4.adb (Analyze_Indexed_Component_Form): Dimension
+       analysis for indexed components added.
+       * sem_ch6.adb (Analyze_Function_Call): Dimension propagation
+       for function calls added.
+       * sem_dim.adb (Analyze_Dimension): Call to
+       Analyze_Dimension_Has_Etype when N is a function call.
+       (Analyze_Dimension_Call): Don't propagate anymore the dimensions
+       for function calls since this is now treated separately in
+       Analyze_Dimension_Has_Etype.
+       (Analyze_Dimension_Has_Etype): For
+       attribute references, propagate the dimensions from the prefix.
+       * sem_dim.ads (Copy_Dimensions): Fix comment.
+
+2012-10-02  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * checks.ads, checks.adb (Apply_Parameter_Aliasing_Checks): New routine.
+       (Apply_Parameter_Aliasing_And_Validity_Checks): This routine
+       has been split into two.
+       (Apply_Parameter_Validity_Checks): New routine.
+       * exp_ch6.adb (Expand_Call): Add checks to verify that actuals
+       do not overlap. The checks are made on the caller side to overcome
+       issues of parameter passing mechanisms.
+       * freeze.adb (Freeze_Entity): Update call to
+       Apply_Parameter_Aliasing_And_Validity_Checks.
+
+2012-10-02  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Is_Empty_Range): Use bounds of index type
+       to determine whether an array is empty when optimizing
+       a quantified expression over a null range. Use of RM_Size
+       was incorrect. Analyze condition before constant-folding the
+       expression to catch potential errors. Modify the error message
+       to avoid mathematical terminology.
+
+2012-10-02  Robert Dewar  <dewar@adacore.com>
+
+       * usage.adb, gnat_rm.texi, vms_data.ads: Add entry for
+       /OVERFLOW_CHECKS=?? generating -gnato?? for control
+       of extended overflow checking.
+       * ug_words: Add entry for -gnato?? for /OVERFLOW_CHECKS=??
+       * gnat_ugn.texi: Add documentation for -gnato?? for control of overflow
+       checking mode.
+
+2012-10-02  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Analyze_Quantified_Expression): If the iterator in
+       a quantified expression is statically known to be null (e.g. a
+       array with an empty index type) emit a warning.
+
+2012-10-02  Robert Dewar  <dewar@adacore.com>
+
+       * sem_dim.adb: Minor code reorganization.
+       * sem_dim.ads: Add comment.
+
+2012-10-02  Robert Dewar  <dewar@adacore.com>
+
+       * checks.ads, exp_ch4.adb, checks.adb
+       (Minimize_Eliminate_Overflow_Checks): Add Top_Level parameter to avoid
+       unnecessary conversions to Bignum.
+       Minor reformatting.
+
+2012-10-02  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Process_PPCs): Generate invariant checks for a
+       return value whose type is an access type and whose designated
+       type has invariants. Ditto for in-out parameters and in-parameters
+       of an access type.
+       * exp_ch3.adb (Build_Component_Invariant_Call): Add invariant check
+       for an access component whose designated type has invariants.
+
+2012-10-01  Vincent Pucci  <pucci@adacore.com>
+
+       * sem_aggr.adb (New_Copy_Tree_And_Copy_Dimensions): New routine.
+       (Resolve_Record_Aggregate): New_Copy_Tree calls replaced by
+       New_Copy_Tree_And_Copy_Dimensions calls. Move_Dimensions call
+       replaced by Copy_Dimensions call.
+       * sem_dim.adb (Analyze_Dimension_Component_Declaration): Don't
+       remove the dimensions of expression in component declaration anymore.
+       (Copy_Dimensions): New routine.
+       (Move_Dimensions): Add call to Copy_Dimensions.
+       * sem_dim.ads (Copy_Dimensions): New routine.
+       (Move_Dimensions): Spec moved to body of Sem_Dim.
+
+2012-10-01  Ed Schonberg  <schonberg@adacore.com>
+
+       * checks.adb (Apply_Predicate_Check): If the predicate is a
+       static one and the operand is static, evaluate the predicate at
+       compile time.
+       * sem_eval.ads, sem_eval.adb (Eval_Static_Predicate_Check): new
+       procedure, to evaluate a static predicate check whenever possible.
+       * sem_res.adb (Resolve_Type_Conversion): Apply predicate check
+       on the conversion if the target type has predicates.
+
+2012-10-01  Vincent Pucci  <pucci@adacore.com>
+
+       * sem_dim.adb (Has_Symbols): Complain if parameter Symbol has been
+       provided by the user in the dimension output call.
+
+2012-10-01  Robert Dewar  <dewar@adacore.com>
+
+       * checks.adb (Apply_Divide_Checks): New name for
+       Apply_Divide_Check (Minimize_Eliminate_Overflow_Checks):
+       Add code to handle division (and rem and mod) properly.
+       (Apply_Division_Check): New procedure (Apply_Divide_Checks):
+       Use Apply_Division_Check (Apply_Divide_Checks): Use
+       Apply_Arithmetic_Overflow_Minimized_Eliminated.
+       * checks.ads (Apply_Divide_Checks): New name for
+       Apply_Divide_Check, also add clearer documentation for this
+       routine and put in alfa order.
+       * exp_ch4.adb (Apply_Divide_Checks): New name for
+       Apply_Divide_Check.
+       * s-bignum.adb (To_Bignum): Handle largest negative integer
+       properly.
+       * sem.adb (Analyze): Handle overflow suppression correctly
+       (Analyze_List): Handle overflow suppression correctly
+       * sem_res.adb (Analyze_And_Resolve): Handle overflow suppression
+       correctly.
+
+2012-10-01  Vasiliy Fofanov  <fofanov@adacore.com>
+
+       * s-oscons-tmplt.c, g-socket.ads: Revert previous change, breaks VMS.
+
+2012-10-01  Robert Dewar  <dewar@adacore.com>
+
+       * checks.adb (Minimize_Eliminate_Overflow_Checks): Changes
+       for exponentiation.
+       * exp_ch4.adb (Expand_N_Op_Expon): Changes for Minimize/Eliminate
+       overflow checks.
+       * s-bignum.adb (Compare): Fix bad precondition.
+
+2012-10-01  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Build_Derived_Record_Type): If the derived
+       type has new discriminantss that constrain inherited ones, use
+       the discriminant type in the original declaration to check for
+       conformance, because in the presence of array components with a
+       smaller range that are constrained by the origina discriminant,
+       the compiler will have created a narrower subtype for that
+       discriminant.
+
+2012-10-01  Robert Dewar  <dewar@adacore.com>
+
+       * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
+       Handle case of appearing in range in membership test.
+       * exp_ch4.adb (Expand_Membership_Minimize_Eliminate_Overflow):
+       New procedure (Expand_N_In): Use
+       Expand_Membership_Minimize_Eliminate_Overflow.
+       * rtsfind.ads: Add RE_Bignum_In_LLI_Range.
+       * s-bignum.ads, s-bignum.adb (Bignum_In_LLI_Range): New function.
+       * sinfo.ads, sinfo.adb (No_Minimize_Eliminate): New flag.
+
+2012-10-01  Robert Dewar  <dewar@adacore.com>
+
+       * uintp.ads: Minor reformatting.
+
+2012-10-01  Ed Schonberg  <schonberg@adacore.com>
+
+       * checks.adb: Improve warning message.
+
+2012-10-01  Robert Dewar  <dewar@adacore.com>
+
+       * checks.adb: Minor reformatting.
+
+2012-10-01  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch3.adb (Expand_N_Object_Declaration): Suppress tag
+       assignment for initializations that are aggregates.
+
+2012-10-01  Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow):
+       New procedure.
+
+2012-10-01  Robert Dewar  <dewar@adacore.com>
+
+       * checks.adb (Minimize_Eliminate_Checks): Changes from testing.
+       (Apply_Arithmetic_Overflow_Minimized_Eliminated): Changes
+       from testing.
+       * sinfo.ads: Remove note on not setting Entity field in overflow
+       case since this is no longer true.
+       * Makefile.rtl: Add s-bignum.o
+
+2012-10-01  Thomas Quinot  <quinot@adacore.com>
+
+       * Make-generated.in: Correction to previous change for s-oscons
+       target.
+
+2012-10-01  Thomas Quinot  <quinot@adacore.com>
+
+       * s-bignum.adb (Allocate_Bignum): Reorganize to kill strict
+       aliasing warning.
+
+2012-10-01  Robert Dewar  <dewar@adacore.com>
+
+       * checks.adb (Overflow_Check_Mode): New function
+       (Apply_Overflow_Check): New procedure (Is_Check_Suppressed):
+       Moved here from Sem, Overflow_Check case now specially treated.
+       * checks.ads (Overflow_Check_Mode): New function
+       (Is_Check_Suppressed): Moved here from Sem (more logical)
+       * exp_ch4.adb (Substitute_Valid_Check): Suppress warning about
+       optimization if we are in MINIMIZED or ELIMINATED overflow
+       checking mode and within an assertiom expression.
+       * rtsfind.ads: Add entries for Bignum stuff.
+       * s-bignum.ads, s-bignum.adb: New files.
+       * sem.ads, sem.adb (Is_Check_Suppressed): Moved to Checks, more logical.
+       * sem_prag.adb (Process_Suppress_Unsuppress): New behavior for
+       Unsuppress of Overflow_Check (sets Checked instead of Minimized)
+       * sem_res.adb: Update comments.
+       * sinfo.ads (N_Op): Add documentation on overflow handling.
+       * tbuild.ads, tbuild.adb (Convert_To_And_Rewrite): New procedure.
+       * types.ads (Minimized_Or_Eliminated): New subtype.
+
+2012-10-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * layout.adb (Layout_Type): Do not set twice the address size
+       on an access-to-unconstrained array if Debug_Flag_6 is set.
+
+2012-10-01  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch3.adb (Analyze_Declarations): Remove the specialized
+       code which prevents freezing when the declarative list contains
+       a _postconditions body. This is no longer needed because the
+       body is now inserted at the end of the declarations.
+       * sem_ch6.adb (Insert_After_Last_Declaration): New routine.
+       (Insert_Before_First_Source_Declaration): Removed.
+       (Process_PPCs): Insert the _postconditions body at the end of
+       the declarative list to prevent premature freezing of types that
+       appear in the declarations.
+
+2012-10-01  Robert Dewar  <dewar@adacore.com>
+
+       * sem_aggr.adb, sem_dim.adb: Minor reformatting.
+
+2012-10-01  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_prag.adb (Process_Convention, Process_Import_Or_Interface):
+       Adjust test so that when the pragma comes from an aspect
+       specification it only applies to the entity in the original
+       declaration.
+
+2012-10-01  Thomas Quinot  <quinot@adacore.com>
+
+       * gnat_ugn.texi: Document new command line switch -fada-spec-parent.
+
+2012-10-01  Thomas Quinot  <quinot@adacore.com>
+
+       * s-oscons-tmplt.c, g-socket.ads: Minor code improvement: use gcc
+       builtin __alignof__ to get the alignment of struct fd_set.
+
+2012-10-01  Vincent Pucci  <pucci@adacore.com>
+
+       * exp_ch6.adb (Expand_Call): Remove call to
+       Remove_Dimension_In_Call.
+       * sem_aggr.adb (Resolve_Array_Aggregate): Analyze dimension of
+       components in array aggregate.
+       (Resolve_Aggr_Expr): Propagate dimensions from the original expression
+       Expr to the new created expression New_Expr when resolving the
+       expression of a component in record aggregates.
+       (Resolve_Record_Aggregate): Analyze
+       dimension of components in record (or extension) aggregate.
+       * sem_ch6.adb (Analyze_Subprogram_Specification): Analyze
+       dimension of formals with default expressions in subprogram
+       specification.
+       * sem_ch8.adb (Analyze_Expanded_Name): Analyze dimension of
+       expanded names.
+       (Find_Selected_Component): Analyze dimension of selected component.
+       * sem_dim.adb: Several dimension error messages reformatting.
+       (Dimensions_Msg_Of): New flag Description_Needed in order to
+       differentiate two different sort of dimension error messages.
+       (Dim_Warning_For_Numeric_Literal): New routine.
+       (Exists): New routine.
+       (Move_Dimensions): Routine spec moved to spec file.
+       * sem_dim.ads (String_From_Numeric_Literal): New routine.
+       (Analyze_Dimension): Analyze dimension only when the
+       node comes from source.  Dimension analysis for expanded names added.
+       (Analyze_Dimension_Array_Aggregate): New routine.
+       (Analyze_Dimension_Call): New routine.
+       (Analyze_Dimension_Component_Declaration): Warning if default
+       expression is a numeric literal.
+       (Analyze_Dimension_Extension_Or_Record_Aggregate): New routine.
+       (Analyze_Dimension_Formals): New routine.
+       (Analyze_Dimension_Object_Declaration): Warning if default
+       expression is a numeric literal.
+       (Symbol_Of): Return either the dimension subtype symbol or the
+       dimension symbol built by From_Dim_To_Str_Of_Unit_Symbols.
+       * sem_dim.ads (Analyze_Dimension_Array_Aggregate): New routine.
+       (Analyze_Dimension_Call): New routine.
+       (Analyze_Dimension_Extension_Or_Record_Aggregate): New routine.
+       (Analyze_Dimension_Formals): New routine.
+       (Move_Dimensions): Moved from sem_dim.adb.
+       * s-dimmks.ads: Turn off the warnings for dimensioned object
+       declaration.  Dimensioned subtypes sorted in alphabetical
+       order. New subtypes Area, Speed, Volume.
+       * s-dmotpr.ads: Turn off the warnings for dimensioned object
+       declaration.
+       * sem_res.adb (Resolve_Call): Analyze dimension for calls.
+
+2012-10-01  Thomas Quinot  <quinot@adacore.com>
+
+       * Make-generated.in: Minor cleanup of all targets: use
+       MOVE_IF_CHANGE to put generated files in place, to avoid useless
+       recompilations.
+
+2012-10-01  Javier Miranda  <miranda@adacore.com>
+
+       * exp_disp.adb (Expand_Dispatching_Call): For functions returning
+       interface types add an implicit conversion to the returned object
+       to force the displacement of the pointer to the returned object
+       to reference the corresponding secondary dispatch table. This
+       is needed to handle well combined calls involving secondary
+       dispatch tables (for example Obj.Prim1.Prim2).
+       * exp_ch4.adb (Expand_Allocator_Expression): Declare internal
+       access type as access to constant or access to variable depending
+       on the context. Found working in this ticket.
+
+2012-10-01  Ed Schonberg  <schonberg@adacore.com>
+
+       * checks.adb (Apply_Predicate_Check): Do not apply check to
+       actual of predicate checking procedure, to prevent infinite
+       recursion.
+
+2012-10-01  Arnaud Charlet  <charlet@adacore.com>
+
+       * gcc-interface/Make-lang.in: Update dependencies.
+       (GCC_LINK): Add -static-libstdc++.
+
+2012-10-01  Arnaud Charlet  <charlet@adacore.com>
+
+       * a-catizo.adb, a-stwiun.adb, a-cdlili.adb, a-cihama.adb, a-direct.adb,
+       a-coinve.adb, a-calend.adb, a-ciorse.adb, a-coorma.adb, a-cfdlli.adb,
+       a-stzunb-shared.adb, a-cfhase.adb, bindgen.adb, ceinfo.adb, a-tags.adb,
+       einfo.adb, checks.adb, eval_fat.adb, a-cborma.adb, a-stwifi.adb,
+       a-tifiio.adb, a-textio.adb, a-cidlli.adb, a-strunb-shared.adb,
+       a-cimutr.adb, a-calcon.adb, a-exexpr-gcc.adb, a-ciormu.adb,
+       a-stzunb.adb, a-stzsea.adb, a-ngelfu.adb, a-stzfix.adb,
+       a-cihase.adb, a-cohama.adb, a-exetim-posix.adb, a-dirval-vms.adb,
+       a-caldel-vms.adb, a-coorse.adb, errout.adb,
+       a-except.adb, butil.adb, a-dirval-mingw.adb, a-cforma.adb,
+       a-except-2005.adb, a-wtedit.adb, cstand.adb, a-stwiun-shared.adb,
+       a-cbhama.adb, a-direio.adb, clean.adb, a-cborse.adb, back_end.adb,
+       binde.adb, a-exexda.adb, a-comutr.adb, a-ciorma.adb, a-cobove.adb,
+       a-coormu.adb, a-teioed.adb, a-convec.adb, a-wtenau.adb, exp_aggr.adb,
+       a-ztedit.adb, a-cohase.adb, a-exetim-mingw.adb, bcheck.adb,
+       a-dynpri.adb, a-cfhama.adb, a-calfor.adb, a-cbdlli.adb,
+       a-crdlli.adb, a-cbmutr.adb, a-sequio.adb, a-ngcoar.adb, a-cforse.adb,
+       a-strunb.adb, a-calend-vms.adb, a-clrefi.adb, a-cofove.adb,
+       a-ztenau.adb, a-strfix.adb, a-cbhase.adb, a-stzsup.adb: Minor
+       reformatting.
+
+2012-10-01  Vincent Pucci  <pucci@adacore.com>
+
+       * s-gearop.adb (Vector_Matrix_Product): Dimensions check fixed. Index
+       of Left in S evaluation fixed.
+
+2012-10-01  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch3.adb (Analyze_Declarations): Avoid
+       premature freezing caused by the internally generated subprogram
+       _postconditions.
+       * checks.adb (Expr_Known_Valid): Float literals are assumed to be valid
+       in VM targets.
+
+2012-10-01  Thomas Quinot  <quinot@adacore.com>
+
+       * sinput.ads, sinput.adb, sinput-l.adb sinput-c.adb (Sinput): New
+       Instances table, tracking all generic instantiations. Source file
+       attribute Instance replaces previous Instantiation attribute with an
+       index into the Instances table.
+       (Iterate_On_Instances): New generic procedure.
+       (Create_Instantiation_Source): Record instantiations in Instances.
+       (Tree_Read, Tree_Write): Read/write the instance table.
+       * scils.ads, scos.adb (SCO_Instance_Table): New table, contains
+       information copied from Sinput.Instance_Table, but self-contained
+       within the SCO data structures.
+       * par_sco.ads, par_sco.adb (To_Source_Location): Move to library level.
+       (Record_Instance): New subprogram, used by...
+       (Populate_SCO_Instance_Table): New subprogram to fill
+       the SCO instance table from the Sinput one (called by SCO_Output).
+       * opt.ads (Generate_SCO_Instance_Table): New option.
+       * put_scos.adb (Write_Instance_Table): New subprogram, used by...
+       (Put_SCOs): Dump the instance table at the end of SCO information
+       if requested.
+       * get_scos.adb (Get_SCOs): Read SCO_Instance_Table.
+       * types.h: Add declaration for Instance_Id.
+       * back_end.adb (Call_Back_End): Pass instance ids in source file
+       information table.
+       (Scan_Back_End_Switches): -fdebug-instances sets
+       Opt.Generate_SCO_Instance_Table.
+       * gcc-interface/gigi.h: File_Info_Type includes instance id.
+       * gcc-interface/trans.c: Under -fdebug-instances, set instance
+       id in line map from same in file info.
+
+2012-10-01  Thomas Quinot  <quinot@adacore.com>
+
+       * sem_elab.adb: Minor reformatting
+       (Check_Elab_Call): Minor fix to debugging code
+       (add special circuit for the valid case where a 'Access attribute
+       reference is passed to Check_Elab_Call).
+
+2012-10-01  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_ch3.adb: Minor reformatting.
+
+2012-10-01  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch3.ads (Build_Array_Invariant_Proc): moved to body.
+       * exp_ch3.adb (Build_Array_Invariant_Proc,
+       Build_Record_Invariant_Proc): transform into functions.
+       (Insert_Component_Invariant_Checks): for composite types that have
+       components with specified invariants, build a checking procedure,
+       and make into the invariant procedure of the composite type,
+       or incorporate it into the user- defined invariant procedure if
+       one has been created.
+       * sem_ch3.adb (Array_Type_Declaration): Checking for invariants
+       on the component type is defered to the expander.
+
+2012-10-01  Thomas Quinot  <quinot@adacore.com>
+
+       * xsnamest.adb, namet.h, sem_ch10.adb, s-oscons-tmplt.c,
+       xoscons.adb: Minor reformatting.
+
+2012-10-01  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * checks.adb (Apply_Parameter_Aliasing_And_Validity_Checks):
+       Do not process subprogram renaminds because a) those cannot
+       have PPC pragmas b) the renamed entity already has the PPCs.
+       (Build_PPC_Pragma): Prepend a PPC pragma for consistency with
+       Process_PPCs.
+       * sem_ch6.adb (Last_Implicit_Declaration): Removed.
+       (Process_PPCs): Insert a post condition body at the start of the
+       declarative region of the related subprogram. This way the body
+       will not freeze anything it shouldn't.
+
+2012-10-01  Robert Dewar  <dewar@adacore.com>
+
+       * freeze.adb, sem_ch6.adb, opt.ads, sem_ch13.adb,
+       exp_ch3.adb: Minor reformatting.
+
+2012-10-01  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * checks.adb (Build_PPC_Pragma): A PPC pragma can now be properly
+       associated with a subprogram body.
+
+2012-10-01  Ed Schonberg  <schonberg@adacore.com>
+
+       * aspects.ads: Type_Invariant'class is a valid aspect.
+       * sem_ch6.adb (Is_Public_Subprogram_For): with the exception of
+       initialization procedures, subprograms that do not come from
+       source are not public for the purpose of invariant checking.
+       * sem_ch13.adb (Build_Invariant_Procedure): Handle properly the
+       case of a non-private type in a package without a private part,
+       when the type inherits invariants from its ancestor.
+
+2012-10-01  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch3.adb (Build_Record_Invariant_Proc): new procedure to
+       generate a checking procedure for record types that may have
+       components whose types have type invariants declared.
+
+2012-10-01  Vincent Pucci  <pucci@adacore.com>
+
+       * system-solaris-sparcv9.ads, system-mingw.ads, system-vms_64.ads: Flag
+       Support_Atomic_Primitives set to True.
+
+2012-10-01  Robert Dewar  <dewar@adacore.com>
+
+       * impunit.adb: Ada.Locales is a language defined unit.
+
+2012-10-01  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * checks.adb (Apply_Parameter_Aliasing_Checks): Removed.
+       (Apply_Parameter_Aliasing_And_Validity_Checks): New routine.
+       (Apply_Parameter_Validity_Checks): Removed.
+       * checks.ads (Apply_Parameter_Aliasing_Checks): Removed.
+       (Apply_Parameter_Aliasing_And_Validity_Checks): New routine.
+       (Apply_Parameter_Validity_Checks): Removed.
+       * exp_ch6.adb (Expand_Call): Remove the generation of parameter
+       aliasing checks.
+       * freeze.adb: Remove with and use clauses for Validsw.
+       (Freeze_Entity): Update the guard and generation of aliasing
+       and scalar initialization checks for subprogram parameters.
+       * opt.ads: Add new flags Check_Aliasing_Of_Parameters and
+       Check_Validity_Of_Parameters along with comments on usage.
+       * sem_attr.adb (Analyze_Attribute): Pragma Overlaps_Storage is
+       no longer an Ada 2012 feature.
+       * sem_ch4.adb: Remove with and use clauses for Checks and Validsw.
+       (Analyze_Call): Remove the generation of aliasing checks for
+       subprogram parameters.
+       * sem_ch13.adb: Remove with and use clauses for Validsw.
+       (Analyze_Aspect_Specifications): Remove the generation of scalar
+       initialization checks.
+       * switch-c.adb (Scan_Front_End_Switches): Add processing for
+       -gnateA and -gnateV.
+       * usage.adb (Usage): Add information on switches -gnateA and
+       -gnateV. Remove information on validity switches 'l', 'L',
+       'v' and 'V'.
+       * validsw.adb (Reset_Validity_Check_Options): Remove the
+       reset of flags Validity_Check_Non_Overlapping_Params
+       and Validity_Check_Valid_Scalars_On_Params.
+       (Save_Validity_Check_Options): Remove the processing
+       for flags Validity_Check_Non_Overlapping_Params
+       and Validity_Check_Valid_Scalars_On_Params.
+       (Set_Validity_Check_Options): Remove the processing
+       for flags Validity_Check_Non_Overlapping_Params and
+       Validity_Check_Valid_Scalars_On_Params.
+       * validsw.ads: Remove flags Validity_Check_Non_Overlapping_Params
+       and Validity_Check_Valid_Scalars_On_Params along with their
+       comments on usage.
+
+2012-10-01  Yannick Moy  <moy@adacore.com>
+
+       * sem_ch13.adb (Add_Invariants): Analyze the invariant expression
+       as an assertion expression.
+       * sem_ch3.adb / sem_ch3.ads (Preanalyze_Assert_Expression):
+       New procedure that wraps a call to Preanalyze_Spec_Expression
+       for assertion expressions, so that In_Assertion_Expr can be
+       properly adjusted.
+       * sem_prag.adb (Analyze_PPC_In_Decl_Part
+       Check_Precondition_Postcondition Preanalyze_CTC_Args): Call the
+       new Preanalyze_Assert_Expression.
+
+2012-10-01  Robert Dewar  <dewar@adacore.com>
+
+       * checks.ads: Minor reformatting.
+
+2012-10-01  Yannick Moy  <moy@adacore.com>
+
+       * types.ads, sem_prag.adb, sem.ads: Correct minor typos in comments.
+
+2012-10-01  Vincent Celier  <celier@adacore.com>
+
+       * make.adb (Scan_Make_Arg): Only test for "vP" of the option
+       includes at least 3 characters.
+       * gnatcmd.adb (GNATCmd): Ditto.
+
+2012-10-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch7.adb, sinfo.ads: Add comments.
+
+2012-10-01  Robert Dewar  <dewar@adacore.com>
+
+       * checks.adb: Remove reference to Enable_Overflow_Checks Use
+       Suppress_Options rather than Scope_Suppress.
+       * gnat1drv.adb (Adjust_Global_Switches): Handle new overflow
+       settings (Adjust_Global_Switches): Initialize Scope_Suppress
+       from Suppress_Options.
+       * opt.adb: Remove Enable_Overflow_Checks (use Suppress_Options
+       instead).
+       * opt.ads: Remove Overflow_Checks_Unsuppressed (not used)
+       Remove Enable_Overflow_Checks (use Suppress_Options instead)
+       Suppress_Options is now current setting (replaces Scope_Suppress).
+       * osint.adb (Initialize): Deal with initializing overflow
+       checking.
+       * par-prag.adb: Add dummy entry for pragma Overflow_Checks.
+       * sem.adb (Semantics): Save and restore In_Assertion_Expr Use
+       Suppress_Options instead of Scope_Suppress.
+       * sem.ads (In_Assertion_Expr): New flag (Scope_Suppress):
+       Removed, use Suppress_Options instead.
+       * sem_eval.adb (Compile_Time_Compare): Return Unknown in
+       preanalysis mode.
+       * sem_prag.adb (Process_Suppress_Unsuppress): Setting of
+       Overflow_Checks_Unsuppressed removed (not used anywhere!)
+       (Analyze_Pragma, case Check): Set In_Assertion_Expression
+       (Analyze_Pragma, case Overflow_Checks): Implement new pragma
+       * snames.ads-tmpl: Add names needed for handling pragma
+       Overflow_Checks
+       * switch-c.adb (Scan_Front_End_Switches) Handle -gnato? and
+       -gnato?? where ? is 0-3
+       * types.ads: Updates and fixes to comment on Suppress_Record.
+
+2012-10-01  Vincent Celier  <celier@adacore.com>
+
+       * prj-part.adb (Parse): Remove incorrect comment about checking
+       imported non extending projects from and "extending all"
+       one. Minor correction.
+
+2012-10-01  Robert Dewar  <dewar@adacore.com>
+
+       * make.adb, exp_ch3.adb: Minor reformatting.
+
+2012-10-01  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * validsw.adb (Save_Validity_Check_Options): Do not set
+       Validity_Check_Non_Overlapping_Params and
+       Validity_Check_Valid_Scalars_On_Params when -gnatVa is present
+       because the related checks are deemed too aggressive.
+
+2012-10-01  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_util.ads sem_util.adb (Check_Internal_Protected_Use):
+       reject use of protected procedure or entry within the body of
+       a protected function of the same protected type, when usage is
+       a call, an actual in an instantiation, a or prefix of 'Access.
+       * sem_ch8.adb (Analyze_Subprogram_Renaming): Verify that target
+       object in renaming of protected procedure is a variable, and
+       apply Check_Internal_Protected_Use.
+       * sem_res.adb (Analyze_Call, Analyze_Entry_Call): apply
+       Check_Internal_Protected_Use rather than on-line code.
+       * sem_attr.adb (Analyze_Access_Attribute): Verify that target
+       object in accsss to protected procedure is a variable, and apply
+       Check_Internal_Protected_Use.
+
+2012-10-01  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch4.adb (Find_Equality_Types.Try_One_Interp): Exclude the
+       predefined interpretation from consideration if it's for a "/="
+       operator of a tagged type. This will allow Analyze_Equality_Op to
+       rewrite the "/=" as a logical negation of a call to the appropriate
+       dispatching equality function. This needs to be done during
+       analysis rather than expansion for the benefit of ASIS, which
+       otherwise gets the unresolved N_Op_Ne operator from Standard.
+
+2012-10-01  Thomas Quinot  <quinot@adacore.com>
+
+       * gnatcmd.adb, make.adb (Scan_Make_Arg, Inspect_Switches): Recognize
+       and reject an invalid parameter passed to -vP.
+
+2012-10-01  Yannick Moy  <moy@adacore.com>
+
+       * sem_warn.adb (Check_Infinite_Loop_Warning/Test_Ref): Improve
+       the detection of modifications to the loop variable by noting
+       that, if the type of variable is elementary and the condition
+       does not contain a function call, then the condition cannot be
+       modified by side-effects from a procedure call.
+
+2012-10-01  Robert Dewar  <dewar@adacore.com>
+
+       * checks.adb: Add comments.
+
+2012-10-01  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch3.adb (Expand_N_Object_Declaration): Improve condition catching
+       never-ending recursion. The previous condition erroneously disabled
+       silently the expansion of the class-wide interface object
+       initialization in cases not involving the recursion.
+
+2012-10-01  Thomas Quinot  <quinot@adacore.com>
+
+       * make.adb: Minor documentation fix: error messages are sent to
+       stderr, not stdout.
+
+2012-10-01  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * checks.ads, checks.adb (Apply_Parameter_Aliasing_Checks): New routine.
+       (Apply_Parameter_Validity_Checks): New routines.
+       * exp_ch6.adb (Expand_Call): Add aliasing checks to detect
+       overlapping objects.
+       * freeze.adb: Add with and use clauses for Checks and Validsw.
+       (Freeze_Entity): Add checks to detect proper initialization
+       of scalars.
+       * sem_ch4.adb: Add with and use clauses for Checks and Validsw.
+       (Analyze_Call): Add aliasing checks to detect overlapping objects.
+       * sem_ch13.adb: Add with and use clauses for Validsw.
+       (Analyze_Aspect_Specifications): Add checks to detect proper
+       initialization of scalars.
+       * sem_prag.adb (Chain_PPC): Correct the extraction of the
+       subprogram name.
+       * sem_util.adb (Is_Object_Reference): Attribute 'Result now
+       produces an object.
+       * usage.adb (Usage): Add usage lines for validity switches 'l',
+       'L', 'v' and 'V'.
+       * validsw.adb (Reset_Validity_Check_Options): Include
+       processing for flags Validity_Check_Non_Overlapping_Params and
+       Validity_Check_Valid_Scalars_On_Params. Code reformatting.
+       (Save_Validity_Check_Options): Include processing
+       for flags Validity_Check_Non_Overlapping_Params
+       and Validity_Check_Valid_Scalars_On_Params.
+       (Set_Validity_Check_Options): Add processing for validity switches
+       'a', 'l', 'L', 'n', 'v' and 'V'. Code reformatting.
+       * validsw.ads: Add new flags Validity_Check_Non_Overlapping_Params
+       and Validity_Check_Valid_Scalars_On_Params along with comments
+       on usage.
+
+2012-10-01  Thomas Quinot  <quinot@adacore.com>
+
+       * namet.ads, xsnamest.adb, prj-env.adb, sem_warn.adb,
+       errout.ads: Minor reformatting.
+       * prj-part.adb: Add comment.
+
+2012-10-01  Robert Dewar  <dewar@adacore.com>
+
+       * sinfo.ads, exp_aggr.adb, sem_ch13.adb: Minor reformatting.
+
+2012-10-01  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_aggr.adb (Resolve_Array_Aggregate): Handle properly
+       component associations given by subtypes that have static
+       predicates.  Improve error message for overlapping ranges in
+       array aggregates.
+
+2012-10-01  Pascal Obry  <obry@adacore.com>
+
+       * snames.ads-tmpl (Name_Link_Lib_Subdir): New constant.
+
+2012-10-01  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch9.adb (Analyze_Requeue): The target of a requeue
+       statement on a protected entry must be a variable. This is part
+       of AI05-0225.
+
+2012-09-26  Ian Lance Taylor  <iant@google.com>
+
+       * gcc-interface/Makefile.in (LIBBACKTRACE): New variable.
+       (LIBS): Add $(LIBBACKTRACE).
+       (LIBDEPS): Add $(LIBBACKTRACE).
+       (TOOLS_LIBS): Add ../../../libbacktrace/.libs/libbacktrace.a.
+
+2012-09-10  Diego Novillo  <dnovillo@google.com>
+
+       * gcc-interface/decl.c (build_subst_list): Adjust call to VEC_safe_push.
+       (build_variant_list): Likewise.
+       * gcc-interface/utils.c (convert): Adjust calls to VEC_quick_push.
+
+2012-09-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (Loop_Statement_to_gnu): Revert to using
+       size_type_node instead of sizetype.
+
+2012-08-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * layout.adb (Set_Elem_Alignment): Cap the alignment of access types
+       to that of a regular access type for non-strict-alignment platforms.
+       * gcc-interface/utils.c (finish_fat_pointer_type): Do not set the
+       alignment for non-strict-alignment platforms.
+
+2012-08-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Use proper
+       dummy type for the temporary COMPONENT_REF built for a derived tagged
+       type with discriminant.
+
+2012-08-14   Diego Novillo  <dnovillo@google.com>
+
+       Merge from cxx-conversion branch.  Re-implement VEC in C++.
+
+       * gcc-interface/trans.c (finalize_nrv_unc_r): Adjust VEC_index usage.
+       * gcc-interface/utils.c (convert): Likewise.
+       (remove_conversions): Likewise.
+       * gcc-interface/utils2.c (compare_fat_pointers): Likewise.
+       (build_unary_op): Likewise.
+       (gnat_stabilize_reference): Likewise.
+
+2012-08-06  Jose Ruiz  <ruiz@adacore.com>
+
+       * gcc-interface/Makefile.in: Add support for 32-bit VxWorks for SPARC
+       in kernel mode.
+
+2012-08-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * prj-attr.adb (Register_New_Package): Add missing blank.
+
+2012-08-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_aggr.adb (Is_Two_Dim_Packed_Array): New predicate,
+       used when computing maximum size allowable to construct static
+       aggregate.
+
+2012-08-06  Vincent Pucci  <pucci@adacore.com>
+
+       * freeze.adb (Freeze_Entity): Inherit_Aspects_At_Freeze_Point
+       calls added for derived types and subtypes.
+       * sem_aux.adb, sem_aux.ads (Get_Rep_Item, Get_Rep_Pragma,
+       Has_Rep_Pragma): New routines.
+       * sem_ch13.ads (Inherit_Aspects_At_Freeze_Point): New routine.
+       * sem_ch13.adb (Analyze_Aspect_Specifications): Error message
+       for aspect Lock_Free fixed.
+       (Inherits_Aspects_At_Freeze_Point): New routine.
+       * sem_ch3.adb: Several flag settings removed since inheritance
+       of aspects must be performed at freeze point.
+
+2012-08-06  Thomas Quinot  <quinot@adacore.com>
+
+       * s-oscons-tmplt.c: Fix s-oscons.ads formatting on VxWorks.
+
+2012-08-06  Vincent Pucci  <pucci@adacore.com>
+
+       * sem_dim.adb (Analyze_Dimension_Binary_Op): Issue an error message
+       for unknown exponent at compile-time.
+
+2012-08-06  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_eval.ads (Compile_Time_Known_Value_Or_Aggr): Enhance
+       comment to make it clear that the aggregate's evaluation might
+       still involve run-time checks even though the aggregate is
+       considered known at compile time.
+       * sinfo.ads (Compile_Time_Known_Aggregate): Correct comment to
+       refer to Exp_Aggr instead of Sem_Aggr.
+
 2012-08-06  Robert Dewar  <dewar@adacore.com>
 
        * xoscons.adb: Minor code reorganization (remove unused variable
 
 2012-08-06  Vincent Pucci  <pucci@adacore.com>
 
-PR ada/54125
+       PR ada/54125
        * exp_attr.adb (Expand_N_Attribute_Reference): Expand new
        Atomic_Always_Lock_Free attribute.
        * sem_attr.adb (Analyze_Attribute): Analyze new