aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/ada/ChangeLog-2012
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/ada/ChangeLog-2012')
-rw-r--r--gcc-4.9/gcc/ada/ChangeLog-20128694
1 files changed, 8694 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/ada/ChangeLog-2012 b/gcc-4.9/gcc/ada/ChangeLog-2012
new file mode 100644
index 000000000..4949e047d
--- /dev/null
+++ b/gcc-4.9/gcc/ada/ChangeLog-2012
@@ -0,0 +1,8694 @@
+2012-12-21 Ed Schonberg <schonberg@adacore.com>
+
+ PR ada/53737
+ * sem_ch12.adb (Analyze_Associations): Do not check the legality of
+ actuals for RACW types if this is an internal instantiation for a formal
+ package with defaulted parameters.
+
+2012-12-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * adaint.c: Move directive around.
+ * argv.c: Likewise.
+ * cio.c: Likewise.
+ * cstreams.c: Likewise.
+ * env.c: Likewise.
+ * exit.c: Likewise.
+ * init.c: Likewise.
+ * initialize.c: Likewise.
+ * raise.c: Likewise.
+ * seh_init.c: Likewise.
+ * targext.c: Likewise.
+
+2012-12-15 Eric Botcazou <ebotcazou@adacore.com>
+ Martin Ettl <ettl.martin@gmx.de>
+
+ PR ada/53996
+ * gcc-interface/utils.c (gnat_type_for_size): Use %u in lieu of %d.
+
+2012-12-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Make-lang.in (RTS_DIR): Define only if Ada is enabled.
+
+2012-12-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Assert
+ that the type of the prefix is ultimately an array.
+
+2012-12-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Subprogram_Body_to_gnu): Be prepared for a
+ by-ref VAR_DECL in the case of an Out parameter passed by copy.
+
+2012-12-05 Robert Dewar <dewar@adacore.com>
+
+ * par_sco.adb, sem_prag.adb, put_scos.adb, get_scos.adb: Minor
+ reformatting.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb: Code clean up.
+
+2012-12-05 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Make-lang.in: Update dependencies.
+ * gcc-interface/lang.opt: New language AdaSCIL.
+ * gcc-interface/lang-specs.h: Add specs for adascil language.
+
+2012-12-05 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb (Traverse_Aspects): Ensure we always have
+ an entry in the sloc -> SCO map for invariants, since
+ Set_SCO_Pragma_Enabled is called with that sloc when checks
+ are enabled.
+
+2012-12-05 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch4.adb: Minor reformatting.
+
+2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * par-prag.adb: Checks and processing of pragma Assume are
+ carried out by Sem_Prag.
+ * sem_prag.adb (Analyze_Pragma): Check the legality of pragma
+ Assume.
+ * snames.ads-tmpl: Add new name Assume. Add a pragma identifier
+ for Assume.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * aspects.ads, aspects.adb: Add aspect Relative_Deadline.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Process aspect
+ Relative_Deadline, and introduce the corresponding pragma within
+ the task definition of the task type to which it applies.
+ (Check_Aspect_At_Freeze_Point): Expression in a Relative_Deadline
+ aspect is of type Time_Span.
+
+2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Check_Loop_Invariant_Variant_Placement): When pragma
+ Loop_[In]variant does not appear immediately within the statements
+ of a loop, it must appear in a chain of nested blocks.
+
+2012-12-05 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch13.adb: Minor reformatting.
+ Remove redundant assertion.
+
+2012-12-05 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb, scos.ads, put_scos.adb, put_scos.ads,
+ get_scos.adb: Generation of SCOs for aspects.
+
+2012-12-05 Thomas Quinot <quinot@adacore.com>
+
+ * sem_prag.adb (Check_Precondition_Postcondition): Remove
+ redundant call to Set_SCO_Pragma_Enabled (the pragma will be
+ rewritten into a pragma Check later on, and the call will be
+ made when processing the rewritten pragma).
+ (Analyze_Pragma, case Pragma_Check): Omit call to
+ Set_SCO_Pragma_Enabled if Split_PPC is set.
+
+2012-12-05 Olivier Hainque <hainque@adacore.com>
+
+ * tracebak.c: Add partial support for Lynx178.
+
+2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute): Improve
+ the error message related to loop assertions.
+
+2012-12-05 Gary Dismukes <dismukes@adacore.com>
+
+ * atree.ads: Minor reformatting.
+
+2012-12-05 Robert Dewar <dewar@adacore.com>
+
+ * atree.ads, par-ch4.adb, sem_attr.adb, sem_ch13.adb: Minor
+ reformatting.
+
+2012-12-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat_ugn.texi (Switches for gcc): Document -flto and reorder.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch5.adb (P_Condition): Handle properly Ada 2012
+ expressions that must be parenthesized before checking for
+ redundant parentheses when that check is enabled.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch4.adb (P_Allocator): In Ada 2012 (AI05-0104) an
+ uninitialized allocator cannot carry an explicit not null
+ indicator.
+ * sem_ch4.adb (Analyze_Allocator): Remove code that implements
+ the check for AI05-0104, the check is syntactic and performed
+ in the parser.
+
+2012-12-05 Geert Bosch <bosch@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute): Use base type for floating
+ point attributes.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications,
+ Ahalyze_Aspect_Default_Value): For a scalar type attach default
+ value to base type as well, because it is a type-specific aspect
+ even though it can be specified on a first subtype.
+
+2012-12-05 Yannick Moy <moy@adacore.com>
+
+ * urealp.ads: Minor rewording.
+
+2012-12-05 Yannick Moy <moy@adacore.com>
+
+ * aspects.ads (No_Duplicates_Allowed): Forbid use of duplicate
+ Contract_Cases aspects.
+ * sem_prag.adb (Analyze_Pragma/Pragma_Contract_Case): Rename
+ POST_CASE into CONTRACT_CASE in both grammar and code, to be
+ consistent with current language definition. Issue a more precise
+ error message when the pragma duplicates another pragma or aspect.
+
+2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Add processing
+ for attribute Update.
+ (Expand_Update_Attribute): New routine.
+ * par-ch4.adb (P_Name): The sole expression of attribute Update
+ is an aggregate, parse it accordingly.
+ * sem_attr.adb (Analyze_Attribute): Verify the legality of
+ attribute Update.
+ (Eval_Attribute): Attribute Update does not
+ need evaluation because it is never static.
+ * snames.ads-tmpl: Add Name_Update to the list of special names
+ recognized by the compiler. Add an Attribute_Id for Update.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_util.adb (Remove_Side_Effects): For purposes of removing
+ side effects, qualified expressions do not receive a special
+ treatment, even though in Ada 2012 they are defined as object
+ references.
+
+2012-12-05 Thomas Quinot <quinot@adacore.com>
+
+ * par-ch3.adb: Minor reformatting.
+
+2012-12-05 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Build_From_Any_Call, Build_To_Any_Call,
+ Build_TypeCode_Call): For a used-defined subtype, always go to
+ the first subtype of the base type.
+
+2012-12-05 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb: Minor reformatting.
+
+2012-12-05 Tristan Gingold <gingold@adacore.com>
+
+ * Make-generated.in: Remove the VMS host specific part, as VMS
+ compilers aren't built anymore on VMS.
+
+2012-12-05 Thomas Quinot <quinot@adacore.com>
+
+ * sem.adb, errout.ads, atree.adb, atree.ads (Check_Error_Detected):
+ Only return quietly if a serious error of configurable run time
+ violation has been found.
+
+2012-12-05 Yannick Moy <moy@adacore.com>
+
+ * sem_res.adb (Resolve_Type_Conversion): In Alfa_Mode, do not apply
+ conversion checks.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Assignment_Statement): Handle properly
+ the generation of discriminant checks when the left-hand side
+ has a type with hidden discriminants.
+ * sem_ch3.ads (Is_Visible_Component): Add defaulted parameter to
+ specify the node on which component visibility is being checked.
+ * sem_ch3.adb (Is_Visible_Component): Use new parameter to
+ determine whether the reference comes from a type conversion to
+ a full view of a private type with unknown discriminants.
+ * sem_ch4.adb (Analyze_Selected_Component): Call
+ Is_Visible_Component with added parameter.
+
+2012-12-05 Arnaud Charlet <charlet@adacore.com>
+
+ * make.adb: Minor comment update.
+
+2012-12-05 Arnaud Charlet <charlet@adacore.com>
+
+ * gnatlink.adb: Also use -x adascil in CodePeer mode when
+ calling gcc.
+ * exp_ch5.adb: Minor reformatting.
+
+2012-12-05 Bob Duff <duff@adacore.com>
+
+ * exp_ch4.adb: Minor comment.
+
+2012-12-05 Bob Duff <duff@adacore.com>
+
+ * par-ch4.adb: Set Paren_Count correctly for a parenthesized expression
+ containing a conditional expression or quantified expression.
+ * sprint.adb: Update comment.
+
+2012-12-05 Bob Duff <duff@adacore.com>
+
+ * style.adb, scans.ads, styleg.adb: Update comments.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Find_Selected_Component): Handle properly an
+ expanded name whose prefix is the expanded name of an enclosing
+ entry, that is to say a construct such as T.E.X, where T is an
+ enclosing concurrent type and E is an enclosing entry.
+
+2012-12-05 Robert Dewar <dewar@adacore.com>
+
+ * lib-writ.adb (Write_ALI): Output T lines.
+ * lib-writ.ads: Minor reformatting. Add documentation of T lines.
+ * opt.ads (Generate_Target_Dependent_Info): New flag.
+ * switch-c.adb (Scan_Switches): Recognize -gnatet switch
+ (target dependent info).
+ * ttypes.ads: Add four letter codes to declarations (for target
+ dependent info).
+ * usage.adb: Add line for -gnatet switch.
+
+2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_prag.adb (Expand_N_Pragma): Add a call to expand
+ pragma Loop_Variant.
+ (Expand_Pragma_Loop_Assertion): Removed.
+ (Expand_Pragma_Loop_Variant): New routine.
+ * par-prag.adb: Remove Pragma_Loop_Assertion and add two new
+ Pragma_Loop_Invariant and Pragma_Loop_Variant entries.
+ * sem_attr.adb (Analyze_Attribute): Update the code which
+ locates the enclosing pragma.
+ * sem_prag.adb (Analyze_Pragma): Remove the code which analyzes
+ pragma Loop_Assertion as the pragma is now obsolete. Add the
+ machinery to checks the semantics of pragmas Loop_Invariant
+ and Loop_Variant.
+ (Check_Loop_Invariant_Variant_Placement): New routine.
+ * snames.ads-tmpl: Remove name Loop_Assertion. Add new names
+ Loop_Invariant and Loop_Variant. Rename Name_Decreasing
+ to Name_Decreases and Name_Increasing to Name_Increases.
+ Remove the pragma Id for Loop_Assertion and add two new Ids for
+ Loop_Invariant and Loop_Variant.
+
+2012-12-05 Robert Dewar <dewar@adacore.com>
+
+ * gnatchop.adb, sem_attr.ads, sem_ch4.adb, sem_ch6.adb, exp_disp.adb,
+ atree.adb, sem_eval.adb: Minor reformatting.
+
+2012-12-05 Yannick Moy <moy@adacore.com>
+
+ * uintp.adb (UI_Div_Rem): Correct algorithm D to remove potential
+ overflow.
+
+2012-12-05 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Op_Mod): Minor comment additions.
+ (Expand_N_Op_Rem): Ditto.
+
+2012-12-05 Robert Dewar <dewar@adacore.com>
+
+ * sem_attr.adb: Minor reformatting.
+
+2012-12-05 Robert Dewar <dewar@adacore.com>
+
+ * usage.adb: Update lines for -gnato? switch.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch6.adb (P_Return_Object_Declaration): Do not check for
+ legality of Aliased keyword.
+ * sem_ch6.adb (Analyze_Function_Return): The keyword aliased is
+ legal in an extended return statement only if the return type
+ is immutably limited.
+
+2012-12-05 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Expand_Interface_Thunk): Simplify
+ management of controlling formals. Required to avoid problems
+ with primitives of internally generated base types associated
+ with constrained tagged types.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_eval.adb: Remove spurious warnings.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Build_Explicit_Dereference): Set properly
+ the type of the prefix prior to rewriting, because subsequent
+ legality checks examine the original node.
+
+2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * aspects.adb: Add Contract_Cases to the canonical aspects map.
+ * aspects.ads: Add aspect Contract_Cases in the various aspect
+ tables.
+ * par-prag.adb: The parser does not need to perform special
+ actions for pragma Contract_Cases.
+ * sem_ch6.adb (Expand_Contract_Cases): New routine.
+ (Process_Contract_Cases): Convert pragma Contract_Cases into pre-
+ and post- condition checks that verify the runtime state of all
+ case guards and their corresponding consequences.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Perform
+ various legality checks on aspect Contract_Cases. The aspect is
+ transformed into a pragma.
+ * sem_prag.adb: Add an entry in table Sig_Flags for pragma
+ Contract_Cases.
+ (Analyze_Pragma): Perform various legality
+ checks on pragma Contract_Cases. The pragma is associated with
+ the contract of the related subprogram.
+ (Chain_CTC): Omit pragma
+ Contract_Cases because it does not introduce a unique case name
+ and does not follow the syntax of Contract_Case and Test_Case.
+ * snames.ads-tmpl: Add new name Name_Contract_Cases. Add a
+ Pragma_Id for Contract_Cases.
+
+2012-12-05 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch5.adb: Minor reformatting.
+
+2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_attr.ads: Add an entry for attribute Loop_Entry in the
+ Attribute_Impl_Def table.
+
+2012-12-05 Bob Duff <duff@adacore.com>
+
+ * gnatchop.adb (Read_File): Avoid storage leak, and in most cases avoid
+ an extra copy of the string.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Preanalyze_Range): If the expression, which
+ denotes some domain of iteration, has a type with implicit
+ dereference, and does not have any iterable aspects, insert
+ dereference to obtain proper container type.
+
+2012-12-05 Bob Duff <duff@adacore.com>
+
+ * par-ch8.adb (P_Use_Type_Clause): Fix the Sloc for "use all type ..."
+ to point to "use".
+
+2012-12-05 Arnaud Charlet <charlet@adacore.com>
+
+ * make.adb (Compile): Always pass -x adascil in CodePeer mode.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * s-rident.ads, restrict.ads: Remove discrepancies between the
+ documentation on implementation-defined restrictions, and
+ the internal data structure used for warnings and errors on
+ implementation-defined restriction violations.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Chain_PPC): Pre- and postcondition aspects
+ are legal on a subprogram body that acts as a spec.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Find_Selected_Component): If the selector name is
+ an overloadable entity but the name is not overloaded, generate
+ reference to it rather than delaying this until resolution.
+
+2012-12-05 Robert Dewar <dewar@adacore.com>
+
+ * checks.ads, checks.adb (Activate_Overflow_Check): No effect for
+ MOD/REM/unary +
+ * exp_ch4.adb (Expand_N_Op_Mod): Remove call to set Do_Overflow_Check.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Find_Non_Universal_Interpretation): Use the
+ types of the right operand if the left operand is null.
+
+2012-12-05 Sergey Rybin <rybin@adacore.com frybin>
+
+ * gnat_ugn.texi, vms_data.ads: document gnatpp -nn option.
+
+2012-12-05 Jose Ruiz <ruiz@adacore.com>
+
+ * init.c (__gnat_install_handler): For the LEON VxWorks kernel
+ run-time library we need to install a trap handler directly in the
+ trap table (no support by the OS) for the software trap 0.
+
+2012-12-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat_rm.texi (Interfacing to C++): Document new restrictions.
+
+2012-12-05 Ben Brosgol <brosgol@adacore.com>
+
+ * gnat_ugn.texi: Fix typo.
+
+2012-12-05 Robert Dewar <dewar@adacore.com>
+
+ * gnatbind.adb: Minor reformatting.
+
+2012-12-05 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_ugn.texi: Fix typo.
+
+2012-12-05 Tristan Gingold <gingold@adacore.com>
+
+ * gnatbind.adb: Minor comment update.
+
+2012-12-05 Yannick Moy <moy@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): Set flags to indicate that
+ CodePeer backend deals with divide and overflow checks.
+
+2012-12-05 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Update overflow description. Pragma Overflow_Checks
+ changed to Overflow_Mode.
+
+2012-12-05 Robert Dewar <dewar@adacore.com>
+
+ * checks.ads, exp_ch4.adb, gnat1drv.adb, par-prag.adb, sem_prag.adb,
+ snames.ads-tmpl, switch-c.adb, types.ads, checks.adb: Change pragma
+ Overflow_Checks to Overflow_Mode.
+ Separate overflow checking from overflow mode.
+ Several name changes to reflect this separation.
+ CHECKED mode is renamed STRICT mode.
+
+2012-12-05 Yannick Moy <moy@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): Move setting of flags for
+ Alfa mode before general treatment of flags, so that overflow checks
+ settings are set appropriately in Alfa mode. Also set the mode to
+ STRICT in Alfa mode if not already set by the user.
+
+2012-12-05 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting.
+
+2012-12-05 Steve Baird <baird@adacore.com>
+
+ * sinfo.ads: Improve comments about SCIL-related node kinds and selector
+ functions.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Build_Limited_Views): Even though the unit is
+ not analyzed, place its entity on the name in the with clause,
+ so that warnings on unused with-clause are properly supported
+ for limited withs.
+
+2012-12-05 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Update overflow description. Pragma
+ Overflow_Checks changed to Overflow_Mode.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Build_Derived_Private_Type): Handle properly a
+ completion in a grand-child unit when the parent type is itself
+ a private type in a child unit whose full view is itself a
+ derivation from a private type.
+
+2012-12-05 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference, case
+ Attribute_Valid): Remove code for issuing warning on Valid within
+ a predicate. Moved to Sem_Attr. Remove with and use of Errout.
+ * sem_attr.adb (Analyze_Attribute, case Attribute_Valid):
+ Test for prefix's subtype having a predicate and issue warning
+ about infinite recursion if Valid occurs within the subtype's
+ predicate. Warning moved here from Exp_Attr.
+
+2012-12-05 Yannick Moy <moy@adacore.com>
+
+ * debug.adb: Minor comment addition.
+
+2012-12-05 Yannick Moy <moy@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): In CodePeer mode, check
+ overflows by default, even when the user suppresses overflow checks.
+
+2012-12-05 Thomas Quinot <quinot@adacore.com>
+
+ * err_vars.ads: Fix minor typo in comment.
+
+2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute): Do not analyze the attribute
+ arguments when processing Loop_Entry. Rewrite the analysis of
+ attribute Loop_Entry to handle an optional loop name.
+ (Convert_To_Indexed_Component): New routine.
+ (Eval_Attribute): Remove ??? comment and explain
+ why Loop_Entry does not need to be evaluated.
+
+2012-12-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR ada/52110
+ * s-osinte-hpux-dce.ads: Declare pthread_rwlockattr_t and
+ pthread_rwlock_t subtypes. Delete duplicate declaration of clockid_t.
+ * s-taspri-hpux-dce.ads: Change "pragma Atomic (Thread)" to comment.
+
+2012-11-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use
+ valid_constant_size_p to detect too large objects.
+ <E_Subprogram_Type>: Likewise for too large return types.
+ (allocatable_size_p): Call valid_constant_size_p in the fixed case.
+ (annotate_value) <INTEGER_CST>: Simplify.
+ <BIT_AND_EXPR>: Deal with negative values here.
+ * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Use
+ valid_constant_size_p to detect too large objects on the LHS.
+ * gcc-interface/misc.c (default_pass_by_ref): Likewise for large types.
+ And use TYPE_SIZE_UNIT throughout.
+ (must_pass_by_ref): Likewise.
+ * gcc-interface/utils.c (max_size) <tcc_unary>: Split from common case.
+ <tcc_binary>: Likewise. Call size_binop instead of fold_build2.
+ <tcc_expression>: Simplify.
+ * gcc-interface/utils2.c (build_allocator): Use valid_constant_size_p
+ to detect too large allocations.
+
+2012-11-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Look through
+ a view conversion from constrained to unconstrained form.
+
+2012-11-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (components_need_strict_alignment): New.
+ (components_to_record): Do not pack the variants if one of the fields
+ needs strict alignment. Likewise for the variant part as a whole.
+ Specify the position of the variants even if the size isn't specified,
+ but do not specify the size of the variant part in this case.
+
+2012-11-20 Diego Novillo <dnovillo@google.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * gcc-interface/decl.c: Replace all vec<T,A>() initializers with vNULL.
+
+2012-11-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c: Remove trailing spaces.
+ * gcc-interface/trans.c: Remove trailing spaces.
+
+2012-11-16 Diego Novillo <dnovillo@google.com>
+
+ Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
+
+ * gcc-interface/decl.c: Use new vec API in vec.h.
+ * gcc-interface/gigi.h: Likewise.
+ * gcc-interface/trans.c: Likewise.
+ * gcc-interface/utils.c: Likewise.
+ * gcc-interface/utils2.c: Likewise.
+
+2012-11-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR other/52438
+ * s-taspri-lynxos.ads: Delete.
+ * s-osinte-kfreebsd-gnu.ads: Change license to GPL V3+.
+ * s-tpopsp-rtems.adb: Likewise.
+ * s-osinte-rtems.adb: Likewise.
+
+2012-11-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (gnat_to_gnu) <N_Subprogram_Body_Stub>: Deal
+ with a missing library unit instead of calling gnat_to_gnu on Emtpy.
+ Remove last bits of support for SCIL nodes. Add cases for nodes that
+ should only be present when annotating types. Add default abort.
+
+2012-11-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Makefile.in: Revert most changes.
+ * gcc-interface/Make-lang.in (gnatlib): Remove ada/s-oscons.ads.
+
+2012-11-06 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Makefile.in (copy-s-oscons): New target.
+
+2012-11-06 Robert Dewar <dewar@adacore.com>
+
+ * err_vars.ads, atree.ads: Minor reformatting.
+
+2012-11-06 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Make-lang.in: Update dependencies.
+ * gcc-interface/Makefile.in: Add runtime pairs for Android.
+ Rework handling of s-oscons.ads.
+ * s-osinte-android.ads, s-osinte-android.adb: New files.
+
+2012-11-06 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/trans.c (gnat_to_gnu): For N_Real_Literal, create the
+ binary representation of vax floats.
+
+2012-11-06 Tristan Gingold <gingold@adacore.com>
+
+ * sem_ch9.adb (Analyze_Protected_Type_Declaration): Fix thinko
+ in previous commit.
+
+2012-11-06 Jose Ruiz <ruiz@adacore.com>
+
+ * ali.adb (Scan_ALI): Fix parsing mechanism for -fstack-check.
+
+2012-11-06 Thomas Quinot <quinot@adacore.com>
+
+ * atree.adb, atree.ads, einfo.adb, errout.adb, errout.ads, erroutc.adb,
+ erroutc.ads, errutil.adb, errutil.ads, err_vars.ads, expander.adb,
+ exp_ch13.adb, exp_ch2.adb, exp_ch6.adb, exp_dist.adb, fe.h,
+ fmap.adb, fmap.ads, gprep.adb, makeutl.adb, osint.adb, osint.ads,
+ par_sco.adb, prepcomp.adb, prj-part.adb, prj-proc.adb, scng.adb,
+ sdefault.ads, sem_ch10.adb, sem_ch13.adb, sem_ch2.adb, sem_ch3.adb,
+ sem_ch4.adb, sem_ch5.adb, sem_dim.adb, sem_elab.adb, sem_eval.adb,
+ sem_intr.adb, sem_prag.adb, sem_type.adb, sem_warn.adb, stylesw.adb,
+ stylesw.ads, targparm.adb, targparm.ads (Cascaded_Error): Rename to
+ more descriptive name 'Check_Error_Detected'. Add calls to
+ Check_Error_Detected at places where semantic analysis is abandoned
+ assuming a previously detected error.
+
+2012-11-06 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb: Minor comment change.
+
+2012-11-06 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Extensive revision of documentation of overflow
+ checking.
+ * vms_data.ads: Overflow check numbers must be in range 1-3,
+ not 0-3.
+
+2012-11-06 Tristan Gingold <gingold@adacore.com>
+
+ * sem_ch9.adb (Analyze_Protected_Type_Declaration): Emit a
+ warning if pragma Priority is used in presence of an interrupt
+ handler.
+
+2012-11-06 Robert Dewar <dewar@adacore.com>
+
+ * checks.ads, checks.adb, exp_ch4.adb: Minor changes throughout for
+ new overflow checking.
+ * exp_util.adb (Insert_Actions): Remove special casing of
+ Overflow_Check.
+ * gnat1drv.adb (Adjust_Global_Switches): Fixes for new handling
+ of overflow checks.
+ * sem.adb (Analyze): Remove special casing of Overflow_Check
+ (Analyze_List): ditto.
+ * sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Remove
+ SUPPRESSED and change CHECKED to STRICT.
+ * sem_res.adb (Analyze_And_Resolve): No longer treat
+ Overflow_Check specially.
+ (Preanalyze_And_Resolve): ditto.
+ (Resolve): ditto.
+ * snames.ads-tmpl: Replace Name_Checked by Name_Strict.
+ * switch-c.adb (Get_Overflow_Mode): Eliminate 0 setting,
+ CHECKED => STRICT.
+ * types.ads (Overflow_Check_Type): Remove Suppressed, change
+ Checked to Strict (Suppress_Record): Overflow check controlled
+ by Suppress array.
+
+2012-11-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Preanalyze_And_Resolve): In Alfa mode do not
+ disable checks, so that flags can be properly set on expressions
+ that are not further expanded.
+
+2012-11-06 Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb, sem_attr.adb: Minor reformatting.
+
+2012-11-06 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Apply a predicate
+ check when evaluating the attribute Valid, and issue a warning
+ about infinite recursion when the check occurs within the
+ predicate function of the prefix's subtype.
+ * exp_ch4.adb (Expand_N_In): Remove test for Is_Discrete_Type
+ when we're checking that there's no predicate check function as a
+ condition for substituting a Valid check for a scalar membership
+ test (substitution should be suppressed for any kind of scalar
+ subtype with a predicate check). Also, don't emit a predicate
+ check when the right operand is a range.
+
+2012-11-06 Robert Dewar <dewar@adacore.com>
+
+ * par_sco.adb, bindgen.adb, exp_vfpt.adb, exp_vfpt.ads, exp_ch2.adb,
+ errout.adb, sem_ch8.adb: Minor reformatting.
+
+2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb: Include Loop_Entry_Attributes to the list of
+ Node/List/Elist10 usage.
+ (Loop_Entry_Attributes): New routine.
+ (Set_Loop_Entry_Attributes): New routine.
+ (Write_Field10_Name): Add an output string for Loop_Entry_Attributes.
+ * einfo.ads: Define new attribute Loop_Entry_Attributes along
+ with its usage in nodes.
+ (Loop_Entry_Attributes): New routine and dedicated pragma Inline.
+ (Set_Loop_Entry_Attributes): New routine and dedicated pragma Inline.
+ * exp_attr.adb (Expand_N_Attribute_Reference): Do not expand
+ Attribute_Loop_Entry here.
+ * exp_ch5.adb: Add with and use clause for Elists;
+ (Expand_Loop_Entry_Attributes): New routine.
+ (Expand_N_Loop_Statement): Add a call to Expand_Loop_Entry_Attributes.
+ * exp_prag.adb (Expand_Pragma_Loop_Assertion): Specialize the
+ search to include multiple nested loops produced by the expansion
+ of Ada 2012 array iterator.
+ * sem_attr.adb: Add with and use clause for Elists.
+ (Analyze_Attribute): Check the legality of attribute Loop_Entry.
+ (Resolve_Attribute): Nothing to do for Loop_Entry.
+ (S14_Attribute): New routine.
+ * snames.ads-tmpl: Add a comment on entries marked with
+ HiLite. Add new name Name_Loop_Entry. Add new attribute
+ Attribute_Loop_Entry.
+
+2012-11-06 Geert Bosch <bosch@adacore.com>
+
+ * eval_fat.adb (Machine, Succ): Fix front end to support static
+ evaluation of attributes on targets with both VAX and IEEE float.
+ * sem_util.ads, sem_util.adb (Has_Denormals, Has_Signed_Zeros):
+ New type-specific functions. Previously we used Denorm_On_Target
+ and Signed_Zeros_On_Target directly, but that doesn't work well
+ for OpenVMS where a single target supports both floating point
+ with and without signed zeros.
+ * sem_attr.adb (Attribute_Denorm, Attribute_Signed_Zeros): Use
+ new Has_Denormals and Has_Signed_Zeros functions to support both
+ IEEE and VAX floating point on a single target.
+
+2012-11-06 Tristan Gingold <gingold@adacore.com>
+
+ * bindgen.adb (System_Interrupts_Used): New variable.
+ (Gen_Adainit): Declare and call
+ Install_Restricted_Handlers_Sequential if System.Interrupts is
+ used when elaboration policy is sequential.
+
+2012-11-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb: Complete previous change.
+
+2012-11-06 Tristan Gingold <gingold@adacore.com>
+
+ * fe.h (Get_Vax_Real_Literal_As_Signed): Declare.
+ * eval_fat.adb, eval_fat.ads (Decompose_Int): Move spec in package spec.
+ * exp_vfpt.adb, exp_vfpt.ads (Vax_Real_Literal_As_Signed): New function.
+ (Expand_Vax_Real_Literal): Remove.
+ * exp_ch2.adb (Expand_N_Real_Literal): Do nothing.
+ * sem_eval.adb (Expr_Value_R): Remove special Vax float case,
+ as this is not anymore a special case.
+
+2012-11-06 Yannick Moy <moy@adacore.com>
+
+ * uintp.ads: Minor correction of typo in comment.
+
+2012-11-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragnma, case Unchecked_Union): remove
+ requirement that discriminants of an unchecked_union must have
+ defaults.
+
+2012-11-06 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * projects.texi: Minor wordsmithing.
+
+2012-11-06 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch9.adb, exp_vfpt.adb, xoscons.adb: Minor reformatting.
+
+2012-11-06 Tristan Gingold <gingold@adacore.com>
+
+ * exp_vfpt.adb: Document VAX float point layout.
+
+2012-11-06 Geert Bosch <bosch@adacore.com>
+
+ * eval_fat.adb (Machine): Don't return -0.0 on targets without
+ signed zeros.
+
+2012-11-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch9.adb (Analyze_Entry_Call_Alternative,
+ Check_Triggering_Statement): Reject properly an indirect call.
+
+2012-11-06 Pascal Obry <obry@adacore.com>
+
+ * xoscons.adb, xutil.adb, xutil.ads: Add support for post-processing.
+
+2012-11-06 Yannick Moy <moy@adacore.com>
+
+ * s-bignum.adb (Div_Rem): Fix another bug in step D3.
+
+2012-11-06 Tristan Gingold <gingold@adacore.com>
+
+ * s-tarest.adb (Create_Restricted_Task): Call
+ Create_Restricted_Task_Sequential in sequential case.
+
+2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_prag.adb (Expand_Pragma_Loop_Assertion): Do not rewrite the
+ pragma into a null statement as its presence is desirable in -gnatG
+ output.
+
+2012-11-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Check_Constrained_Object): Do nothing if the
+ renamed object is a limited record.
+
+2012-11-06 Bernard Banner <banner@adacore.com>
+
+ * sysdep.c (_getpagesize): New. Minor reformatting.
+
+2012-11-06 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb: Minor reformatting.
+
+2012-11-06 Robert Dewar <dewar@adacore.com>
+
+ * s-bignum.adb (Div_Rem): Fix bug in step D3.
+ * uintp.adb (UI_Div_Rem): Add comment on bug in step D3.
+
+2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_prag.adb (Expand_Pragma_Loop_Assertion): Update the comment
+ on intended expansion. Reimplement the logic which expands the
+ termination variants.
+ (Process_Increase_Decrease): Update the parameter profile and the
+ comment related to it. Accommodate the new aggregate-like appearance of
+ the termination variants.
+ * sem_prag.adb (Analyze_Pragma): Update the syntax of pragma
+ Loop_Assertion. Reimplement the semantic analysis of the pragma
+ to accommodate the new aggregate-like variant.
+ (Check_Variant): New routine.
+ * snames.ads-tmpl: Change names Name_Decreases and Name_Increases
+ to Name_Decreasing and Name_Increasing respectively. Add name
+ Variant.
+
+2012-11-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_eval.adb: Static evaluation of case expressions.
+
+2012-11-06 Robert Dewar <dewar@adacore.com>
+
+ * exp_prag.adb, impunit.adb, exp_ch9.adb, par-ch4.adb,
+ s-tarest.adb: Minor reformatting.
+
+2012-11-06 Tristan Gingold <gingold@adacore.com>
+
+ * s-tposen.ads: Minor comment update.
+
+2012-11-06 Arnaud Charlet <charlet@adacore.com>
+
+ * sysdep.c: Rename sig* wrappers to use unique names.
+
+2012-11-06 Yannick Moy <moy@adacore.com>
+
+ * exp_dbug.adb (Qualify_Entity_Name): Mark entity as having a qualified
+ name after being treated, in formal verification mode.
+
+2012-11-06 Fedor Rybin <frybin@adacore.com>
+
+ * gnat_ugn.texi: Updating gnattest section to reflect changes
+ in default behaviour of the tool.
+
+2012-11-06 Thomas Quinot <quinot@adacore.com>
+
+ * s-oscons-tmplt.c: Interfaces.C now needs to be WITH'd even
+ on platforms that do not support sockets (for the benefit of
+ subtype IOCTL_Req_T).
+
+2012-11-06 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch4.adb (P_Primary): if-expressions, case-expressions,
+ and quantified expressions are legal if surrounded by parentheses
+ from an enclosing context, such as a call or an instantiation.
+
+2012-11-06 Yannick Moy <moy@adacore.com>
+
+ * impunit.adb (Get_Kind_Of_Unit): Return appropriate kind for
+ predefined implementation files, instead of returning
+ Not_Predefined_Unit on all .adb files.
+
+2012-11-06 Tristan Gingold <gingold@adacore.com>
+
+ * exp_ch9.adb (Build_Activation_Chain_Entity): Return immediately if
+ partition elaboration policy is sequential.
+ (Build_Task_Activation_Call): Likewise. Use
+ Activate_Restricted_Tasks on restricted profile.
+ (Make_Task_Create_Call): Do not use the _Chain
+ parameter if elaboration policy is sequential. Call
+ Create_Restricted_Task_Sequential in that case.
+ * exp_ch3.adb (Build_Initialization_Call): Change condition to
+ support concurrent elaboration policy.
+ (Build_Record_Init_Proc): Likewise.
+ (Init_Formals): Likewise.
+ * bindgen.adb (Gen_Adainit): Declare Partition_Elaboration_Policy
+ and set it in generated code if the elaboration policy is
+ sequential. The procedure called to activate all tasks is now
+ named __gnat_activate_all_tasks.
+ * rtsfind.adb (RE_Activate_Restricted_Task,
+ RE_Create_Restricted_Task_Sequential): New RE_Id literals.
+ * s-tarest.adb (Create_Restricted_Task): Added to create a task without
+ adding it on an activation chain.
+ (Activate_Tasks): Has now a Chain parameter.
+ (Activate_All_Tasks_Sequential): Added. Called by the binder to
+ activate all tasks.
+ (Activate_Restricted_Tasks): Added. Called during elaboration to
+ activate tasks of the units.
+ * s-tarest.ads: Remove pragma Partition_Elaboration_Policy.
+ (Partition_Elaboration_Policy): New variable (set by the binder).
+ (Create_Restricted_Task): Revert removal of the chain parameter.
+ (Create_Restricted_Task_Sequential): New procedure.
+ (Activate_Restricted_Tasks): Revert removal.
+ (Activate_All_Tasks_Sequential): New procedure.
+
+2012-11-06 Bernard Banner <banner@adacore.com>
+
+ * adaint.c Add file macro definitions missing on Android.
+ * adaint.h Avoid definitions related to task affinity and CPU
+ sets since this functionality is missing on the Android
+ * errno.c (__set_errno): Android already contains such a named
+ procedure so do include again.
+ * gsocket.h: Sockets not supported on Android.
+ * init.c: Avoid linux related code not supported on Android.
+ * sysdep.c (sigismember, sigaddset, sigdelset, sigemptyset,
+ sigfillset): wrapper functions since sig routines are defined
+ as inline macros on Android.
+ * terminals.c: Add stubs for terminal related functions not
+ supported on Android.
+
+2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Do not
+ output the characters of an illegal argument as it may not have
+ characters to begin with.
+
+2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_prag.adb (Expand_Pragma_Loop_Assertion):
+ Change the order of argument processing to avoid disappearing
+ increase / decrease expressions.
+
+2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_prag.adb: Add with and use clause for Sem_Ch8.
+ (Expand_N_Pragma): Add a new variant to expand pragma Loop_Assertion.
+ (Expand_Pragma_Loop_Assertion): New routine.
+ * par-prag.adb (Prag): The semantic analysis of pragma
+ Loop_Assertion is carried out by Analyze_Pragma. No need for
+ checks in the parser.
+ * sem_prag.adb: Add a reference position value for pragma
+ Loop_Assertion in Sig_Flags.
+ (Analyze_Pragma): Add semantic analysis for pragma Loop_Assertion.
+ * snames.ads-tmpl: Add the following new names:
+ Name_Decreases Name_Increases Name_Loop_Assertion.
+ Add new pragma id Pragma_Loop_Assertion.
+
+2012-11-06 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb: Identifier in iterator must have debug
+ information.
+
+2012-11-06 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Remove
+ duplicate rules handled by Make-generated.in.
+
+2012-10-31 Lawrence Crowl <crowl@google.com>
+
+ * gcc-interface/utils.c (gnat_write_global_declarations):
+ Rename varpool_node to varpool_node_for_decl.
+
+2012-10-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Make-lang.in: Fix and clean up rules for C files.
+
+2012-10-29 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Makefile.in (s-oscons.ads): Adjust call to xoscons.
+
+2012-10-29 Pascal Obry <obry@adacore.com>
+
+ * xoscons.adb, Make-generated.in; The template used by xoscons is now
+ given as parameter.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2012-10-29 Yannick Moy <moy@adacore.com>
+
+ * exp_dbug.adb (Qualify_Entity_Name): Only do renaming in formal
+ verification mode when there is a homonym.
+
+2012-10-29 Thomas Quinot <quinot@adacore.com>
+
+ * xoscons.adb: Minor reformatting.
+
+2012-10-29 Yannick Moy <moy@adacore.com>
+
+ * exp_alfa.adb (Expand_Alfa): Backtrack change that removed
+ qualification of names in formal verification mode. Instead,
+ the qualification should be modified.
+ * exp_dbug.adb (Qualify_Entity_Name): Modify qualification in formal
+ verification mode, so that only a suffix is added to distinguish
+ homonyms from the same scope.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Document that pragma Optimize_Alignment (Space) is
+ ignored with a warning for packed variable length records.
+
+2012-10-29 Thomas Quinot <quinot@adacore.com>
+
+ * socket.c, g-socthi-dummy.adb, g-socthi-dummy.ads, g-socthi-vms.adb,
+ g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
+ s-oscons-tmplt.c, g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi.adb,
+ g-socthi.ads, xoscons.adb, g-socket.adb, g-sothco.ads: Introduce an
+ appropriate subtype for IOCTL requests, since these may be signed or
+ unsigned.
+
+2012-10-29 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_alfa.adb: Minor reformatting.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi, gnat_ugn.texi: Clarify documentation on maximum
+ line length style switch.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * layout.adb (Set_Composite_Alignment): Ignore pragma
+ Optimize_Alignment (Space) for packed variable length records.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * s-bignum.adb: Minor comment change.
+
+2012-10-29 Thomas Quinot <quinot@adacore.com>
+
+ * s-oscons-tmplt.c: Fix signedness of ioctl request identifiers
+ for x86_64-freebsd.
+
+2012-10-29 Yannick Moy <moy@adacore.com>
+
+ * exp_alfa.adb (Expand_Alfa): Remove qualification of names.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb: Minor reformatting.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Minor rewording.
+
+2012-10-29 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.ads (Is_Expanded_Dispatching_Call): New subprogram.
+ * exp_disp.adb (Expand_Dispatching_Call): No action needed if the
+ call has been already expanded.
+ (Is_Expanded_Dispatching_Call): New subprogram.
+ * sem_disp.adb (Propagate_Tag): No action needed if the call
+ has been already expanded.
+
+2012-10-29 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch9.adb (Create_Index_And_Data): Remove local
+ variable Index_Typ and its uses. The type of the index is now
+ System.Tasking.Entry_Index. Update all related comments.
+ * rtsfind.ads: Add RE_Entry_Index in tables RE_Id and RE_Unit_Table.
+ * s-taskin.adb (Number_Of_Entries): The return type is now Entry_Index.
+ * s-taskin.ads: The index type of Task_Entry_Names_Array is now
+ Entry_Index.
+ (Number_Of_Entries): The return type is now Entry_Index.
+ * s-tpoben.adb (Number_Of_Entries): The return type is now Entry_Index.
+ * s-tpoben.ads: The index type of Protected_Entry_Names_Array
+ is now Entry_Index.
+ (Number_Of_Entries): The return type is now Entry_Index.
+
+2012-10-29 Pascal Obry <obry@adacore.com>
+
+ * gnat_ugn.texi: Add note about SEH setup on x86-windows.
+
+2012-10-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-bignum.adb (Allocate_Bignum): Use the exact layout of
+ Bignum_Data for the overlay.
+
+2012-10-29 Thomas Quinot <quinot@adacore.com>
+
+ * gnat_rm.texi, sem_prag.adb, sem_util.adb, sem_util.ads,
+ par-prag.adb, par-util.adb, snames.ads-tmpl (Sem_Prag.Analyze_Pragma):
+ Handle new pragma Attribute_Definition.
+ (Sem_Util.Bad_Attribute): New routine, moved here
+ from par-util, so that it can be used by the above.
+ (Par_Util.Signal_Bad_Attribute): Processing moved to
+ Sem_Util.Bad_Attribute.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * s-tpoben.ads, s-taskin.ads, exp_ch3.adb: Minor reformatting.
+
+2012-10-29 Yannick Moy <moy@adacore.com>
+
+ * sem_prag.adb, gnat1drv.adb, opt.ads: Rename S14_Extensions
+ into Formal_Extensions.
+
+2012-10-29 Thomas Quinot <quinot@adacore.com>
+
+ * sem_attr.adb: Minor reformatting.
+
+2012-10-29 Tristan Gingold <gingold@adacore.com>
+
+ * gnat_rm.texi: Document implementation advice for Pragma
+ Partition_Elaboration_Policy.
+
+2012-10-29 Yannick Moy <moy@adacore.com>
+
+ * s-bignum.adb (Div_Rem): Reference that Algorithm_D is from
+ the second edition of TAOCP from Knuth, since the algo changed
+ in the third edition. Also correct the definition of 'd' which
+ could overflow.
+
+2012-10-29 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch3.adb (Build_Initialization_Call): Create static strings
+ which denote entry [family] names and associate them with the
+ object's Protection_Entries or ATCB.
+ (Build_Init_Statements):
+ Remove local variable Names. Do not generate the entry [family]
+ names inside the init proc because they are now static.
+ * exp_ch9.adb (Build_Entry_Names): Reimplemented. The strings
+ which denote entry [family] names are now generated statically
+ and associated with the concurrent object's Protection_Entries
+ or ATCB during initialization.
+ * exp_ch9.ads (Build_Entry_Names): Change subprogram profile
+ and associated comment on usage.
+ * rtsfind.ads: Add the following entries to tables RE_Id and
+ RE_Unit_Table:
+
+ RE_Protected_Entry_Names_Array RE_Task_Entry_Names_Array
+ RO_PE_Number_Of_Entries RO_PE_Set_Entry_Names
+ RO_ST_Number_Of_Entries RO_ST_Set_Entry_Names
+
+ Remove the following entries from tables RE_Id and RE_Unit_Table:
+
+ RO_PE_Set_Entry_Name RO_TS_Set_Entry_Name
+
+ * s-taskin.adb: Remove with clause for Ada.Unchecked_Deallocation.
+ (Free_Entry_Names_Array): Removed.
+ (Number_Of_Entries): New routine.
+ (Set_Entry_Names): New routine.
+ * s-taskin.ads: Rename type Entry_Names_Array to
+ Task_Entry_Names_Array. Rename type Entry_Names_Array_Access
+ to Task_Entry_Names_Access. Update the type of ACTB field
+ Entry_Names and add a comment on its protection status.
+ (Free_Entry_Names_Array): Removed.
+ (Number_Of_Entries): New routine.
+ (Set_Entry_Names): New routine.
+ * s-tassta.adb (Create_Task): Remove formal parameter
+ Build_Entry_Names. Do not allocate an array to hold the
+ string names of entries and families.
+ (Free_Entry_Names): Removed.
+ (Free_Task): Remove the call to Free_Entry_Names.
+ (Set_Entry_Name): Removed.
+ (Vulnerable_Free_Task): Remove the call to Free_Entry_Names.
+ * s-tassta.ads (Create_Task): Remove formal parameter
+ Build_Entry_Names along with associated comment.
+ (Set_Entry_Name): Removed.
+ * s-tpoben.adb: Remove with clause for Ada.Unchecked_Deallocation.
+ (Finalize): Remove the call to Free_Entry_Names.
+ (Free_Entry_Names): Removed.
+ (Initialize_Protection_Entries):
+ Remove formal parameter Build_Entry_Names. Do not allocate
+ an array to hold the string names of entries and families.
+ (Number_Of_Entries): New routine.
+ (Set_Entry_Name): Removed.
+ (Set_Entry_Names): New routine.
+ * s-tpoben.ads: Add types Protected_Entry_Names_Array and
+ Protected_Entry_Names_Access. Update the type of Protection_Enties
+ field Entry_Names.
+ (Initialize_Protection_Entries): Remove
+ formal parameter Build_Entry_Names along with associated comment.
+ (Number_Of_Entries): New routine.
+ (Set_Entry_Name): Removed.
+ (Set_Entry_Names): New routine.
+
+2012-10-29 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_ugn.texi: Minor typo fix.
+2012-10-29 Yannick Moy <moy@adacore.com>
+
+ * debug.adb Associate debug switch -gnatd.V to extensions for
+ formal verification.
+ * gnat1drv.adb (Adjust_Global_Switches): Set flag S14_Extensions
+ when -gnatd.V is set.
+ * gnat_rm.texi: Remove doc for Assert_And_Cut.
+ * opt.ads Declare new flag S14_Extensions, to be set when new
+ aspects/pragmas/attributes for formal verification should be
+ accepted.
+ * sem_prag.adb (Analyze_Pragma): Check that S14_Extensions is
+ set when treating pragma Assert_And_Cut.
+
+2012-10-29 Tristan Gingold <gingold@adacore.com>
+
+ * s-tarest.ads, s-tassta.adb: Add a pragma Partition_Elaboration_Policy.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb: Minor reformatting.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * xr_tabls.adb, xr_tabls.ads, exp_ch9.adb, snames.adb-tmpl,
+ snames.ads-tmpl, exp_ch3.adb: Minor reformatting.
+
+2012-10-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb: Call Build_Subprogrm_Instance_Renamings only when
+ generating code.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Add documentation for -gnatw.k/-gnatw.K.
+ * ug_words: Add entries for -gnatw.k/.K for [NO]STANDARD_REDEFINITION.
+ * vms_data.ads: Add entries for [NO]STANDARD_REDEFINITION.
+
+2012-10-29 Tristan Gingold <gingold@adacore.com>
+
+ * exp_ch9.adb, s-tarest.ads, exp_ch3.adb: Update comments.
+
+2012-10-29 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi: Minor documentation addition.
+
+2012-10-29 Emmanuel Briot <briot@adacore.com>
+
+ * xr_tabls.adb, xr_tabls.ads (Add_Declaration, Add_Reference): No
+ longer assume that a parameter declaration is seen after the subprogram
+ that uses it.
+
+2012-10-29 Tristan Gingold <gingold@adacore.com>
+
+ * lib-writ.adb (Write_ALI): Emit partition elaboration policy
+ in P line.
+ * lib-writ.ads: Document partition elaboration policy indication.
+ * sem_prag.adb (Check_Arg_Is_Partition_Elaboration_Policy): New
+ procedure.
+ (Analyze_Pragma): Handle Partition_Elaboration_Policy.
+ (Sig_Flags): Add flag for Pragma_Partition_Elaboration_Policy
+ * ali.adb (Initialize_ALI): Init Partition_Elaboration_Policy_Specified.
+ (Scan_ALI): Read Ex indications.
+ * ali.ads: ALIs_Record: Add Partition_Elaboration_Policy.
+ * par-prag.adb (Prag): Add Partition_Elaboration_Policy.
+ * snames.adb-tmpl (Is_Partition_Elaboration_Policy_Name): New function.
+ * opt.ads (Partition_Elaboration_Policy): Declare.
+ (Partition_Elaboration_Policy_Sloc): Declare.
+ * bcheck.adb (Check_Consistent_Partition_Elaboration_Policy):
+ New procedure. (Check_Configuration_Consistency): Check partition
+ elaboration policy consistency.
+ * snames.ads-tmpl (Name_Partition_Elaboration_Policy): New name.
+ (First_Partition_Elaboration_Policy_Name, Name_Concurrent,
+ Name_Sequential, Last_Partition_Elaboration_Policy_Name): Likewise.
+ (Pragma_Partition_Elaboration_Policy): New literal.
+ (Is_Partition_Elaboration_Policy_Name): New function.
+
+2012-10-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Is_Public_Subprogram_For): Handle properly
+ expression functions, which are rewritten as subprogram
+ declarations, when generating invariants for its return value
+ and in-out parameters.
+
+2012-10-29 Arnaud Charlet <charlet@adacore.com>
+
+ * warnsw.adb (Set_GNAT_Mode_Warnings): Unset
+ Warn_On_Standard_Redefinition.
+
+2012-10-29 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Derive_Progenitor_Subprograms): Complete documentation.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * par-ch11.adb (Warn_If_Standard_Redefinition): Add calls.
+ * par-ch3.adb (P_Defining_Identifier): Call
+ Warn_If_Standard_Redefinition if not inside record definition.
+ * par-ch6.adb (Warn_If_Standard_Redefinition): Add calls.
+ * par-util.adb (Warn_If_Standard_Redefinition): New procedure.
+ * par.adb (Inside_Record_Definition): New flag.
+ (Warn_If_Standard_Redefinition): New procedure.
+ * sinfo-cn.adb (Change_Identifier_To_Defining_Identifier): Remove
+ handling of warning for redefining standard name (moved to Par*).
+
+2012-10-29 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Derive_Progenitor_Subprograms): Disable small
+ optimization in generic formal types.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch9.adb, exp_ch3.adb: Add comments.
+ * sem_prag.adb: Minor reformatting.
+
+2012-10-29 Tristan Gingold <gingold@adacore.com>
+
+ * bindgen.adb (Gen_Output_File_Ada): Do not emit declaration for
+ Is_Elaborated if not referenced.
+
+2012-10-29 Tristan Gingold <gingold@adacore.com>
+
+ * exp_ch9.adb (Build_Activation_Chain_Entity): Punt in restricted
+ profile.
+ * exp_ch3.adb (Build_Initialization_Call): Do no append _Chain
+ parameter in restricted profile.
+ (Build_Init_Call_Thru): Likewise.
+ (Init_Formals): Likewise.
+ * exp_ch3.adb: Minor reformatting.
+
+2012-10-29 Arnaud Charlet <charlet@adacore.com>
+
+ * usage.adb: Update usage line for -gnatw.k.
+
+2012-10-29 Yannick Moy <moy@adacore.com>
+
+ * sem_prag.adb: Code clean up.
+
+2012-10-29 Vincent Celier <celier@adacore.com>
+
+ * projects.texi: Clarify documentation of attribute
+ Ignore_Source_Sub_Dirs.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * g-sechas.adb, g-sechas.ads, exp_ch9.adb, bindgen.adb, exp_dbug.adb,
+ exp_dbug.ads: Minor reformatting.
+
+2012-10-29 Pascal Obry <obry@adacore.com>
+
+ * g-sechas.adb, g-sechas.ads: (Binary_Message_Digest): New subtype.
+ (Digest): New versions returning a Binary_Message_Digest.
+ (Wide_Digest): Likewise.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * warnsw.adb: Complete previous change.
+
+2012-10-29 Tristan Gingold <gingold@adacore.com>
+
+ * bindgen.adb (Check_File_In_Partition, Check_System_Restrictions_Used):
+ Removed.
+ (Check_Dispatching_Domains_Used): Removed.
+ (Gen_Adafinal): Remove call to above procedures.
+ (Resolve_Binder_Options): Handle system restrictions and dispatching
+ domains.
+
+2012-10-29 Tristan Gingold <gingold@adacore.com>
+
+ * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Remove
+ Chain parameter.
+ * exp_ch9.adb (Make_Task_Create_Call): Do not add Chain parameter
+ on restricted runtime.
+
+2012-10-29 Pascal Obry <obry@adacore.com>
+
+ * g-sechas.adb, g-sechas.ads: Minor code clean-up.
+
+2012-10-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aux.adb (Get_Rep_Item): Treat Priority and Interrupt_Priority
+ as equivalent, because only one of them can be specified for a
+ task, protected definition, or subprogram body.
+ * aspects.adb ((Same_Aspect): The canonical aspect of
+ Interrupt_Priority is Priority.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch13.adb: Minor reformatting.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * i-cstrea.ads: Avoid redefinition of standard symbol string.
+ * prj-makr.adb: Add comment for OK redefinition of Stadard.
+ * prj.ads: Add comment for OK redefinition of Stadard.
+ * s-crtl.ads: Avoid redefinition of standard symbol string.
+ * sinfo-cn.adb (Change_Identifier_To_Defining_Identifier):
+ Generate warning for standard redefinition if
+ Warn_On_Standard_Definition set.
+ * usage.adb: Add lines for -gnatw.k and -gnatw.K
+ * warnsw.adb: Set/reset Warn_On_Standard_Redefinition
+ appropriately.
+ * warnsw.ads (Warn_On_Standard_Redefinition): New flag.
+ * s-stratt-xdr.adb: Avoid new warning.
+
+2012-10-29 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_dbug.ads, exp_dbug.adb (Build_Subprogram_Instance_Renamings):
+ in the body of a subpogram instance, introduce local renamings
+ for actuals of an elementary type, so that GDB can recover the
+ values of these actuals more directly.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch5.adb (Analyze_Loop_Statement): Add warning for identical
+ inner/outer ranges.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads: Change terminology "present" to "defined" in talking
+ about whether a given field is defined for a given entity kind.
+
+2012-10-29 Bob Duff <duff@adacore.com>
+
+ * atree.ads: Minor comment fix.
+
+2012-10-29 Bob Duff <duff@adacore.com>
+
+ * sem_ch13.adb (Replace_Type_Reference): Set_Comes_From_Source.
+ Otherwise, the node is ignored by ASIS.
+ * sem_ch5.adb: Minor reformatting.
+
+2012-10-29 Thomas Quinot <quinot@adacore.com>
+
+ * exp_attr.adb, exp_dist.adb, exp_dist.ads (Build_To_Any_Call): Pass
+ an explicit Loc parameter to set the source location of generated
+ nodes.
+
+2012-10-29 Tristan Gingold <gingold@adacore.com>
+
+ * exp_ch9.adb (Build_Task_Activation_Call): Do nothing on
+ restricted profile.
+ * bindgen.adb (System_Tasking_Restricted_Stages_Used): New variable.
+ (Gen_Adainit): Declare and call Activate_Tasks when the above variable
+ is set.
+ (Resolve_Binder_Options): Set the variable.
+ * rtsfind.ads (RE_Activate_Restricted_Tasks): Removed (now unused).
+ * s-tarest.adb (Tasks_Activation_Chain): New variable.
+ (Activate_Restricted_Tasks): Removed, and replaced by ...
+ (Activate_Tasks): New procedure, to activate all tasks at
+ the end of elaboration.
+ (Create_Restricted_Tasks): Chain parameter is now unreferenced. Put
+ the created task on the Tasks_Activation_Chain list.
+ * s-tarest.ads (Activate_Restricted_Tasks): Removed.
+ (Activate_Tasks): Added.
+
+2012-10-29 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_res.adb (Resolve_If_Expression): Compare subtype of the 'then'
+ expression against the subtype of the expression rather than comparing
+ base types, same as is already done for the 'else' expression.
+
+2012-10-29 Steve Baird <baird@adacore.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If CodePeer_Mode
+ = True and we detect that an Address specification is used to overlay
+ another object, do not set that object's Treat_As_Volatile flag.
+
+2012-10-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Constant_Redeclaration): If the type of a
+ deferred constant has invariants, generate invariant call on
+ the initial value.
+
+2012-10-29 Bob Duff <duff@adacore.com>
+
+ * sem_ch13.adb (Replace_Type_Reference): Use correct sloc for
+ the new node.
+
+2012-10-29 Thomas Quinot <quinot@adacore.com>
+
+ * sem_elab.adb: Minor reformatting and code reorganization.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * par-ch4.adb (P_Primary): Warn on bad use of unary minus.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * s-valuti.ads, s-valuti.adb (Bad_Value): New procedure.
+ * s-valllu.adb, s-valwch.adb, s-valcha.adb, s-valint.adb,
+ s-valuns.adb, s-valrea.adb, s-valboo.adb, s-valenu.adb,
+ s-vallli.adb: Use Bad_Value everywhere.
+
+2012-10-29 Yannick Moy <moy@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): Do not suppress checks
+ in Alfa mode.
+
+2012-10-29 Yannick Moy <moy@adacore.com>
+
+ * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
+ Add special case for case expression alternative.
+ (Is_Signed_Integer_Arithmetic_Op): Remove special case for case
+ expression alternative.
+ * exp_ch4.adb Minor reformatting.
+
+2012-10-29 Thomas Quinot <quinot@adacore.com>
+
+ * sem_elab.adb: Minor reformatting.
+
+2012-10-29 Bob Duff <duff@adacore.com>
+
+ * sem_res.adb: Minor: Remove redundant test.
+
+2012-10-29 Arnaud Charlet <charlet@adacore.com>
+
+ * pprint.ads, pprint.adb, adabkend.ads, adabkend.adb,
+ aa_util.ads, aa_util.adb: New.
+
+2012-10-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * system-linux-mipsel.ads (Stack_Check_Probes): Set to True.
+ * system-linux-mips.ads (Stack_Check_Probes): Likewise.
+ * system-linux-mips64el.ads (Stack_Check_Probes): Likewise.
+
+2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Force
+ BLKmode on the type if it is passed by reference.
+ <E_Array_Subtype>: Likewise.
+ <E_Record_Type>: Guard the call to Is_By_Reference_Type predicate.
+ <E_Record_Subtype>: Likewise.
+
+ * gcc-interface/Makefile.in: Remove outdated comment and reference to
+ non-existing file.
+
+2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (rest_of_record_type_compilation): Simplify and
+ robustify pattern machine code for masking operations.
+
+2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: In
+ type annotation mode, break circularities introduced by AI05-0151.
+
+2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Loop_Statement_to_gnu): Use gnat_type_for_size
+ directly to obtain an unsigned version of the base type.
+
+2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Out_Parameter>: Do not
+ generate the special PARM_DECL for an Out parameter in LTO mode.
+
+2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR bootstrap/54820
+ * gcc-interface/Make-lang.in (GCC_LINK): Remove hardcoded options.
+
+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>
+
+ PR ada/54614
+ * s-gearop.adb (Vector_Matrix_Product): Fix dimension check and index
+ of Left in S evaluation.
+
+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
+ E at line 331).
+ * g-sercom.ads, exp_attr.adb: Minor reformatting.
+ * sinfo.adb, sinfo.ads: Minor cleanup, remove unused flag
+ Static_Processing_OK.
+
+2012-08-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Build_Derived_Concurrent_Type): Copy discriminant
+ constraint when building a constrained subtype, to prevent
+ undesirable tree sharing betweeb geberated subtype and derived
+ type definition.
+
+2012-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * g-sercom-mingw.adb, s-oscons-tmplt.c: Add missing constants
+ on Windows.
+
+2012-08-06 Sergey Rybin <rybin@adacore.com frybin>
+
+ * tree_io.ads: Update ASIS_Version_Number because of the tree fix
+ for discriminant constraints for concurrent types.
+
+2012-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch4.adb: Minor reformatting.
+
+2012-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * s-oscons-tmplt.c, xoscons.adb: Per the Single UNIX Specification,
+ types cc_t, speed_t, and tcflag_t defined in <termios.h> all are
+ unsigned types. Add required special handling to have their correct
+ unsigned values in s-oscons.ads.
+
+2012-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * par-ch13.adb: Minor reformatting.
+
+2012-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * g-sercom.adb, g-sercom.ads, g-sercom-mingw.adb, g-sercom-linux.adb
+ (Set): Add Local and Flow_Control settings.
+
+2012-08-06 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_attr.adb: Suppress saving of 'Old if assertions are not
+ enabled.
+
+2012-08-06 Yannick Moy <moy@adacore.com>
+
+ * sem_ch4.adb (Analyze_Selected_Component): Issue an error in
+ Alfa mode for component not present.
+
+2012-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch7.adb (Insert_Actions_In_Scope_Around): Do not
+ use a renaming of Scope_Stack.Table (Scope_Stack.Last), as
+ Process_Transient_Object may introduce new scopes and cause
+ Scope_Stack.Table to be reallocated.
+
+2012-08-06 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb, switch-c.adb, inline.ads, sem_ch10.adb, types.ads,
+ checks.adb, sem_prag.adb, sem.adb, sem.ads, sem_res.adb, sem_attr.adb,
+ gnat1drv.adb, exp_ch4.adb, exp_ch6.adb, opt.ads, osint.adb: Implement
+ extended overflow checks (step 1).
+ (Overflow_Check_Type, Suppress_Record, Suppress_All): New types.
+ (Suppress_Array): Extended to include switches to control extended
+ overflow checking (and renamed to Suppress_Record).
+ Update all uses of Suppress_Array.
+
+2012-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * makeutl.ads: Minor documentation fix.
+
+2012-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch7.adb: Minor reformatting.
+
+2012-08-06 Geert Bosch <bosch@adacore.com>
+
+ * a-ngelfu.adb: Change obsolete comment that this is a non-strict
+ implementation.
+
+2012-08-06 Steve Baird <baird@adacore.com>
+
+ * exp_ch7.adb (Build_Finalizer.Process_Object_Declaration): If
+ CodePeer_Mode = True then omit exception handlers for finalization calls
+
+2012-08-06 Robert Dewar <dewar@adacore.com>
+
+ * exp_aggr.adb: Minor reformatting.
+
+2012-08-06 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb: Remove useless flag Body_Deleted.
+
+2012-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * sinfo.ads (End_Span): Change default from No_Uint to Uint_0,
+ as this is what all usage occurrences of this attribute are
+ expecting.
+ * uintp.adb (UI_To_Int): Add assertion to guard against calling
+ with No_Uint.
+
+2012-08-06 Vincent Pucci <pucci@adacore.com>
+
+ PR ada/54125
+ * exp_attr.adb (Expand_N_Attribute_Reference): Expand new
+ Atomic_Always_Lock_Free attribute.
+ * sem_attr.adb (Analyze_Attribute): Analyze new
+ Atomic_Always_Lock_Free attribute.
+ (Eval_Attribute): Nothing to do with new Atomic_Always_Lock_Free
+ attribute.
+ * sem_ch9.adb (Allows_Lock_Free_Implementation):
+ Support_Atomic_Primitives check replaces previous erroneous
+ size check.
+ * sem_util.adb, sem_util.ads (Support_Atomic_Primitives):
+ New routine.
+ * snames.ads-tmpl: New name Name_Atomic_Always_Lock_Free and
+ new attribute Attribute_Atomic_Always_Lock_Free defined.
+ * s-atopri.adb: Support_Atomic_Primitives checks replaced by
+ Atomic_Always_Lock_Free queries.
+ * system-aix64.ads, system-aix.ads, system-darwin-ppc.ads,
+ system-hpux.ads, system-linux-alpha.ads, system-linux-hppa.ads,
+ system-linux-ppc.ads, system-linux-s390.ads,
+ system-linux-s390x.ads, system-linux-sh4.ads,
+ system-linux-sparc.ads, system-lynxos178-ppc.ads,
+ system-lynxos-ppc.ads, system-mingw.ads,
+ system-vxworks-arm.ads, system-solaris-sparc.ads,
+ system-solaris-sparcv9.ads, system-vms_64.ads,
+ system-vxworks-m68k.ads, system-vxworks-mips.ads,
+ system-vxworks-ppc.ads, system-vxworks-sparcv9.ads: Flag
+ Support_Atomic_Primitives removed.
+
+2012-08-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_mech.adb (Set_Mechanisms): OUT and IN OUT parameters are
+ now unconditionally passed by reference. IN parameters subject
+ to convention C_Pass_By_Copy are passed by copy, otherwise they
+ are passed by reference.
+
+2012-08-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Analyze_Object_Declaration): According to
+ AI95-0303, protected objects with interrupt handlers can be
+ declared in nested scopes. This is a binding interpretation,
+ and thus applies to all versions of the compiler.
+
+2012-08-06 Robert Dewar <dewar@adacore.com>
+
+ * frontend.adb, exp_aggr.adb: Minor reformatting.
+
+2012-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * par-endh.adb: Minor reformatting.
+
+2012-08-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Process_Transient_Objects): Remove obsolete loop
+ processing related to array initialization. The expansion of
+ loops already contains a mechanism to detect controlled objects
+ generated by expansion and introduce a block around the loop
+ statements for finalization purposes.
+
+2012-08-06 Vincent Pucci <pucci@adacore.com>
+
+ * sem_ch13.adb: Current scope must be within
+ or same as the scope of the entity while analysing aspect
+ specifications at freeze point.
+
+2012-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb: Add note about dubious SCO for TERMINATE
+ alternative.
+ * sem_ch8.adb, exp_ch11.adb: Minor reformatting.
+
+2012-08-06 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Two_Dim_Packed_Array_Handled): New procedure to
+ transform an aggregate for a packed two-dimensional array into
+ a one-dimensional array of constant values, in order to avoid
+ the generation of component-by-component assignments.
+
+2012-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * frontend.adb: Do not attempt to process deferred configuration
+ pragmas if the main unit failed to load, to avoid cascaded
+ inconsistencies that can lead to a compiler crash.
+
+2012-08-06 Vincent Pucci <pucci@adacore.com>
+
+ * s-atopri.adb: Minor reformatting.
+
+2012-08-06 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat-style.texi: Clarify that all subprograms should be
+ documented. Minor rewording.
+
+2012-08-06 Robert Dewar <dewar@adacore.com>
+
+ * aspects.ads: Define Aspect_Id_Exclude_No_Aspect.
+ * par-ch13.adb, restrict.adb: Use Aspect_Id_Exclude_No_Aspect to
+ simplify code.
+
+2012-08-06 Yannick Moy <moy@adacore.com>
+
+ * gnat-style.texi: Update style guide for declarations.
+
+2012-08-06 Yannick Moy <moy@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute): In the case for 'Old,
+ skip a special expansion which is not needed in Alfa mode.
+
+2012-08-06 Yannick Moy <moy@adacore.com>
+
+ * sem_ch5.adb (Analyze_Iterator_Specification): Do not perform
+ an expansion of the iterator in Alfa mode.
+
+2012-08-06 Robert Dewar <dewar@adacore.com>
+
+ * s-oscons-tmplt.c, sem_ch9.adb, osint.adb: Minor reformatting.
+
+2012-08-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Remove obsolete
+ Alfa-specific guard. The code is a leftover from an early
+ implementation of iterators which is no longer in use.
+
+2012-08-06 Vincent Celier <celier@adacore.com>
+
+ * par-ch13.adb (Get_Aspect_Specifications): Do not consider
+ No_Aspect when checking for a mispelled aspect.
+
+2012-08-06 Robert Dewar <dewar@adacore.com>
+
+ * s-htable.adb: Minor reformatting.
+
+2012-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * s-oscons-tmplt.c, g-socket.adb (System.OS_Constants.Target_OS):
+ Suppress warnings so that we don't have to do it at each usage.
+
+2012-08-06 Vincent Pucci <pucci@adacore.com>
+
+ * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body):
+ Use of Known_Static_Esize instead of Known_Esize and
+ Known_Static_RM_Size instead of Known_RM_Size in order to
+ properly call UI_To_Int. Don't check the size of the component
+ type in case of generic.
+ * sem_ch9.adb (Allows_Lock_Free_Implementation):
+ Use of Known_Static_Esize instead of Known_Esize and
+ Known_Static_RM_Size instead of Known_RM_Size in order to properly
+ call UI_To_Int. Don't check the size of the component type in
+ case of generic.
+
+2012-08-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * checks.adb (Discrete_Range_Cond): Do not try to optimize on
+ the assumption that the type of an expression can always fit in
+ the target type of a conversion.
+
+2012-07-30 Robert Dewar <dewar@adacore.com>
+
+ * bindusg.adb: Clarify file in -A lines.
+
+2012-07-30 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb: Minor reformatting.
+
+2012-07-30 Robert Dewar <dewar@adacore.com>
+
+ * gnatcmd.adb, makeutl.adb, makeutl.ads: Minor code reorganization.
+
+2012-07-30 Vincent Pucci <pucci@adacore.com>
+
+ * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body): Minor
+ reformatting.
+ * sem_ch9.adb (Allows_Lock_Free_Implementation): Minor reformatting.
+ Capture the correct error message in case of a quantified expression.
+
+2012-07-30 Thomas Quinot <quinot@adacore.com>
+
+ * g-socket.adb (Get_Socket_Option, Set_Socket_Option): On Windows, the
+ value is a milliseconds count in a DWORD, not a struct timeval.
+
+2012-07-30 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch12.adb (Earlier): Add local variables T1 and T2. Minor code
+ refactoring.
+
+2012-07-30 Thomas Quinot <quinot@adacore.com>
+
+ * gnatcmd.adb, make.adb, makeutl.adb, makeutl.ads
+ (Test_If_Relative_Path): Rename to Ensure_Absolute_Path to better
+ reflect what this subprogram does. Rename argument Including_L_Switch
+ to For_Gnatbind, and also exempt -A from rewriting.
+ * bindusg.adb: Document optional =file argument to gnatbind -A.
+
+2012-07-30 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Do no apply restriction check on
+ storage pools to access to subprogram types.
+
+2012-07-30 Robert Dewar <dewar@adacore.com>
+
+ * par_sco.adb, a-cihama.adb, a-coinve.adb, exp_ch7.adb, a-ciorse.adb,
+ exp_ch9.adb, sem_dim.adb, par-ch13.adb, sem_ch9.adb, a-cidlli.adb,
+ a-cimutr.adb, freeze.adb, a-ciormu.adb, sem_res.adb, sem_attr.adb,
+ a-cihase.adb, exp_ch4.adb, sem_ch4.adb, a-ciorma.adb,
+ s-tasinf-linux.ads, sem_ch13.adb, a-coinho.adb: Minor reformatting.
+ Add comments.
+
+2012-07-30 Vincent Pucci <pucci@adacore.com>
+
+ * sem_ch9.adb (Allows_Lock_Free_Implementation): Restrict implicit
+ dereferences of access values.
+
+2012-07-27 Iain Sandoe <iain@codesourcery.com>
+
+ * system-darwin-ppc64.ads: Add Support_Atomic_Primitives, set to True.
+
+2012-07-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils2.c (gnat_stabilize_reference) <BIT_FIELD_REF>: Do
+ not stabilize operand #1 and #2.
+
+2012-07-23 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): Use
+ End_Label sloc when possible for sloc of the TRY_CATCH_EXPR node.
+
+2012-07-23 Olivier Hainque <hainque@adacore.com>
+
+ * gcc-interface/Makefile.in: Adjust processing of Linker_Options for
+ VxWorks.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2012-07-23 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tasinf-linux.ads: Fix typo.
+
+2012-07-23 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch7.adb, switch-m.adb, exp_ch3.adb, freeze.adb: Minor reformatting
+
+2012-07-23 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): If original
+ loop carries an identifier, preserve it when rewriting it as a
+ standard loop to validate exit statements that may reference
+ that name in the body of the loop.
+
+2012-07-23 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch9.adb: Minor code cleanup.
+
+2012-07-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Analyze_Selected_Component): When checking for
+ potential ambiguities with class-wide operations on synchronized
+ types, attach the copied node properly to the tree, to prevent
+ errors during expansion.
+
+2012-07-23 Yannick Moy <moy@adacore.com>
+
+ * sem_ch5.adb (Analyze_Loop_Statement): Make sure the loop body
+ is analyzed in Alfa mode.
+
+2012-07-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb: Adjust previous change.
+
+2012-07-23 Vincent Pucci <pucci@adacore.com>
+
+ * sem_ch9.adb (Allows_Lock_Free_Implementation): Flag
+ Lock_Free_Given renames previous flag Complain. Description
+ updated. Henceforth, catch every error messages issued by this
+ routine when Lock_Free_Given is True. Declaration restriction
+ updated: No non-elementary parameter instead (even in parameter)
+ New subprogram body restrictions implemented: No allocator,
+ no address, import or export rep items, no delay statement,
+ no goto statement, no quantified expression and no dereference
+ of access value.
+
+2012-07-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * checks.adb (Determine_Range): Add local variable Btyp. Handle
+ the case where the base type of an enumeration subtype is
+ private. Replace all occurrences of Base_Type with Btyp.
+ * exp_attr.adb (Attribute_Valid): Handle the case where the
+ base type of an enumeration subtype is private. Replace all
+ occurrences of Base_Type with Btyp.
+ * sem_util.adb (Get_Enum_Lit_From_Pos): Add local variable
+ Btyp. Handle the case where the base type of an enumeration
+ subtype is private. Replace all occurrences of Base_Type with
+ Btyp.
+
+2012-07-23 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch6.adb (P_Mode): in Ada 2005, a mode indicator can apply
+ to a formal object of an anonymous access type.
+
+2012-07-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Try_Container_Indexing): A user-defined indexing
+ aspect can have more than one index, e.g. to describe indexing
+ of a multidimensional object.
+
+2012-07-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Apply_Accessibility_Check): Reimplemented. The check is
+ now more complex and contains optional finalization part and mandatory
+ deallocation part.
+
+2012-07-23 Gary Dismukes <dismukes@adacore.com>
+
+ * a-cihama.adb, a-cihase.adb, a-cimutr.adb, a-ciorma.adb, a-ciormu.adb,
+ a-ciorse.adb, a-coinho.adb, a-coinve.adb, a-cidlli.adb: Unsuppress
+ Accessibility_Check for Element_Type allocators.
+
+2012-07-23 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * projects.texi: Fix typo.
+
+2012-07-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Explicit_Derenference): If prefix is
+ overloaded, remove those interpretations whose designated type
+ does not match the context, to avoid spurious ambiguities that
+ may be caused by the Ada 2012 conversion rule for anonymous
+ access types.
+
+2012-07-23 Vincent Celier <celier@adacore.com>
+
+ * g-spitbo.adb (Substr (String)): Return full string and do not
+ raise exception when Start is 1 and Len is exactly the length
+ of the string parameter.
+ * g-spitbo.ads: Fix spelling error in the name of exception
+ Index_Error.
+
+2012-07-23 Ed Schonberg <schonberg@adacore.com>
+
+ * par.adb: new subprogram Get_Aspect_Specifications.
+ * par-ch6.adb (P_Subprogram): handle subprogram bodies with aspect
+ specifications.
+ * par-ch13.adb (Get_Aspect_Specifications): extracted from
+ P_Aspect_Specifications. Collect aspect specifications in some
+ legal context, but do not attach them to any declaration. Used
+ when parsing subprogram declarations or bodies that include
+ aspect specifications.
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): If aspects are
+ present, analyze them, or reject them if the subprogram as a
+ previous spec.
+
+2012-07-23 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * gnat_ugn.texi: Omit section on other platforms/runtimes support
+ in gnattest for vms version.
+
+2012-07-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications):
+ Handle properly aspects that can be specified on a subprogram
+ body: CPU, Priority, and Interrupt_Priority.
+
+2012-07-23 Claire Dross <dross@adacore.com>
+
+ * a-cfdlli.ads: Switch definition of Constant_Reference_Type
+ and Empty_List.
+
+2012-07-23 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb (Process_Decisions.Output_Header): For the guard
+ on an alternative in a SELECT statement, use the First_Sloc
+ of the guard expression (not its topmost sloc) as the decision
+ location, because this is what is referenced by dominance markers.
+
+2012-07-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Requires_Hooking): Examine the original expression
+ of an object declaration node because a function call that
+ returns on the secondary stack may have been rewritten into
+ something else.
+
+2012-07-23 Vincent Pucci <pucci@adacore.com>
+
+ * sem_dim.adb (Analyze_Dimension_Has_Etype): For identifier, propagate
+ dimension when entity is a non-dimensionless constant.
+ (Analyze_Dimension_Object_Declaration): Propagate
+ dimension from the expression to the entity when type is a
+ dimensioned type and object is a constant.
+
+2012-07-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute, case 'Old): if the prefix
+ is not an entity name, expand at once so that code generated by
+ the expansion of the prefix is not generated before the constant
+ that captures the old value is properly inserted and analyzed.
+
+2012-07-23 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch9.adb (Ensure_Statement_Present): Mark generated NULL
+ statement as Comes_From_Source so that GIGI does not eliminate it.
+
+2012-07-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch12.adb (Insert_Freeze_Node_For_Instance): Inst is now
+ a local variable. Retrieve the related instance when processing
+ a subprogram instantiation. Such instances appear as wrapper
+ packages.
+
+2012-07-23 Vincent Pucci <pucci@adacore.com>
+
+ * system-aix64.ads, system-aix.ads, system-darwin-ppc.ads,
+ system-hpux.ads, system-linux-alpha.ads,
+ system-linux-hppa.ads, system-linux-ppc.ads,
+ system-linux-s390.ads, system-linux-s390x.ads,
+ system-linux-sh4.ads, system-linux-sparc.ads,
+ system-lynxos-ppc.ads, system-mingw.ads,
+ system-solaris-sparc.ads, system-solaris-sparcv9.ads,
+ system-vms_64.ads, * system-vxworks-arm.ads, system-vxworks-m68k.ads,
+ system-vxworks-mips.ads, system-vxworks-ppc.ads,
+ system-vxworks-sparcv9.ads: Support_Atomic_Primitives set to False.
+ * system-darwin-x86.ads, system-darwin-x86_64.ads,
+ system-freebsd-x86.ads, system-freebsd-x86_64.ads,
+ system-hpux-ia64.ads, system-linux-ia64.ads, system-linux-x86.ads,
+ system-linux-x86_64.ads, system-lynxos-x86.ads,
+ system-mingw-x86_64.ads, system-solaris-x86.ads,
+ system-solaris-x86_64.ads, system-vms-ia64.ads,
+ system-vxworks-x86.ads: Support_Atomic_Primitives set to True.
+ * s-atopri.adb (Lock_Free_Read_X): New body.
+ (Lock_Free_Try_Write_X): Support_Atomic_Primitives check added.
+ (Lock_Free_Try_Write_64): New body.
+ * s-atopri.ads: New type uint.
+ (Sync_Compare_And_Swap_64): __sync_val_compare_and_swap_8 intrinsic
+ import.
+ (Lock_Free_Read_X): Body moved to s-atopri.adb.
+ (Lock_Free_Try_Write_64): Similar to other Lock_Free_Try_Write_X
+ routines.
+ * targparm.adb: New enumeration literal SAP
+ (Support_Atomic_Primitives) for type Targparm_Tags. New constant
+ SAP_Str. New component SAP_Str'Access for array Targparm_Str.
+ (Get_Target_Parameters): Parse Support_Atomic_Primitives_On_Target
+ flag.
+ * targparm.ads: New back-end code generation flag
+ Support_Atomic_Primitives_On_Target
+
+2012-07-23 Vincent Pucci <pucci@adacore.com>
+
+ * gnat_ugn.texi: Dimensionality checking documentation updated.
+
+2012-07-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Make_Inline): If the pragma applies to a
+ subprogram renaming, set inline flags on both the renamed entity
+ and on the renaming, so that some ASIS queries can be handled
+ consistently in the absence of expansion.
+
+2012-07-23 Fedor Rybin <frybin@adacore.com>
+
+ * gnat_ugn.texi: Removing obsolete limitation of gnattest
+ to support only ada05. Updating gnattest support for other
+ platforms/run-times section to reflect the usage of taget
+ prefix in gnattest calls. Fixing missed obsolete --stub-default
+ option name.
+
+2012-07-23 Robert Dewar <dewar@adacore.com>
+
+ * uintp.adb: Minor reformatting.
+
+2012-07-23 Olivier Hainque <hainque@adacore.com>
+
+ * system-vxworks-ppc.ads: Replace the default
+ Linker_Options requesting crtbe by a commented out request for
+ -nostartfiles.
+
+2012-07-23 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Check_Naming): Do not get the exceptions names
+ in a virtual project.
+
+2012-07-23 Robert Dewar <dewar@adacore.com>
+
+ * layout.adb, sem_prag.adb, sem.ads, freeze.adb,
+ switch-m.adb, exp_disp.adb, system-vxworks-ppc.ads, exp_ch6.adb: Minor
+ reformatting.
+
+2012-07-23 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/trans.c: (Handled_Sequence_Of_Statements_to_gnu): Set
+ location on TRY_CATCH_EXPR.
+
+2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Try to ensure
+ that an object of CW type initialized to a value is sufficiently
+ aligned for this value.
+
+2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Do not
+ look up the REP part of the base type in advance. Deal with that of
+ the variant types.
+ (get_rep_part): Be prepared for record types with fields.
+
+2012-07-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (stmt_group_may_fallthru): New function.
+ (gnat_to_gnu) <N_Block_Statement>: Use it to find out whether the
+ block needs to be translated.
+
+2012-07-17 Tristan Gingold <gingold@adacore.com>
+
+ * gnat_rm.texi: Adjust previous change.
+
+2012-07-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Process_Import_Or_Interface): If the pragma
+ comes from an aspect, it applies to the corresponding entity
+ without further check.
+
+2012-07-17 Olivier Hainque <hainque@adacore.com>
+
+ * initialize.c (__gnat_initialize for VxWorks): Remove section with
+ call to __gnat_vxw_setup_for_eh.
+ * system-vxworks-ppc.ads: Add -auto-register to -crtbe, relying
+ on the VxWorks constructor mechanism for network loaded modules
+ by default.
+
+2012-07-17 Tristan Gingold <gingold@adacore.com>
+
+ * adaint.c: Minor reformatting.
+
+2012-07-17 Pascal Obry <obry@adacore.com>
+
+ * s-regexp.adb (Adjust): Fix access violation in Adjust.
+
+2012-07-17 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Warn if an imported subprogram
+ has pre/post conditions, because these will not be enforced.
+
+2012-07-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch7.adb (Process_Transient_Objects): Put all the
+ finalization blocks and the final raise statement into a wrapper
+ block.
+
+2012-07-17 Vincent Pucci <pucci@adacore.com>
+
+ * s-atopri.adb (Lock_Free_Try_Write_X): Atomic_Compare_Exchange_X
+ replaced by Sync_Compare_And_Swap_X.
+ (Lock_Free_Try_Write_64): Removed.
+ * s-atopri.ads (Sync_Compare_And_Swap_X): Replaces previous
+ routine Atomic_Compare_Exchange_X.
+ (Lock_Free_Read_64): Renaming of Atomic_Load_64.
+ (Lock_Free_Try_Write_64): Renaming of Sync_Compare_And_Swap_64.
+
+2012-07-17 Vincent Celier <celier@adacore.com>
+
+ * switch-m.adb (Normalize_Compiler_Switches): Recognize new
+ switches -gnatn1 and -gnatn2.
+
+2012-07-17 Vincent Pucci <pucci@adacore.com>
+
+ * gnat_ugn.texi: GNAT dimensionality checking
+ documentation updated with System.Dim.Mks modifications.
+
+2012-07-17 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch3.adb: sloc of array init_proc is sloc of type declaration.
+
+2012-07-17 Tristan Gingold <gingold@adacore.com>
+
+ * raise-gcc.c (get_call_site_action_for): Remove useless init
+ expression for p.
+ (get_action_description_for): Do not overwrite action->kind.
+
+2012-07-17 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Add local variables Attr
+ and Conversion_Added. Add local constant Typ.
+ Retrieve the original attribute after the arithmetic check
+ machinery has modified the node. Add a conversion to the target
+ type when the prefix of attribute Max_Size_In_Storage_Elements
+ is a controlled type.
+
+2012-07-17 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch6.adb (Expand_Inlined_Call): For each actual parameter
+ of mode 'out' or 'in out' that denotes an entity, reset
+ Last_Assignment on the entity so that any assignments to the
+ corresponding formal in the inlining will not trigger spurious
+ warnings about overwriting assignments.
+
+2012-07-17 Robert Dewar <dewar@adacore.com>
+
+ * s-assert.ads: Fix comments to make it clear that this is used
+ for all assertions, not just pragma Assert.
+
+2012-07-17 Jerome Guitton <guitton@adacore.com>
+
+ * par_sco.ads: Minor typo fix.
+
+2012-07-17 Gary Dismukes <dismukes@adacore.com>
+
+ * layout.adb (Layout_Type): In the case where the target is
+ AAMP, use 32 bits (a single pointer) rather than 64 bits for an
+ anonymous access-to-subprogram type if the type is library-level
+ and Is_Local_Anonymous_Access is True.
+
+2012-07-17 Jose Ruiz <ruiz@adacore.com>
+
+ * s-tassta.adb, s-tarest.adb (Create_Task, Create_Restricted_Task,
+ Initialize): Add comments explaining that the CPU affinity value that
+ is passed to the run-time library can be either Unspecified_CPU, to
+ indicate that the task inherits the affinity of its activating task,
+ or a value in the range of CPU_Range but no greater than Number_Of_CPUs.
+
+2012-07-17 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Make_DT): Remove decoration of Ada.Tags entities.
+ (Make_Tags): Add decoration of Ada.Tags entities.
+
+2012-07-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Check_Statement_Sequence): When locating the
+ last significant statement in a sequence, ignore iserted nodes
+ that typically come from expansion of controlled operations.
+
+2012-07-17 Tristan Gingold <gingold@adacore.com>
+
+ * gnat_rm.texi: Document foreign exceptions.
+
+2012-07-17 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb, treepr.ads: Minor reformatting.
+
+2012-07-17 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch9.adb: Minor code reorganization.
+ * exp_ch3.adb: Minor code improvement.
+
+2012-07-17 Tristan Gingold <gingold@adacore.com>
+
+ * seh_init.c (__gnat_SEH_error_handler): Not compiled anymore
+ on Windows 64 (+ SEH), as it is unused.
+
+2012-07-17 Javier Miranda <miranda@adacore.com>
+
+ * sem_prag.adb (CPP_Class): Transform obsolescent pragma CPP_Class into
+ CPP convention automatically.
+
+2012-07-16 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/decl.c (intrin_return_compatible_p): Map Address to
+ void *.
+
+2012-07-16 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch9.adb (Ensure_Statement_Present): New subprogram.
+ (Expand_N_Asynchronous_Select,
+ Expand_N_Selective_Accept.Process_Accept_Alternative,
+ Expand_N_Selective_Accept.Process_Delay_Alternative,
+ Expand_N_Timed_Entry_Call): For an alternative with no trailing
+ statements, introduce a null statement to carry the sloc of
+ the initial special statement (accept, delay, or entry call)
+ in the alternative, for coverage analysis purposes.
+
+2012-07-16 Thomas Quinot <quinot@adacore.com>
+
+ * sem_eval.adb (In_Subrange_Of): Fix typo in test for scalar
+ arguments.
+
+2012-07-16 Robert Dewar <dewar@adacore.com>
+
+ * a-exexpr.adb, freeze.adb, a-exexpr-gcc.adb, a-except-2005.adb,
+ sem_eval.adb, s-fileio.adb: Minor reformatting.
+
+2012-07-16 Javier Miranda <miranda@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Remove support for obsolescent
+ pragma CPP_Class.
+ * sem_ch13.adb (Analyze_Freeze_Entity): Add missing error on Ada
+ derivations of CPP types. Found updating the tests affected by
+ the removal of pragma CPP_Class.
+
+2012-07-16 Thomas Quinot <quinot@adacore.com>
+
+ * back_end.adb: Minor reformatting.
+
+2012-07-16 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch9.adb (Expand_N_Selective_Accept.Process_Accept_Alternative):
+ Remove junk test that was always true. For the case of no statements
+ following the ACCEPT, jump directly to End_Lab instead of
+ introducing an intermediate jump.
+ (Expand_N_Selective_Accept.Process_Delay_Alternative): Fix
+ predicate testing for presence of statements following the DELAY.
+ that was always true. For the case of no statements following
+ the ACCEPT, jump directly to End_Lab instead of introducing an
+ intermediate jump.
+ (Expand_N_Selective_Accept): Fix incorrect insertion point for
+ end label.
+
+2012-07-16 Thomas Quinot <quinot@adacore.com>
+
+ * gnat_rm.texi: Minor documentation improvements.
+
+2012-07-16 Yannick Moy <moy@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Allow Pre
+ and Pre'Class aspects on the same declaration.
+ * sem_prag.adb (Chain_PPC): Allow Pre and Pre'Class aspects on the
+ same hierarchy of primitive operations.
+
+2012-07-16 Thomas Quinot <quinot@adacore.com>
+
+ * freeze.adb (Check_Component_Storage_Order): Do not reject a
+ nested composite with different scalar storage order if it is
+ byte aligned.
+
+2012-07-16 Thomas Quinot <quinot@adacore.com>
+
+ * gnat_rm.texi: Update documentation for Scalar_Storage_Order.
+
+2012-07-16 Tristan Gingold <gingold@adacore.com>
+
+ * a-exexpr.adb (Propagate_Exception): Adjust call to
+ Exception_Traces procedures.
+ * a-exexpr-gcc.adb (Setup_Current_Excep): Now a
+ function that returns an access to the Ada occurrence.
+ (Propagate_GCC_Exception): Adjust calls.
+ * raise.h (struct Exception_Occurrence): Declare.
+ * a-exextr.adb: Remove useless pragma. (Notify_Handled_Exception,
+ Notify_Unhandled_Exception) (Unhandled_Exception_Terminate):
+ Add Excep parameter.
+ * a-except.adb (Notify_Handled_Exception,
+ Notify_Unhandled_Exception) (Unhandled_Exception_Terminate):
+ Add Excep parameter.
+ (Process_Raise_Exception): Adjust calls.
+ * a-except-2005.adb (Notify_Handled_Exception,
+ Notify_Unhandled_Exception) (Unhandled_Exception_Terminate): Add
+ Excep parameter.
+ (Raise_Exception): Calls Raise_Exception_Always.
+ * raise-gcc.c (__gnat_setup_current_excep,
+ __gnat_notify_handled_exception)
+ (__gnat_notify_unhandled_exception): Adjust declarations.
+ (PERSONALITY_FUNCTION): Adjust calls.
+ (__gnat_personality_seh0): Remove warning.
+
+2012-07-16 Javier Miranda <miranda@adacore.com>
+
+ * sem_eval.adb (Test_Expression_Is_Foldable): Adding documentation.
+ (Eval_Relational_Op): Adding documentation.
+
+2012-07-16 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb, g-debpoo.adb, exp_ch3.adb: Minor reformatting.
+
+2012-07-16 Thomas Quinot <quinot@adacore.com>
+
+ * s-oscons-tmplt.c: Add definitions of E2BIG and EILSEQ.
+
+2012-07-16 Tristan Gingold <gingold@adacore.com>
+
+ * a-exexpr.adb (Propagate_Continue): New function replacing
+ Raise_Current_Excep.
+ (Allocate_Occurrence): New function.
+ (Propagate_Exception): Add Excep parameter, remove call to Call_Chain.
+ * a-exexpr-gcc.adb (GNAT_GCC_Exception): Occurrence component
+ is now aliased.
+ (To_GCC_Exception): Convert from Address.
+ (Allocate_Occurrence): Allocate an Unwind exception occurrence.
+ (Setup_Current_Excep): Fill the machine occurrence in case of
+ foreign exception.
+ (Propagate_Exception): Add Excep parameter, remove call to Call_Chain.
+ * a-except.adb (Set_Exception_C_Msg, Set_Exception_Msg): add
+ Excep parameter.
+ (Raise_Exception, Raise_Exception_Always,
+ Raise_Exception_No_Defer): Adjust calls to the above procedures.
+ (Raise_From_Signal_Handler, Raise_With_Location_And_Msg)
+ (Rcheck_PE_Finalize_Raised_Exception): Likewise.
+ * a-except-2005.adb (Set_Exception_C_Msg, Set_Exception_Msg):
+ add Excep parameter.
+ (Propagate_Exception): Likewise.
+ (Allocate_Occurrence): New function.
+ (Raise_Current_Excep): Removed.
+ (Complete_Occurrence): New function to save the call chain.
+ (Complete_And_Propagate_Occurrence): New procedure.
+ (Create_Occurrence_From_Signal_Handler): New function to build an
+ occurrence without propagating it.
+ (Create_Machine_Occurrence_From_Signal_Handler): Likewise, but
+ return the machine occurrence.
+ (Raise_From_Signal_Handler): Use Create_Occurrence_From_Signal_Handler.
+ (Raise_Exception, Raise_Exception_Always, Raise_Exception_No_Defer):
+ Adjust calls to the above procedures. Allocate the occurrence at
+ the beginning.
+ (Raise_With_Location_And_Msg, Raise_With_Msg)
+ (Rcheck_PE_Finalize_Raised_Exceptionm Reraise): Likewise.
+ (Reraise_Occurrence): Use Reraise_Occurrence_Always.
+ (Reraise_Occurrence_Always): Use Reraise_Occurrence_No_Defer.
+ (Reraise_Occurrence_No_Defer): Preserve machine occurrence.
+ (Save_Occurrence): Do not save machine occurrence.
+ * a-except-2005.ads (Exception_Occurrence): Add Machine_Occurrence
+ component.
+ (Null_Occurrence): Consider it.
+ * a-exexda.adb (Set_Exception_C_Msg, Set_Exception_Msg): add
+ Excep parameter.
+
+2012-07-16 Tristan Gingold <gingold@adacore.com>
+
+ * seh_init.c (__gnat_map_SEH): New function extracted from
+ __gnat_SEH_error_handler.
+ * raise-gcc.c: __gnat_personality_seh0: Directly transforms
+ Windows system exception into GCC one when possible, in order
+ to save stack room (particularly useful when Storage_Error will
+ be propagated).
+
+2012-07-16 Robert Dewar <dewar@adacore.com>
+
+ * a-direct.adb, g-dirope.adb: Minor reformatting.
+
+2012-07-16 Tristan Gingold <gingold@adacore.com>
+
+ * a-except.ads, a-except-2005.ads: Remove outdated comment.
+
+2012-07-16 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb (Subprogram_Name_Greater): Fix algorithm to
+ conform to documentation.
+
+2012-07-16 Ed Schonberg <schonberg@adacore.com>
+
+ * gnat1drv.adb (Check_Library_Items): Removed, no longer used.
+
+2012-07-16 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Array_Type_Declaration): if component type has
+ invariants, the array type itself requires an invariant procedure.
+ * exp_ch3.ads, exp_ch3.adb (Build_Array_Invariant_Proc): new
+ procedure, to build a checking procedure that applies the
+ invariant check on some type T to each component of an array
+ of T's. Code is similar to the construction of the init_proc
+ for an array, and handles multidimensional arrays by recursing
+ over successive dimensions.
+
+2012-07-16 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * g-debpoo.adb: Revert previous change.
+
+2012-07-16 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Insert the itype reference to a
+ library-level class-wide subtype after the freeze node of the
+ equivalent record type.
+
+2012-07-16 Pascal Obry <obry@adacore.com>
+
+ * s-crtl.ads (mkdir): New routine, support encoding.
+ * adaint.h (__gnat_mkdir): Update spec to pass encoding.
+ * mkdir.c (__gnat_mkdir): Add encoding parameter.
+ * a-direct.adb (Create_Directory): Use CRTL.mkdir, parse encoding
+ in form parameter.
+ * g-dirope.adb (Make_Dir): Update to pass encoding parameter.
+
+2012-07-16 Pascal Obry <obry@adacore.com>
+
+ * adaint.c: Minor reformatting.
+
+2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
+
+ * gcc-interface/utils.c: Include timevar.h.
+ * Make-lang.in: Fix dependencies.
+
+2012-07-16 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * ug_words, vms_data.ads: Document VMS qualifiers for -gnatn1/2
+ switches.
+
+2012-07-16 Bob Duff <duff@adacore.com>
+
+ * sinfo.ads: Minor comment fix.
+
+2012-07-16 Bob Duff <duff@adacore.com>
+
+ * sem_elab.adb (Within_Elaborate_All): Walk the with clauses to
+ find pragmas Elaborate_All that may be found in the transitive
+ closure of the dependences.
+
+2012-07-16 Robert Dewar <dewar@adacore.com>
+
+ * exp_pakd.adb, freeze.adb, sem_util.adb, vms_data.ads: Minor
+ reformatting.
+
+2012-07-12 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * vms_data.ads: Add VMS qualifiers for -gnatn1/2 switches.
+
+2012-07-12 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch5.adb, exp_pakd.adb, rtsfind.ads, freeze.adb, sem_util.adb,
+ sem_util.ads, exp_aggr.adb
+ (Exp_Aggr.Packed_Array_Aggregate_Handled): Simplify processing
+ for reverse storage order aggregate.
+ (Exp_Pakd.Byte_Swap): New utility routine used by...
+ (Exp_Pakd.Expand_Bit_Packed_Element_Set,
+ Expand_Packed_Element_Reference): For the case of a free-standing
+ packed array with reverse storage order, perform byte swapping.
+ (Rtsfind): Make new entities RE_Bswap_{16,32,64} available.
+ (Freeze.Check_Component_Storage_Order): New utility routine
+ to enforce legality rules for nested composite types whose
+ enclosing composite has an explicitly defined Scalar_Storage_Order
+ attribute.
+ (Sem_Util.In_Reverse_Storage_Order_Object): Renamed from
+ Sem_Util.In_Reverse_Storage_Order_Record, as SSO now applies to
+ array types as well.
+ (Exp_Ch5.Expand_Assign_Array): Remove now unnecessary kludge
+ for change of scalar storage order in assignments. The Lhs and
+ Rhs now always have the same scalar storage order.
+
+2012-07-12 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * g-debpoo.adb (Allocate): Add local constant
+ No_Element. Initialize the allocated memory chunk to No_Element.
+
+2012-07-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly
+ the case of an instance of a child unit where a formal derived
+ type DT is an extension of a type T declared in a parent unit,
+ and the actual in the instance of the child is the type T declared
+ in the parent instance, and that actual is not a derived type.
+
+2012-07-12 Eric Botcazou <ebotcazou@adacore.com>
+ Tristan Gingold <gingold@adacore.com>
+
+ * system-hpux-ia64.ads: Enable ZCX by default.
+ * gcc-interface/Makefile.in: Use alternate stack on ia64-hpux.
+ Change soext to .so.
+
+2012-07-12 Robert Dewar <dewar@adacore.com>
+
+ * s-atopri.adb, s-atopri.ads: Minor reformatting.
+
+2012-07-12 Robert Dewar <dewar@adacore.com>
+
+ * ali.adb: Add circuitry to read new named form of restrictions lines.
+ * debug.adb: Add doc for new -gnatd.R switch (used positional
+ notation for output of restrictions data in ali file).
+ * lib-writ.adb: Implement new named format for restrictions lines.
+ * lib-writ.ads: Add documentation for new named format for
+ restrictions in ali files.
+ * restrict.adb, restrict.ads, sem_prag.adb: Update comments.
+ * rident.ads: Go back to withing System.Rident
+ * s-rident.ads: Add extensive comment on dealing with consistency
+ checking.
+
+2012-07-12 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb, scos.ads: Emit detailed SCOs for SELECT statements.
+
+2012-07-12 Robert Dewar <dewar@adacore.com>
+
+ * sem_disp.adb: Minor reformatting
+ * s-bytswa.ads: Minor comment update.
+
+2012-07-12 Vincent Pucci <pucci@adacore.com>
+
+ * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body):
+ Atomic_Load_N replaced by Lock_Free_Read_N. Atomic_Compare_Exchange_N
+ replaced by Lock_Free_Try_Write_N.
+ Renaming of several local variables. For
+ procedure, Expected_Comp declaration moved to the declaration
+ list of the procedure.
+ * rtsfind.ads: RE_Atomic_Compare_Exchange_8,
+ RE_Atomic_Compare_Exchange_16, RE_Atomic_Compare_Exchange_32,
+ RE_Atomic_Compare_Exchange_64, RE_Atomic_Load_8,
+ RE_Atomic_Load_16, RE_Atomic_Load_32, RE_Atomic_Load_64,
+ RE_Atomic_Synchronize, RE_Relaxed removed. RE_Lock_Free_Read_8,
+ RE_Lock_Free_Read_16, RE_Lock_Free_Read_32, RE_Lock_Free_Read_64,
+ RE_Lock_Free_Try_Write_8, RE_Lock_Free_Try_Write_16,
+ RE_Lock_Free_Try_Write_32, RE_Lock_Free_Try_Write_64 added.
+ * s-atopri.adb: New file.
+ * s-atopri.ads (Atomic_Compare_Exchange_8): Renaming of
+ parameters. Import primitive __sync_val_compare_and_swap_1.
+ (Atomic_Compare_Exchange_16): Renaming of parameters.
+ Import primitive __sync_val_compare_and_swap_2.
+ (Atomic_Compare_Exchange_32): Renaming of parameters.
+ Import primitive __sync_val_compare_and_swap_4.
+ (Atomic_Compare_Exchange_64): Renaming of parameters. Import
+ primitive __sync_val_compare_and_swap_8.
+ (Atomic_Load_8): Ptr renames parameter X.
+ (Atomic_Load_16): Ptr renames parameter X.
+ (Atomic_Load_32): Ptr renames parameter X.
+ (Atomic_Load_64): Ptr renames parameter X.
+ (Lock_Free_Read_8): New routine.
+ (Lock_Free_Read_16): New routine.
+ (Lock_Free_Read_32): New routine.
+ (Lock_Free_Read_64): New routine.
+ (Lock_Free_Try_Write_8): New routine.
+ (Lock_Free_Try_Write_16): New routine.
+ (Lock_Free_Try_Write_32): New routine.
+ (Lock_Free_Try_Write_64): New routine.
+
+2012-07-12 Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb, exp_ch9.adb, sem_ch9.adb, exp_aggr.adb: Minor
+ reformatting.
+
+2012-07-12 Vincent Pucci <pucci@adacore.com>
+
+ * sem_dim.adb (Analyze_Dimension_Function_Call): Reformatting of error
+ msgs for elementary functions.
+
+2012-07-12 Vincent Pucci <pucci@adacore.com>
+
+ * sem_attr.adb (Eval_Attribute): Minor reformatting.
+
+2012-07-12 Pascal Obry <obry@adacore.com>
+
+ * prj-nmsc.adb (Check_Library_Attributes): Allow the same library
+ project in different project tree (different aggregated projects).
+
+2012-07-12 Thomas Quinot <quinot@adacore.com>
+
+ * s-bytswa.adb, g-bytswa.adb, g-bytswa.ads, s-bytswa.ads: Further
+ reorganization of byte swapping routines.
+
+2012-07-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_disp.adb (Check_Dispatching_Context): Refine legality
+ checks on tagg indeterminate calls to abstract operations,
+ that appear in the context of other calls.
+
+2012-07-12 Thomas Quinot <quinot@adacore.com>
+
+ * s-bytswa.adb (Swapped2.Bswap16): Remove local function,
+ no longer needed.
+
+2012-07-12 Javier Miranda <miranda@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): For
+ attributes 'access, 'unchecked_access and 'unrestricted_access,
+ iff the current instance reference is located in a protected
+ subprogram or entry then rewrite the access attribute to be the
+ name of the "_object" parameter.
+
+2012-07-12 Tristan Gingold <gingold@adacore.com>
+
+ * raise.h: Revert previous patch: structure is used in init.c
+ by vms.
+
+2012-07-12 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Binding_Phase): If --subdirs was used, but not
+ -P, change the working directory to the specified subdirectory
+ before invoking gnatbind.
+ (Linking_Phase): If --subdirs was used, but not -P, change the working
+ directory to the specified subdirectory before invoking gnatlink.
+
+2012-07-12 Vincent Pucci <pucci@adacore.com>
+
+ * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body):
+ For a procedure, instead of replacing each Comp reference by a
+ reference to Current_Comp, make a renaming Comp of Current_Comp
+ that rewrites the original renaming generated by the compiler
+ during the analysis. Move the declarations of the procedure
+ inside the generated block.
+ (Process_Stmts): Moved in the body
+ of Build_Lock_Free_Unprotected_Subprogram_Body.
+ (Process_Node):
+ Moved in the body of Build_Lock_Free_Unprotected_Subprogram_Body.
+ * sem_ch9.adb (Allows_Lock_Free_Implementation): Restrict any
+ non-elementary out parameters in protected procedures.
+
+2012-07-12 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
+ Scalar_Storage_Order): Attribute applies to base type only.
+
+2012-07-12 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Convert_To_Positional): Increase acceptable size
+ of static aggregate when Static_Elaboration_Desired is requested.
+ Add a warning if the request cannot be satisfied either because
+ some components or some array bounds are non-static.
+
+2012-07-12 Thomas Quinot <quinot@adacore.com>
+
+ * exp_pakd.adb: Minor reformatting.
+
+2012-07-12 Tristan Gingold <gingold@adacore.com>
+
+ * tracebak.c: Fix warnings.
+ * raise-gcc.c (__gnat_adjust_context): New function
+ (__gnat_personality_seh0): Call __gnat_adjust_context to adjust
+ PC in machine frame for exceptions that occur in the current
+ function.
+
+2012-07-12 Thomas Quinot <quinot@adacore.com>
+
+ * g-bytswa.adb, g-bytswa.ads, s-bytswa.adb, s-bytswa.ads, Makefile.rtl:
+ Move GNAT.Byte_Swapping to System (with a renaming under GNAT)
+ so that it is usable in expanded code.
+
+2012-07-12 Tristan Gingold <gingold@adacore.com>
+
+ * s-osinte-hpux.ads: Increase alternate stack size on hpux.
+
+2012-07-12 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch3.adb (Make_Neq_Body): Fix typo in comment.
+
+2012-07-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tb-gcc.c (trace_callback): On IA-64/HP-UX, use workaround only
+ if USE_LIBUNWIND_EXCEPTIONS is defined.
+ * init.c: Further tweaks for IA-64/HP-UX.
+
+2012-07-12 Tristan Gingold <gingold@adacore.com>
+
+ * raise-gcc.c: Do not include unwind-dw2-fde.h. Adjust comments.
+ (db_region_for): Second argument is ip. Do not recompute ip.
+ (action_kind): Remove typedef, add unhandler enum const.
+ (action_descriptor): Adjust type of kind field.
+ (db_action_for): Second argument is ip, do not recompute it.
+ (get_call_site_action_for): First argument is call_site, do not
+ recompute it. Remove useless return.
+ (is_handled_by): Now return enum action_kind.
+ Handle GNAT_ALL_OTHERS first.
+ Return unhandler for GNAT_UNHANDLED_OTHERS.
+ (get_action_description_for): First argument is now ip, do not
+ recompute it. Adjust code for call to is_handled_by.
+ (__gnat_notify_unhandled_exception): Add prototype.
+ (PERSONALITY_FUNCTION): Call get_ip_from_context. Adjust calls.
+ Handle unhandler case.
+ (__gnat_cleanupunwind_handler): Add comments, add
+ ATTRIBUTE_UNUSED on arguments.
+ (__gnat_Unwind_RaiseException, __gnat_Unwind_ForcedUnwind): Define
+ only once.
+ * raise.h: Makes struct Exception_Data opaque.
+
+2012-07-12 Robert Dewar <dewar@adacore.com>
+
+ * make.adb, sem_ch9.adb, prj.adb, s-rident.ads, snames.ads-tmpl: Minor
+ reformatting.
+
+2012-07-12 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch3.adb (Is_User_Defined_Equality): New subprogram.
+ (Make_Neq_Body): New subprogram.
+ (Make_Predefined_Primitive_Specs): Adding local variable
+ Has_Predef_Eq_ Renaming to ensure that we enable the machinery
+ which handles renamings of predefined primitive operators.
+
+2012-07-09 Pascal Obry <obry@adacore.com>
+
+ * prj.adb (For_Every_Project_Imported_Context): Make sure we
+ callback with the project having sources.
+ Minor reformatting.
+
+2012-07-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * make.adb: Fix typo.
+
+2012-07-09 Vincent Pucci <pucci@adacore.com>
+
+ * sem_ch9.adb (Check_Node): Allow attributes
+ that denote static function for lock-free implementation.
+ (Is_Static_Function): New routine.
+
+2012-07-09 Tristan Gingold <gingold@adacore.com>
+
+ * tracebak.c: Adjust skip_frames on Win64.
+
+2012-07-09 Tristan Gingold <gingold@adacore.com>
+
+ * init.c: Add __gnat_adjust_context_for_raise for ia64/hpux.
+ * raise-gcc.c: __gnat_cleanupunwind_handler: Do not call
+ _Unwind_GetGR on hpux when using libgcc unwinder. Part of
+
+2012-07-09 Vincent Pucci <pucci@adacore.com>
+
+ * exp_attr.adb, sem_attr.adb: Minor reformatting.
+ * par-ch13.adb, par-ch4.adb, par-util.adb: Reformatting
+ considering that internal attribute names are not defined anymore
+ in the main attribute names list.
+ * snames.adb-tmpl (Get_Attribute_Id): Special processinf
+ for names CPU, Dispatching_Domain and Interrupt_Priority.
+ (Is_Internal_Attribute_Name): Minor reformatting.
+ * snames.ads-tmpl: New list of internal attribute names. Internal
+ attributes moved at the end of the attribute Id list.
+
+2012-07-09 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb: Minor code reorganization (use Ekind_In).
+ * exp_attr.adb, sem_ch9.adb par-ch4.adb, s-taprop-mingw.adb,
+ sem_attr.adb, exp_ch8.adb, snames.adb-tmpl, par-util.adb,
+ sem_ch13.adb, snames.ads-tmpl: Minor reformatting.
+
+2012-07-09 Tristan Gingold <gingold@adacore.com>
+
+ * raise-gcc.c: Adjust previous patch.
+
+2012-07-09 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Compilation_Phase): Do not build libraries in
+ Codepeer mode (do not call Library_Phase).
+
+2012-07-09 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb: Extend previous change to elementary types.
+
+2012-07-09 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): Reverse
+ previous patch since unconditionally handling as renaming_as_body
+ renamings of predefined dispatching equality and unequality operator
+ cause visibility problems with private overridings of the equality
+ operator (see ACATS C854001).
+
+2012-07-09 Vincent Pucci <pucci@adacore.com>
+
+ * exp_attr.adb (Signal_Bad_Attribute): Raise Program_Error in
+ case of internal attribute names (already rejected by the parser).
+ * par-ch13.adb (P_Representation_Clause): Complain if an internal
+ attribute name that comes from source occurs.
+ * par-ch4.adb (P_Name): Complain if an internal attribute name
+ occurs in the context of an attribute reference.
+ * par-util.adb (Signal_Bad_Attribute): Don't complain about
+ mispelling attribute with internal attributes.
+ * sem_attr.adb (Analyze_Attribute): Raise Program_Error in case
+ of internal attribute names (already rejected by the parser).
+ * snames.adb-tmpl (Is_Internal_Attribute_Name): New routine.
+ * snames.ads-tmpl: Attributes CPU, Dispatching_Domain and
+ Interrupt_Priority are marked as INT attributes since they
+ don't denote real attribute and are only used internally in
+ the compiler.
+ (Is_Internal_Attribute_Name): New routine.
+
+2012-07-09 Thomas Quinot <quinot@adacore.com>
+
+ * einfo.adb (Set_Reverse_Storage_Order): Update assertion,
+ flag is now valid for array types as well.
+
+2012-07-09 Tristan Gingold <gingold@adacore.com>
+
+ * tracebak.c: Implement __gnat_backtrace for Win64 SEH.
+
+2012-07-09 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads: Minor reformatting.
+
+2012-07-09 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): Handle as
+ renaming_as_body renamings of predefined dispatching equality
+ and unequality operators.
+
+2012-07-09 Robert Dewar <dewar@adacore.com>
+
+ * rident.ads: Do not instantiate r-ident.ads, this is now an
+ independent unit.
+
+2012-07-09 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Write_DT): Avoid runtime crash of this debugging
+ routine.
+ * sem_disp.adb (Find_Dispatching_Time): Protect this routine
+ against partially decorated entities.
+
+2012-07-09 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb (Check_Size): Reject a size clause that specifies
+ a value greater than Int'Last for a scalar type.
+
+2012-07-09 Vincent Pucci <pucci@adacore.com>
+
+ * sem_ch9.adb (Allows_Lock_Free_Implementation): type must support
+ atomic operation moved to the protected body case. No non-elementary
+ out parameter moved to the protected declaration case. Functions have
+ only one lock-free restriction.
+ (Analyze_Protected_Type_Declaration): Issue a warning when
+ Priority given with Lock_Free.
+
+2012-07-09 Vincent Pucci <pucci@adacore.com>
+
+ * sem_dim.adb: Grammar of aspect Dimension fixed.
+
+2012-07-09 Vincent Pucci <pucci@adacore.com>
+
+ * freeze.adb (Freeze_Record_Type): Code reorg in order to avoid
+ pushing and popping the scope stack whenever a delayed aspect occurs.
+
+2012-07-09 Gary Dismukes <dismukes@adacore.com>
+
+ * s-os_lib.ads: Remove pragma Elaborate_Body, as
+ this is now unnecessary due to recently added pragma Preelaborate.
+
+2012-07-09 Jose Ruiz <ruiz@adacore.com>
+
+ * s-taprop-mingw.adb (Set_Priority): Remove the code that was
+ previously in place to reorder the ready queue when a task drops
+ its priority due to the loss of inherited priority.
+
+2012-07-09 Robert Dewar <dewar@adacore.com>
+
+ * layout.adb, i-cstrea.ads, a-ststio.ads, prj-util.ads, sem_cat.adb,
+ s-commun.ads, s-ficobl.ads, s-os_lib.ads, s-fileio.ads: Minor
+ reformatting.
+
+2012-07-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * raise-gcc.c: Update comments. Fix typo.
+
+2012-07-09 Thomas Quinot <quinot@adacore.com>
+
+ * einfo.adb, einfo.ads, sem_attr.adb, sem_ch13.adb: Attribute
+ Scalar_Storage_Order can be defined or queried for array types as well
+ as record types.
+
+2012-07-09 Tristan Gingold <gingold@adacore.com>
+
+ * a-exexpr-gcc.adb (CleanupUnwind_Handler): Now imported from
+ raise-gcc.c
+ * raise-gcc.c (__gnat_cleanupunwind_handler): Defined.
+ Strictly follow the ABI convention on ia64.
+
+2012-07-09 Gary Dismukes <dismukes@adacore.com>
+
+ * a-ststio.ads: Add pragma Preelaborate, per AI05-0283.
+ * i-cstrea.ads (max_path_len): Change from variable to deferred
+ constant to allow it to be used as a bound in string component
+ in type System.File_IO.Temp_File_Record.
+ * s-os_lib.ads, s-commun.ads, s-ficobl.ads, s-fileio.ads: Add pragma
+ Preelaborate.
+ * s-fileio.adb (Get_Case_Sensitive): Move function inside
+ procedure Open.
+ (File_Names_Case_Sensitive): Move variable inside
+ procedure Open, to avoid violation of Preelaborate restriction
+ (due to call to Get_Case_Sensitive).
+
+2012-07-09 Ed Schonberg <schonberg@adacore.com>
+
+ * layout.adb (Set_Elem_Alignment): Protect against meaningless
+ size clause, to prevent overflow in internal computation of
+ alignment.
+
+2012-07-09 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb, prj-util.adb, prj-util.ads, sem_ch13.adb: Minor
+ reformatting.
+
+2012-07-09 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_cat.adb (Check_Categorization_Dependencies):
+ Allow dependence of both Remote_Types and Remote_Call_Interface
+ declarations (not just Remote_Types units) on preelaborated
+ units, but require that the dependence be made via a private
+ with_clause. Issue a specialized error message.
+
+2012-07-09 Pascal Obry <obry@adacore.com>
+
+ * prj-util.adb, prj-util.ads (For_Interface_Sources): New routine.
+
+2012-07-09 Tristan Gingold <gingold@adacore.com>
+
+ * seh_init.c (__gnat_SEH_error_handler): On Win64 and SEH,
+ return for unknown exceptions.
+ * raise-gcc.c (__gnat_personality_seh0): Call __gnat_SEH_error_handler.
+
+2012-07-09 Joel Brobecker <brobecker@adacore.com>
+
+ * exp_dbug.ads (No_Dollar_In_Label): Delete.
+
+2012-07-09 Vincent Pucci <pucci@adacore.com>
+
+ * sem_ch13.adb (Check_Overloaded_Name): New routine.
+
+2012-07-09 Vincent Pucci <pucci@adacore.com>
+
+ * freeze.adb (Freeze_Record_Type): Analyze the delayed aspects of the
+ components in a record type.
+
+2012-07-09 Pascal Obry <obry@adacore.com>
+
+ * prj-util.ads: Minor reformatting.
+
+2012-07-09 Tristan Gingold <gingold@adacore.com>
+
+ * raise-gcc.c (db_indent): Simplify style, improve comments.
+ Remove !IN_RTS part (dead).
+
+2012-07-09 Robert Dewar <dewar@adacore.com>
+
+ * usage.adb: Minor change to format of -gnatn line.
+
+2012-07-09 Tristan Gingold <gingold@adacore.com>
+
+ * a-exexpr-gcc.adb: Reorder routine.
+
+2012-07-09 Vincent Celier <celier@adacore.com>
+
+ * lib-writ.ads: Add documentation for the Z lines (implicitly
+ withed units) and Y lines (limited withed units).
+
+2012-07-09 Robert Dewar <dewar@adacore.com>
+
+ * lib.ads, exp_attr.adb, exp_ch9.adb, sem_dim.adb, sem_ch9.adb,
+ sem_prag.adb, sem_ch12.adb, mlib-utl.adb, freeze.adb, sem_res.adb,
+ sem_attr.adb, sem_case.adb, gnatlink.adb, exp_ch4.adb, sem_ch6.adb,
+ sem_elim.adb, s-dimmks.ads, sem_ch13.adb: Minor code clean ups.
+
+2012-07-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat_ugn.texi (Switches for gcc): Document -gnatn[12] only
+ lightly in the summary and more thoroughly in inlining section.
+ (Performance Considerations): Document -gnatn[12] in inlining
+ section.
+
+2012-07-09 Tristan Gingold <gingold@adacore.com>
+
+ * a-exexpr-gcc.adb (Unhandled_Except_Handler): New procedure.
+ (Unhandled_Others_Value): New const.
+ * raise-gcc.c (GNAT_UNHANDLED_OTHERS): Define.
+ (action_descriptor): Remove ttype_entry.
+ (get_action_description_for): Do not assign ttype_entry.
+ (is_handled_by): Consider GNAT_UNHANDLED_OTHERS.
+
+2012-07-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Call_to_gnu): Robustify test for function case
+ if the CICO mechanism is used.
+
+2012-07-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils2.c (build_simple_component_ref): Do not look
+ through an extension if the type contains a placeholder.
+
+2012-07-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_disp.adb (Expand_Dispatching_Call): Propagate the convention on
+ the designated subprogram type and also set Is_Dispatch_Table_Entity.
+ (Expand_Interface_Thunk): Propagate the convention on the thunk.
+ (Set_CPP_Constructors_Old): Set Is_Constructor and Convention_CPP on
+ the internal view of the constructors.
+ (Set_CPP_Constructors): Likewise.
+ * sem_prag.adb (Analyze_Pragma) <Pragma_CPP_Constructor>: Set the
+ convention on the function.
+ * gcc-interface/gigi.h (is_cplusplus_method): Declare.
+ * gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
+ (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the `thiscall'
+ calling convention
+ (get_minimal_subprog_decl): Likewise.
+ (is_cplusplus_method): New predicate.
+ * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Access>: Issue an
+ error on access to C++ constructor or member function.
+
+2012-07-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (gnat_pushdecl): Set TYPE_CONTEXT for types
+ attached to a TYPE_DECL.
+
+2012-06-26 Vincent Pucci <pucci@adacore.com>
+
+ * exp_ch3.adb (Build_Init_Statements): Don't check the parents
+ in the Rep Item Chain of the task for aspects Interrupt_Priority,
+ Priority, CPU and Dispatching_Domain.
+ * exp_ch9.adb (Expand_N_Task_Type_Declaration): fields _Priority,
+ _CPU and _Domain are present in the corresponding record type
+ only if the task entity has a pragma, attribute definition
+ clause or aspect specification.
+ (Make_Initialize_Protection): Don't check the parents in the Rep Item
+ Chain of the task for aspects Interrupt_Priority, Priority, CPU and
+ Dispatching_Domain.
+ * freeze.adb (Freeze_Entity): Use of Evaluate_Aspects_At_Freeze_Point
+ call replaced by Analyze_Aspects_At_Freeze_Point.
+ * sem_ch13.adb, sem_ch13.ads (Analyze_Aspects_At_Freeze_Point):
+ Renaming of Evaluate_Aspects_At_Freeze_Point.
+
+2012-06-26 Yannick Moy <moy@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute): Detect if 'Old is used outside a
+ postcondition, and issue an error in such a case.
+
+2012-06-26 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi: Minor editing.
+
+2012-06-26 Tristan Gingold <gingold@adacore.com>
+
+ * raise-gcc.c: Minor cleanup: remove unused prototype.
+ * seh_init.c: Do not create an image wide unwind info to catch
+ SEH when SEH unwind info are emitted by the compiler.
+
+2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
+
+ * gcc-interface/trans.c: Include target.h.
+ (gigi): Try to put out .ident with targetm.asm_out.output_ident.
+ Remove uses of ASM_OUTPUT_IDENT.
+ * gcc-interface/Make-lang.in: Fix dependencies.
+
+2012-06-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/53592
+ * gcc-interface/gigi.h (maybe_vector_array): Make static inline.
+ * gcc-interface/utils.c (maybe_vector_array): Delete.
+ * gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Mark the
+ array object as addressable if it has vector type and is on the LHS.
+
+2012-06-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/53590
+ * gcc-interface/misc.c (gnat_init_options_struct): Set
+ opts->x_flag_delete_dead_exceptions to 1.
+
+2012-06-14 Jose Ruiz <ruiz@adacore.com>
+
+ * gcc-interface/Make-lang.in (ada.install-common, ada.uninstall):
+ Use the prefix specified with the --program-prefix configure option
+ to determine the install name of the Ada tools.
+ (ada.all.cross): Use a for loop to iterate over the set of Ada tools
+ instead of duplicate the same processing.
+ Update dependencies.
+
+2012-06-14 Vincent Pucci <pucci@adacore.com>
+
+ * exp_ch6.adb (Expand_Call): Expand_Put_Call_With_Dimension_Symbol
+ call replaced by Expand_Put_Call_With_Symbol call.
+ * sem_dim.adb: New fields Unit_Names, Unit_Symbols
+ and Dim_Symbols for record type System_Type.
+ (From_Dimension_To_String_Of_Symbols): Removed.
+ (From_Dim_To_Str_Of_Dim_Symbols): Renames previous
+ routine From_Dimension_To_String_Of_Symbols.
+ (From_Dim_To_Str_Of_Unit_Symbols): New routine.
+ (Analyze_Aspect_Dimension): argument Symbol in aspect
+ Dimension aggregate is optional. Named association implemented.
+ (Has_Compile_Time_Known_Expressions): Removed.
+ (Analyze_Aspect_Dimension_System): New
+ component Dim_Symbol in each Dimension aggregate in
+ aspect Dimension_System. Named associations implemented.
+ (Add_Dimension_Vector_To_Buffer): Removed.
+ (Add_Whole_To_Buffer): Removed.
+ (Expand_Put_Call_With_Dimension_Symbol.): Removed.
+ (Expand_Put_Call_With_Symbol): Renames previous routine
+ Expand_Put_Call_With_Dimension_Symbol.
+ (Has_Dimension_Symbols): Removed.
+ (Has_Symbols): Renames previous routine
+ Has_Dimension_Symbols. (Store_String_Oexpon): New routine.
+ * sem_dim.ads (Expand_Put_Call_With_Dimension_Symbol.): Removed.
+ (Expand_Put_Call_With_Symbol): Renames previous routine
+ Expand_Put_Call_With_Dimension_Symbol.
+ * s-diflio.adb, s-diinio.adb (Put): Symbol renames Symbols.
+ (Put_Dim_Of): New routines.
+ * s-diflio.ads, s-diinio.ads: documentation updated.
+ (Put): Symbol renames Symbols.
+ (Put_Dim_Of): New routines.
+ * s-dim.ads: documentation updated.
+ * s-dimmks.ads: dimensioned type and subtypes updated.
+ * snames.ads-tmpl: Name_Dim_Symbol, Name_Put_Dim_Of, Name_Symbol,
+ and Name_Unit_Symbol added. Name_Symbols removed.
+
+2012-06-14 Vincent Pucci <pucci@adacore.com>
+
+ * freeze.adb (In_Exp_Body): Expression function case added.
+ (Freeze_Expression): Insert the Freeze_Nodes
+ list before the correct current scope in case of a quantified
+ expression.
+
+2012-06-14 Pascal Obry <obry@adacore.com>
+
+ * projects.texi: Document the Install package for gprinstall.
+2012-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_elim.adb (Check_For_Eliminated_Subprogram): Do not check within
+ a default expression.
+ * sem_res.adb (Resolve_Call): simplify code.
+
+2012-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_case.adb (Check, Issue_Msg): within an instance, non-other
+ values in a variant part or a case expression do not have to
+ belong to the actual subtype.
+
+2012-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Validate_Derived_Type_Instance): If parent is
+ an interface type, check whether it is itself a previous formal
+ already instantiated in the current list of actuals.
+
+2012-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): The
+ expression for a stream attribute is a name that may be overloaded
+ with other declarations. To determine whether it matches the
+ aspect at the freeze point, it is necessary to verify that one
+ of its interpretations matches.
+
+2012-06-14 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch7.adb, exp_util.adb, sem_aux.ads, exp_ch9.adb,
+ sem_ch10.adb, freeze.adb, sem_util.adb, exp_ch4.adb,
+ s-taprop-dummy.adb: Minor reformatting.
+
+2012-06-14 Vincent Pucci <pucci@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Lock_Free
+ attribute case added.
+ * par-prag.adb (Prag): Lock_Free pragma case added.
+ * sem_attr.adb (Analyze_Attribute_Reference): Lock_Free attribute
+ case added.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Record_Rep_Item
+ call added for Aspect_Lock_Free.
+ * sem_ch9.adb (Allows_Lock_Free_Implementation): New Lock_Free
+ error messages for subprogram bodies.
+ (Lock_Free_Disabled): New routine.
+ (Analyze_Protected_Body): Call to Lock_Free_Disabled added.
+ * sem_prag.adb (Analyze_Pragma): Lock_Free pragma case added.
+ * snames.adb-tmpl (Get_Pragma_Id): Name_Lock_Free case added.
+ (Is_Pragma_Name): Name_Lock_Free case added.
+ * snames.ads-tmpl: Attribute_Lock_Free and Pragma_Lock_Free added.
+
+2012-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * a-coorma.adb, a-cborma.adb, a-cbhama.adb, a-ciorma.adb: Add missing
+ aliased keyword.
+
+2012-06-14 Bob Duff <duff@adacore.com>
+
+ * lib.ads, lib.adb, sem.adb (Write_Unit_Info): Move this
+ procedure from Sem body to Lib spec, so it can be used for
+ debugging elsewhere.
+
+2012-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Check_Conformance): Add Ada 2012 check on mode
+ conformance: "aliased" must apply to both or neither formal
+ parameters.
+
+2012-06-14 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch9.adb: Minor reformatting.
+
+2012-06-14 Thomas Quinot <quinot@adacore.com>
+
+ * freeze.adb (Freeze_Record_Type): Warn about useless bit order
+ specification [when there's no component clause] regardless
+ of whether the specified bit order is reversed or not.
+
+2012-06-14 Tristan Gingold <gingold@adacore.com>
+
+ * raise-gcc.c (__gnat_personality_seh0): New function.
+
+2012-06-14 Tristan Gingold <gingold@adacore.com>
+
+ * gnatname.adb (Gnatname): Make sure that dynamic table
+ argument_data is initialized.
+
+2012-06-14 Robert Dewar <dewar@adacore.com>
+
+ * sem_aux.adb: Minor code reorganization.
+
+2012-06-14 Vincent Pucci <pucci@adacore.com>
+
+ * einfo.adb einfo.ads (Get_Rep_Item): Removed.
+ (Get_Rep_Item_For_Entity): Removed.
+ (Get_Rep_Pragma): Removed.
+ (Get_Rep_Pragma_For_Entity): Removed.
+ (Has_Rep_Item): Removed.
+ (Has_Rep_Pragma): Removed.
+ (Has_Rep_Pragma_For_Entity): Removed.
+ * exp_ch9.adb (Expand_N_Task_Type_Declaration):
+ Has_Rep_Pragma_For_Entity replaced by Has_Rep_Pragma
+ and Get_Rep_Pragma_For_Entity replaced by Get_Rep_Pragma.
+ (Make_Task_Create_Call): Has_Rep_Pragma_For_Entity replaced
+ by Has_Rep_Pragma and Get_Rep_Pragma_For_Entity replaced by
+ Get_Rep_Pragma.
+ * exp_intr.adb: Dependency to Sem_Aux added for call to Get_Rep_Pragma.
+ * sem_aux.adb (Get_Rep_Item): New routine.
+ (Get_Rep_Pragma): New routine.
+ (Has_Rep_Item): New routine.
+ (Has_Rep_Pragma): New routine.
+ (Nearest_Ancestor): Minor reformatting.
+ * sem_aux.ads (Get_Rep_Item): New routine.
+ (Get_Rep_Pragma): New routine.
+ (Has_Rep_Item): New routine.
+ (Has_Rep_Pragma): New routine.
+ * sem_ch13.adb (Duplicate_Clause): Restore original error messages.
+ * sem_eval.adb (Subtypes_Statically_Match): Get_Rep_Item_For_Entity
+ replaced by Get_Rep_Item.
+ * sem_prag.adb (Analyze_Pragma): Restore original error messages.
+ (Check_Duplicate_Pragma): Restore original error messages.
+
+2012-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Is_Object_Reference): in Ada 2012, qualified
+ expressions are valid names.
+
+2012-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Analyze_Compilation_Unit): If the unit is an
+ instantiation do not emit warnings for obsolescent units. The
+ warnings belong on the corresponding generic.
+
+2012-06-14 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb: Update the usage of Node15.
+ (Return_Flag_Or_Transient_Decl): Removed.
+ (Set_Return_Flag_Or_Transient_Decl): Removed.
+ (Set_Status_Flag_Or_Transient_Decl): New routine.
+ (Status_Flag_Or_Transient_Decl): New routine.
+ (Write_Field15_Name): Update the output for variables and constants.
+ * einfo.ads: Remove attribute
+ Return_Flag_Or_Transient_Decl along with occurrences in nodes.
+ (Return_Flag_Or_Transient_Decl): Removed along with pragma Inline.
+ (Set_Return_Flag_Or_Transient_Decl): Removed along with pragma Inline.
+ (Set_Status_Flag_Or_Transient_Decl): New routine along with pragma
+ Inline.
+ (Status_Flag_Or_Transient_Decl): New routine along with pragma Inline.
+ * exp_ch4.adb (Create_Alternative): New routine.
+ (Expand_N_Conditional_Expression): Handle the case
+ where at least one of the conditional expression
+ alternatives prodices a controlled temporary by means of a function
+ call.
+ (Is_Controlled_Function_Call): New routine.
+ (Process_Transient_Object): Update the call to
+ Set_Return_Flag_Or_Transient_Decl.
+ * exp_ch6.adb (Enclosing_Context): New routine.
+ (Expand_N_Extended_Return_Statement): Update all calls to
+ Set_Return_Flag_Or_Transient_Decl.
+ (Expand_Ctrl_Function_Call): Prohibit the finalization of a controlled
+ function result when the context is a conditional expression.
+ * exp_ch7.adb (Process_Declarations): Update all calls to
+ Return_Flag_Or_Transient_Decl. Add processing for intermediate
+ results of conditional expressions where one of the alternatives
+ uses a controlled function call.
+ (Process_Object_Declaration): Update all calls to
+ Return_Flag_Or_Transient_Decl and rearrange the logic to process
+ "hook" objects first.
+ (Process_Transient_Objects): Update the call to
+ Set_Return_Flag_Or_Transient_Decl.
+ * exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean,
+ Boolean)): Update all calls to Return_Flag_Or_Transient_Decl. Add
+ detection for intermediate results of conditional expressions
+ where one of the alternatives uses a controlled function call.
+
+2012-06-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ Revert
+ 2012-05-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
+ (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall
+ calling convention
+ (get_minimal_subprog_decl): Likewise.
+ (gnat_first_param_is_class): New predicate.
+
+2012-06-12 Robert Dewar <dewar@adacore.com>
+
+ * gcc-interface/Make-lang.in: Update dependencies.
+ * sem_ch9.ads, einfo.adb, einfo.ads, sem_prag.adb, freeze.adb,
+ sem_util.adb, sem_ch13.adb, sem_ch13.ads, exp_ch3.adb: Add comments.
+ Minor reformatting.
+
+2012-06-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Instantiate_Formal_Subprogram): Remove code that
+ implements AI05-0296, because the actual may be overloaded.
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): and move it here,
+ to be applied once the actual subprogram is properly resolved.
+
+2012-06-12 Robert Dewar <dewar@adacore.com>
+
+ * switch-c.adb, a-exexpr-gcc.adb: Minor reformatting.
+
+2012-06-12 Vincent Pucci <pucci@adacore.com>
+
+ * checks.adb (Tag_Checks_Suppressed): Remove Kill_Tag_Checks check.
+ * einfo.adb (Universal_Aliasing): Apply to the implementation
+ base type instead of the base type.
+ (Get_Rep_Item_For_Entity):
+ Return a pragma if the pragma node is not present in the Rep
+ Item chain of the parent.
+ (Kill_Tag_Checks): Removed (unused flag).
+ (Set_Kill_Tag_Checks): Removed.
+ (Get_First_Rep_Item): New routine.
+ (Get_Rep_Pragma_For_Entity): New routine.
+ (Has_Rep_Item): New routine.
+ (Has_Rep_Pragma_For_Entity): New routine.
+ (Present_In_Rep_Item): New routine.
+ * einfo.ads (Kill_Tag_Checks): Removed.
+ (Set_Kill_Tag_Checks): Removed.
+ (Get_First_Rep_Item): New routine.
+ (Get_Rep_Pragma_For_Entity): New routine.
+ (Has_Rep_Item): New routine.
+ (Has_Rep_Pragma_For_Entity): New routine.
+ (Present_In_Rep_Item): New routine.
+ * exp_attr.adb, sem_attr.adb: Attribute_CPU,
+ Attribute_Dispatching_Domain and Attribute_Interrupt_Priority
+ case added.
+ * exp_ch13.adb (Expand_N_Attribute_Definition_Clause): For
+ attribute Storage_Size, insert the new assignement statement
+ after the Size variable declaration.
+ * exp_ch3.adb (Build_Init_Statements): Fill the CPU,
+ Dispatching_Domain, Priority and Size components with the Rep
+ Item expression (if any).
+ * exp_ch9.adb (Expand_N_Task_Type_Declaration): _CPU,
+ _Priority, _Domain fields are always present in the
+ corresponding record type.
+ (Find_Task_Or_Protected_Pragma): Removed.
+ (Get_Relative_Deadline_Pragma): New routine.
+ (Make_Initialize_Protection): Find_Task_Or_Protected_Pragma removed.
+ (Make_Task_Create_Call): Check CPU, Size or
+ Dispatching_Domain Rep Item is present using new routine Has_Rep_Item.
+ * freeze.adb (Freeze_All): Push_Scope_And_Install_Discriminants
+ and Uninstall_Discriminants_And_Pop_Scope calls added.
+ (Freeze_Entity): Evaluate_Aspects_At_Freeze_Point call added.
+ * sem_aux.adb (Nearest_Ancestor): Retrieve the nearest ancestor
+ for private derived types.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Clean-up
+ and reordering. Delay analysis for all aspects (except some
+ peculiar cases).
+ (Analyze_Attribute_Definition_Clause):
+ Attribute_CPU, Attribute_Dispatching_Domain,
+ Interrupt_Priority and Attribute_Priority cases added.
+ (Analyze_Freeze_Entity): Push_Scope_And_Install_Discriminants
+ and Uninstall_Discriminants_And_Pop_Scope calls added.
+ (Check_Aspect_At_Freeze_Point): Reordering and clean-up.
+ (Duplicate_Clause): Issue an explicit error msg when the current
+ clause duplicates an aspect specification, an attribute definition
+ clause or a pragma.
+ (Evaluate_Aspects_At_Freeze_Point): New routine.
+ * sem_ch13.ads (Evaluate_Aspects_At_Freeze_Point): New routine.
+ * sem_ch9.adb, sem_ch9.ads (Install_Discriminants): New routine.
+ (Push_Scope_And_Install_Discriminants): New routine.
+ (Uninstall_Discriminants): New routine.
+ (Uninstall_Discriminants_And_Pop_Scope): New routine.
+ * sem_prag.adb (Check_Duplicate_Pragma): Issue an explicit error
+ msg when the current pragma duplicates an aspect specification,
+ an attribute definition clause or a pragma.
+ (Analyze_Pragma): Remove use of flags Has_Pragma_CPU,
+ Has_Pragma_Priority and Has_Pragma_Dispatching_Domain.
+ * sem_util.adb (Compile_Time_Constraint_Error): Don't complain
+ about the type if the corresponding concurrent type doesn't come
+ from source.
+ * sinfo.adb, sinfo.ads (Has_Pragma_CPU): Removed.
+ (Has_Pragma_Dispatching_Domain): Removed.
+ (Has_Pragma_Priority): Removed.
+ (Has_Task_Info_Pragma): Removed.
+ (Has_Task_Name_Pragma): Removed.
+ (Set_Has_Pragma_CPU): Removed.
+ (Set_Has_Pragma_Dispatching_Domain): Removed.
+ (Set_Has_Pragma_Priority): Removed.
+ (Set_Has_Task_Info_Pragma): Removed.
+ (Set_Has_Task_Name_Pragma): Removed.
+ * snames.adb-tmpl (Get_Pragma_Id): Pragma_CPU,
+ Pragma_Dispatching_Domain and Pragma_Interrupt_Priority added.
+ (Is_Pragma_Name): Name_CPU, Name_Dispatching_Domain and
+ Name_Interrupt_Priority added.
+ * snames.ads-tmpl: Name_Dispatching_Domain, Name_CPU
+ and Name_Interrupt_Priority moved to the list of
+ Attribute_Name. Attribute_CPU, Attribute_Dispatching_Domain and
+ Attribute_Interrupt_Priority added. Pragma_Dispatching_Domain,
+ Pragma_CPU and Pragma_Interrupt_Priority moved to the end of
+ the Pragma_Name list.
+
+2012-06-12 Arnaud Charlet <charlet@adacore.com>
+
+ * xref_lib.adb (Get_Full_Type): Add support for 'G'.
+
+2012-06-12 Tristan Gingold <gingold@adacore.com>
+
+ * a-exexpr-gcc.adb (Unwind_Exception): Add 4 more private fields.
+
+2012-06-12 Fedor Rybin <frybin@adacore.com>
+
+ * gnat_ugn.texi: Update doc on gnattest.
+
+2012-06-12 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch12.adb: Add comments.
+
+2012-06-12 Robert Dewar <dewar@adacore.com>
+
+ * switch-c.adb, inline.adb, usage.adb, opt.ads: Minor reformatting.
+
+2012-06-12 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch12.adb: Minor reformatting.
+
+2012-06-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * opt.ads (Inline_Level): New variable.
+ * gnat1drv.adb (Adjust_Global_Switches): Set it based on optimization
+ level if it has not been set by the user.
+ * switch-c.adb (Scan_Front_End_Switches): Accept -gnatn1 and -gnatn2
+ and set Inline_Level accordingly.
+ * inline.adb (Add_Inlined_Body): Declate new Inline_Level_Type type.
+ (Must_Inline): Return Inline_Level_T instead of Boolean to indicate
+ whether the package of the inlined subprogram must be compiled.
+ If Inline_Level is set to 1, only compile packages of subprograms
+ directly called from the main unit.
+ * usage.adb (Usage): Adjust line for -gnatn switch.
+ * gnat_ugn.texi (Switches for gcc): Document -gnatn1 and -gnatn2.
+
+2012-06-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Instantiate_Formal_Subprogram): Do not apply
+ AI05-296 if the actual is overloaded. In this case The rule must
+ be applied after resolution, in Analyze_Subprogram_Renaming.
+
+2012-06-12 Robert Dewar <dewar@adacore.com>
+
+ * stringt.adb: Minor reformatting.
+
+2012-06-12 Robert Dewar <dewar@adacore.com>
+
+ * ali-util.adb, stringt.ads: Minor reformatting.
+
+2012-06-12 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Process_Declarations): Handle the case where
+ the original context has been wrapped in a block to avoid
+ interference between exception handlers and At_End handlers.
+ (Wrap_HSS_In_Block): Mark the block which contains the original
+ statements of the context as being a finalization wrapper.
+ * sinfo.adb (Is_Finalization_Wrapper): New routine.
+ (Set_Is_Finalization_Wrapper): New routine.
+
+ * sinfo.ads: Add new attribute Is_Finalization_Wrapper applicable
+ to block statemnts.
+ (Is_Finalization_Wrapper): New routine with corresponding pragma Inline.
+ (Set_Is_Finalization_Wrapper): New routine with corresponding pragma
+ Inline.
+
+2012-06-12 Steve Baird <baird@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): No longer need to set
+ Exception_Extra_Info in CodePeer_Mode.
+
+2012-06-12 Robert Dewar <dewar@adacore.com>
+
+ * sem_dist.adb, exp_ch7.adb, sem_type.adb, exp_attr.adb,
+ sinfo.ads, sem_ch7.adb, exp_alfa.adb, sem_scil.adb, sem_ch12.adb,
+ sem_util.adb, sem_res.adb, sem_attr.adb, sem_elab.adb, exp_ch6.adb,
+ sem_ch4.adb, sem_warn.adb, scil_ll.adb, exp_cg.adb: Minor code
+ reorganization.
+
+2012-06-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-tasini.ads: Minor fix in comment.
+
+2012-06-12 Thomas Quinot <quinot@adacore.com>
+
+ * freeze.adb (Freeze_Record_Type): Warn on record with
+ Scalar_Storage_Order if there is no placed component.
+
+2012-06-12 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch3.adb: Minor comment fix.
+
+2012-06-12 Vincent Celier <celier@adacore.com>
+
+ * ali-util.adb (Time_Stamp_Mismatch): In minimal recompilation
+ mode, use Stringt Mark and Release to avoid growing the Stringt
+ internal tables uselessly.
+ * stringt.adb (Strings_Last): New global variable
+ (String_Chars_Last): New global variable.
+ (Mark, Release): New procedures.
+ * stringt.ads (Mark, Release) New procedures.
+
+2012-06-12 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Process_Transient_Objects): Renamed constant
+ Requires_Hooking to Must_Hook and replace all occurrences of the name.
+ (Requires_Hooking): New routine. Detect all contexts that require
+ transient variable export to the outer finalizer due to a potential
+ exception.
+
+2012-06-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb: Small adjustment.
+
+2012-06-12 Vincent Celier <celier@adacore.com>
+
+ * vms_cmds.ads (Command_Type): New enumeration value Test
+ * vms_conv.adb (Initialize): Add component at index Test in
+ Command_List
+ * vms_data.ads (Test_Switches): New global variable for the
+ switches of gnattest, currently empty.
+
+2012-06-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Analyze_Subtype_Declaration): if an incomplete
+ type is tagged, so is a subtype of it.
+ * sem_ch12.adb (Validate_Actual_Subprogram): implement AI05-0296,
+ concerning freeze rules in the presence of formal incomplete
+ types: a formal abstract subprogram cannot have an incomplete
+ controlling type, and the profile of the actual subprogram does
+ not freeze if it includes an incomplete untagged type.
+
+2012-06-12 Robert Dewar <dewar@adacore.com>
+
+ * a-direct.adb: Minor reformatting.
+
+2012-06-12 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Add missing documentation for -gnatw.v and
+ -gnatw.V.
+
+2012-06-12 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch7.adb, sem_prag.adb, sem_ch12.adb, sem_ch4.adb,
+ sem_ch13.adb: Minor rewording of error messages for unchecked unions.
+
+2012-06-12 Robert Dewar <dewar@adacore.com>
+
+ * lib-xref.ads: Minor reformatting.
+
+2012-06-12 Pascal Obry <obry@adacore.com>
+
+ * a-direct.adb (Delete_File): Delete symbolic links silently
+ instead of raising the Name_Error exception when the symbolic
+ link is pointing to a non existent file.
+
+2012-06-12 Robert Dewar <dewar@adacore.com>
+
+ * xref_lib.adb, sem_ch13.adb, lib-xref.adb: Minor reformatting.
+
+2012-06-12 Javier Miranda <miranda@adacore.com>
+
+ * lib-xref.ads Adding missing documentation.
+
+2012-06-12 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Create_Finalizer): Add the
+ exception reraise mechanism at the very end of the finalizer
+ statements. This placement ensures that all objects are finalized,
+ the secondary stack mark released and aborts undeferred before
+ propagating an exception.
+
+2012-06-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Remove_Unit_From_Visibility): if the unit is a
+ wrapper package. remove from visibility the original subprogram
+ instance.
+
+2012-06-12 Javier Miranda <miranda@adacore.com>
+
+ * sem_prag.adb (Process_Convention): Generate reference to entity
+ exported to foreign language. Needed for GPS navigation.
+ * xref_lib.adb (Parse_Identifier_Info): Parse exported entities.
+ * lib-xref (Output_References): Output exported entities.
+
+2012-06-12 Pascal Obry <obry@adacore.com>
+
+ * prj-attr.adb: Add install package and corresponding attributes.
+ * snames.ads-tmpl (Name_Active): New constant.
+ (Name_Exec_Subdir): Likewise.
+ (Name_Install): Likewise.
+ (Name_Lib_Subdir): Likewise.
+ (Name_Project_Subdir): Likewise.
+ (Name_Sources_Subdir): Likewise.
+
+2012-06-12 Bob Duff <duff@adacore.com>
+
+ * sem_res.adb (Check_Infinite_Recursion):
+ Suppress spurious warning on recursion after "raise with ...".
+
+2012-06-12 Thomas Quinot <quinot@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma, case Unchecked_Union): Do
+ not crash on illegal unchecked union that is a null record.
+
+2012-06-12 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch4.adb (Has_Inferable_Discriminants): Reorganize code to
+ treat implicit dereferences with a constrained unchecked union
+ nominal subtype as having inferable discriminants.
+
+2012-06-12 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb: Minor reformatting.
+
+2012-06-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat_ugn.texi: Couple of minor corrections.
+
+2012-06-12 Thomas Quinot <quinot@adacore.com>
+
+ * sem_prag.adb (Check_Variant): An empty component list is not
+ illegal in an unchecked union variant.
+
+2012-06-12 Gary Dismukes <dismukes@adacore.com>
+
+ * projects.texi: Remove comments.
+
+2012-06-12 Thomas Quinot <quinot@adacore.com>
+
+ * back_end.adb (Scan_Back_End_Switches): Treat -fdump-scos as
+ synonym of -gnateS.
+ (gnat_post_options): Disable gimple-based SCO generator.
+ * gnat_ugn.texi: Document that -gnateS is an obsolete synonym
+ of -fdump-scos.
+
+2012-06-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Different_Generic_Profile): new predicate for
+ Find_Corresponding_Spec, to handle a rare case of accidental
+ overloading in an instance, when the profile of a subprogram body
+ that depends on a formal type becomes compatible with that of
+ a homonym whose profile in the generic mentions the actual type.
+
+2012-06-12 Thomas Quinot <quinot@adacore.com>
+
+ * gnat1drv.adb: Minor reformatting.
+
+2012-06-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Build_Explicit_Dereference): If the expression
+ is an entity, ensure that the type of the expression is the same
+ as that of the entity.
+
+2012-06-12 Pat Rogers <rogers@adacore.com>
+
+ * projects.texi: Corrected instances of the word "build" that
+ should be "built" instead. Other similar changes and minor
+ punctuation changes.
+
+2012-06-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_util.adb (Is_Atomic_Object): Return true for an atomic
+ component as well as a prefix which is an atomic component.
+
+2012-06-12 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_prag.adb (Expand_Pragma_Import_Or_Interface): revert previous
+ patch. The processing of interfacing aspects now generates a
+ proper Ada 2005 pragma.
+ * sem_prag.adb (Analyze_Pragma, cases Pragma_Export and
+ Pragma_Import): revert previous patch. The processing of
+ interfacing aspects now generates a proper Ada 2005 pragma.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): generate proper
+ pragam for aspects Convention, Import and Export. Scan list
+ of aspects to collect link name and external name if present,
+ and verify that a complete pragma can be generated.
+
+2012-06-11 Olivier Hainque <hainque@adacore.com>
+
+ * gcc-interface/Makefile.in (GNATLIBCFLAGS_FOR_C): Remove
+ $(PIC_FLAG_FOR_TARGET).
+ (gnatlib-shared-default): Add $(PIC_FLAG_FOR_TARGET) to
+ GNATLIBCFLAGS_FOR_C passed to gnatlib.
+ (gnatlib-shared-win32): Likewise.
+ (gnatlib-shared-darwin): Likewise.
+ (gnatlib-shared-dual-win32): Pass PIC_FLAG_FOR_TARGET to
+ gnatlib-shared-win32.
+
+2012-06-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Convert GNU_SIZE
+ to units before invoking allocatable_size_p on it.
+ Remove orphaned comment. Do not use ssize_int.
+ <E_Record_Subtype>: Traverse list in original order. Minor tweak.
+ (allocatable_size_p): Adjust and simplify.
+ (build_subst_list): Use consistent terminology throughout.
+ (build_variant_list): Likewise. Traverse list in original order.
+ (create_field_decl_from): Likewise.
+ (copy_and_substitute_in_size): Likewise.
+ (create_variant_part_from): Add comment about field list order.
+ * gcc-interface/utils.c (build_vms_descriptor): Do not use ssize_int.
+ * gcc-interface/utils2.c (build_allocator): Likewise.
+
+2012-06-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Identifier_to_gnu): Test Is_Elementary_Type
+ instead of Is_Scalar_Type for a constant with an address clause.
+ Do not return the underlying constant for a constant used by reference
+ if it holds the address of a constant and an lvalue is required.
+
+2012-06-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Do not specifically deal
+ with external constants wrt force_global here...
+ <E_Constant>: ...but here instead.
+ * gcc-interface/utils.c (gnat_pushdecl): Do not put external DECLs onto
+ the list of global DECLs.
+
+2012-06-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Translate the Esize on
+ entry only for elementary types and abort if it is too large.
+ <E_Record_Type>: Make sure the Esize is known before using it.
+
+2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
+
+ * gcc-interface/utils2.c: Do not include output.h.
+ * gcc-interface/Make-lang.in: Fix dependencies.
+
+2012-05-29 Michael Matz <matz@suse.de>
+
+ * gcc-interface/utils.c (create_var_decl_1): Don't call expand_decl.
+
+2012-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (variant_desc): Rename 'record' to 'new_type'.
+ (build_variant_list): Adjust to above renaming.
+ (gnat_to_gnu_entity) <E_Record_Subtype>: Likewise. Give a unique name
+ to the type of the variant containers.
+ (create_variant_part_from): Likewise. Give a unique name to the type
+ of the variant part.
+
+2012-05-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/52362
+ * link.c (__gnat_object_file_option): Set to "-Wl,@" for GNU linker.
+ (__gnat_using_gnu_linker): Delete.
+ * gnatlink.adb (Gnatlink): Declare Object_File_Option_Ptr here...
+ Declare Object_File_Option string constant and Using_GNU_response_file
+ boolean constant.
+ (Process_Binder_File): ...instead of here. Delete Using_GNU_Linker,
+ Opening and Closing local variables. Do not handle the GNU linker
+ specially.
+ (Write_RF): New procedure to write into the response file. Escape some
+ characters if a GNU response file is used. Keep track of error status.
+ Invoke Write_RF to write into the response file. Delete the file only
+ if the link was successful.
+ * mlib-utl.adb: Do not `with' package System.
+ (Gcc): Likewise. Declare Object_File_Option string constant and
+ Using_GNU_response_file boolean constant.
+ (Write_RF): Take a string instead of address and length. Escape some
+ characters if a GNU response file is used.
+ Invoke Write_RF to write into the response file. Delete the file only
+ if the link was successful. Do not warn if it cannot be deleted.
+
+2012-05-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (gnat_write_global_declarations): Put a name
+ on the dummy global variable.
+
+2012-05-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
+ (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall
+ calling convention
+ (get_minimal_subprog_decl): Likewise.
+ (gnat_first_param_is_class): New predicate.
+
+ * gcc-interface/misc.c (gnat_handle_option): Fix formatting.
+ * gcc-interface/Makefile.in: Likewise.
+
+2012-05-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an object at
+ global level with unconstrained nominal subtype and a non-fixed size,
+ make a variable for the size.
+
+2012-05-15 Andris Pavenis <andris.pavenis@iki.fi>
+
+ PR ada/52494
+ * s-taprop-dummy.adb (Specific): New package.
+
+2012-05-15 Olivier Hainque <hainque@adacore.com>
+
+ * gcc-interface/Make-lang.in (COMMON_FLAGS_TO_PASS): Use WARN_CFLAGS
+ instead of trying to mimic it.
+
+2012-05-15 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch5.adb, sem_util.adb, s-stposu.adb, exp_ch4.adb: Minor
+ reformatting.
+
+2012-05-15 Geert Bosch <bosch@adacore.com>
+
+ * uintp.adb (UI_Rem): Remove optimizations, as they are complex and are
+ not needed.
+ (Sum_Digits): Remove, no longer used.
+ (Sum_Double_Digits): Likewise.
+
+2012-05-15 Yannick Moy <moy@adacore.com>
+
+ * aspects.ads: Minor typo.
+
+2012-05-15 Thomas Quinot <quinot@adacore.com>
+
+ * gnat_rm.texi (Scalar_Storage_Order): Fix RM reference.
+ * sem_ch13.adb: Minor comment fix: incorrect RM reference.
+
+2012-05-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_prag.adb (Process_Atomic_Shared_Volatile): Propagate
+ atomicity from an object to its underlying type only if it
+ is composite.
+
+2012-05-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Iterator_Specification): Set kind of
+ loop variable after pre-analysis of iterator name, to prevent
+ premature usage of loop variable.
+
+2012-05-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Is_Variable): In Ada 2012, an explicit
+ dereference that is a rewriting of an expression whose type has
+ a declared Implicit_Derenference aspect is a variable.
+
+2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Insert_Dereference_Action): Reimplemented. The
+ routine performs address and size adjustments for dereferences
+ of heap-allocated controlled objects. This manipulation is needed
+ in order to restore the original state of the memory at the time
+ it was allocated by the finalization machinery.
+ * rtsfind.ads: Add RE_Adjust_Controlled_Dereference to tables
+ RE_Id and RE_Unit_Table.
+ * sinfo.adb (Has_Dereference_Action): New routine.
+ (Set_Has_Dereference_Action): New routine.
+ * sinfo.ads: Add new semantic flag Has_Dereference_Action along
+ its association in nodes.
+ (Has_Dereference_Action): New routine and pragma Inline.
+ (Set_Has_Dereference_Action): New routine and pragma Inline.
+ * s-stposu.ads, s-stposu.adb (Adjust_Controlled_Dereference): New
+ routine.
+
+2012-05-15 Thomas Quinot <quinot@adacore.com>
+
+ * uintp.adb (Image_Uint): Use UI_Div_Rem to get quotient and
+ remainder of U / Base in a single operation.
+
+2012-05-15 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch5.adb, inline.adb, sem_ch10.adb, prj.ads, sem_util.adb,
+ a-ngelfu.ads, exp_ch4.adb, exp_ch6.adb, aspects.ads, sem_ch6.adb,
+ vms_data.ads, exp_ch3.adb, prj-env.adb: Minor reformatting.
+
+2012-05-15 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch4.adb (Has_Inferable_Discriminants): For a qualified
+ expression, use correct node for test on the subtype denoted by
+ the subtype mark.
+
+2012-05-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * inline.adb (Scope_In_Main_Unit): Rename into...
+ (In_Main_Unit_Or_Subunit): ...this. Also return
+ true if the subprogram is within a subunit of the
+ main unit.
+ (Add_Inlined_Body): Adjust for above renaming.
+ (Add_Inlined_Subprogram): Likewise. Pass the subprogram directly.
+ (Analyze_Inlined_Bodies): Really set aside inlined subprograms
+ not handled by Add_Inlined_Body.
+
+2012-05-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Expand_With_Clause): In the context of a generic
+ package declaration, a private with-clause on a child unit implies
+ that the implicit with clauses on its parents are private as well.
+
+2012-05-15 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch6.adb (Is_Interface_Conformant): Add missing call to
+ Base_Type to handle subtypes.
+ * exp_ch6.adb (Expand_Call): For calls located in thunks handle
+ unchecked conversions of access types found in actuals.
+ * exp_disp.adb (Expand_Interface_Thunk): Add missing unchecked
+ conversion to actuals whose type is an access type. Done to
+ avoid reporting spurious errors.
+
+2012-05-15 Vincent Celier <celier@adacore.com>
+
+ * prj-env.adb (Create_Mapping): Ignore sources that are
+ suppressed (Create_Mapping_File.Process): Ditto
+ * prj-nmsc.adb (Add_Source): Update to take into
+ account suppressed files that may hide inherited sources.
+ (Mark_Excluded_Sources): Mark excluded sources of the current
+ project as suppressed.
+ * prj.ads (Source_Data): New Boolean component Suppressed,
+ defaulted to False
+
+2012-05-15 Thomas Quinot <quinot@adacore.com>
+
+ * exp_intr.adb: Minor reformatting.
+
+2012-05-15 Thomas Quinot <quinot@adacore.com>
+
+ * gnat_rm.texi: Document attribute Scalar_Storage_Order.
+
+2012-05-15 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch3.adb (Build_Offset_To_Top): Modify the
+ expansion of the offset_to_top functions to ensure that their
+ profile is conformant with the profile specified in Ada.Tags. No
+ change in functionality.
+
+2012-05-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * inline.adb (Subp_Info): Remove Count and Next_Nopred
+ components, add Processed component and move around Next component.
+ (Add_Call): Reverse meaning of Successors table to the natural one.
+ (Add_Inlined_Body): Do not inline a package if it is in the main unit.
+ (Add_Inlined_Subprogram): Do not add the subprogram to the list if the
+ package is in the main unit. Do not recurse on the successors.
+ (Add_Subp): Adjust to new contents of Subp_Info.
+ (Analyze_Inlined_Bodies): Do not attempt
+ to compute a topological order on the list of inlined subprograms,
+ but compute the transitive closure from the main unit instead.
+ (Get_Code_Unit_Entity): Always return the spec for a package.
+
+2012-05-15 Yannick Moy <moy@adacore.com>
+
+ * aspects.ads: Minor addition of comments to provide info on
+ how to add new aspects.
+
+2012-05-15 Thomas Quinot <quinot@adacore.com>
+
+ * osint.ads: Minor reformatting.
+
+2012-05-15 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch5.adb, exp_pakd.adb, sem_util.adb, sem_util.ads
+ (Expand_Assign_Array): Handle the case of a packed bit array within a
+ record with reverse storage order (assign element by element in that
+ case).
+ (In_Reverse_Storage_Order_Record): New subprogram,
+ code extracted from Exp_Pakd.
+
+2012-05-15 Yannick Moy <moy@adacore.com>
+
+ * a-ngelfu.ads: Add postconditions using Ada 2012
+ aspect syntax, reflecting some of the RM requirements for these
+ functions, from Annex A.5.1 or G.2.4.
+
+2012-05-15 Thomas Quinot <quinot@adacore.com>
+
+ * adaint.c: Minor fix: move misplaced comment.
+
+2012-05-15 Doug Rupp <rupp@adacore.com>
+
+ * vms_data.ads: Enhance help for /IMMEDIATE_ERRORS to discourage
+ use by customers.
+
+2012-05-15 Tristan Gingold <gingold@adacore.com>
+
+ * a-exextr.adb: Add comment.
+
+2012-05-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting (remove long dead code).
+
+2012-05-15 Ed Schonberg <schonberg@adacore.com>
+
+ * aspects.adb, aspects.ads: Add aspects for Convention, Export,
+ External_Name, Import, and Link_Name.
+ * exp_prag.adb (Expand_Pragma_Import_Or_Interface): if the
+ pragma comes from an aspect specification, the entity is the
+ first argument.
+ * sem_prag.adb (Analyze_Pragma, cases Pragma_Export and
+ Pragma_Import): if the pragma comes from an aspect specification,
+ the entity is the first argument, and the second has the value
+ True by default.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): generate pragam
+ for aspect Convention. Add placeholders for Link_Name and
+ External_Name.
+
+2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch9.adb (Expand_N_Asynchronous_Select): Extract the statements
+ of the abortable part and triggering alternative after being processed
+ for controlled objects.
+ (Expand_N_Timed_Entry_Call): Code and comment reformatting.
+
+2012-05-15 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.adb: Minor code reorganization.
+
+2012-05-15 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch7.adb, exp_ch11.adb, exp_ch11.ads: Minor reformatting.
+
+2012-05-15 Thomas Quinot <quinot@adacore.com>
+
+ * sem_res.adb (Resolve): Enforce E.2.2(11/2) and E.2.2(12) for
+ 'Unrestricted_Access and 'Unchecked_Access (not just 'Access):
+ even in those cases, a remote access type may only designate a
+ remote subprogram.
+
+2012-05-15 Thomas Quinot <quinot@adacore.com>
+
+ * sem_util.adb, sem_util.ads, sem_cat.adb: Minor refactoring.
+ (Enclosing_Lib_Unit_Node): Rename to Enclosing_Comp_Unit_Node.
+
+2012-05-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove obsolete
+ checks on nested inlined subprograms.
+
+2012-05-15 Tristan Gingold <gingold@adacore.com>
+
+ * fe.h (Get_RT_Exception_Name): Declare.
+
+2012-05-15 Tristan Gingold <gingold@adacore.com>
+
+ * raise-gcc.c (db_region_for): Use %p + cast to avoid warnings.
+ (get_region_description_for): Likewise.
+ (db_action_for): Likewise.
+ (get_call_site_action_for): Likewise.
+ (get_ttype_entry_for): Remove useless 'const'.
+ (PERSONALITY_FUNCTION): Add ATTRIBUTE_UNUSED on uw_exception_class.
+
+2012-05-15 Tristan Gingold <gingold@adacore.com>
+
+ * a-exextr.adb (Unhandled_Exception_Terminate): Save occurrence
+ on the stack to avoid a dynamic memory allocation.
+
+2012-05-15 Bob Duff <duff@adacore.com>
+
+ * exp_ch9.adb (Expand_N_Timed_Entry_Call): Move initialization of
+ E_Stats and D_Stats after Process_Statements_For_Controlled_Objects,
+ because those calls can destroy the Statements list.
+
+2012-05-15 Tristan Gingold <gingold@adacore.com>
+
+ * fe.h (Get_RT_Exception_Name): Define.
+ * types.ads (RT_Exception_Code): Update comment.
+ * exp_ch11.adb, exp_ch11.ads (Get_RT_Exception_Name): New
+ procedure to get the name of the rcheck subprograms.
+ * a-except-2005.adb (Rcheck_xx): Rename.
+ * a-except.adb Likewise, but also keep the old Rcheck_nn routines
+ for bootstrap.
+ * arith64.c (__gnat_mulv64): Use __gnat_rcheck_CE_Overflow_Check
+ instead of __gnat_rcheck_10.
+ * gcc-interface/trans.c (build_raise_check): Use Get_RT_Exception_Name
+ to create the __gnat_rcheck routines name.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2012-05-15 Tristan Gingold <gingold@adacore.com>
+
+ * exp_ch7.adb (Build_Exception_Handler): Save current
+ occurrence only if -gnateE.
+ (Build_Object_Declaration): Declare E_Id only if -gnateE.
+ (Build_Raise_Statement): Call Raise_From_Controlled_Operation only if
+ -gnateE (else raise PE).
+ * s-soflin.adb (Save_Library_Occurrence): Handle null occurrence
+ access.
+ * a-except-2005.adb (Reraise_Library_Exception_If_Any): Call
+ Raise_From_Controlled_Operation only if the saved occurrence is
+ not null, otherwise raise PE.
+
+2012-05-15 Yannick Moy <moy@adacore.com>
+
+ * exp_alfa.ads: Add comments describing the Alfa mode.
+
+2012-05-15 Tristan Gingold <gingold@adacore.com>
+
+ * s-soflin.ads, s-soflin.adb (Save_Library_Occurrence): Parameter
+ E is now of type Exception_Occurrence_Access.
+ * exp_ch7.ads, exp_ch7.adb (Build_Exception_Handler): Adjust generated
+ call to Save_Library_Occurrence.
+
+2012-05-15 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch4.adb (Rewrite_Coextension): Use Insert_Action to
+ insert temporary variable decl at the proper place in the tree.
+
+2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * g-calend.adb (Split_At_Locale): New routine.
+ (Time_Of_At_Locale): New routine.
+ * g-calend.ads (Split_At_Locale): New routine.
+ (Time_Of_At_Locale): New routine.
+
+2012-05-15 Gary Dismukes <dismukes@adacore.com>
+
+ * a-except.ads: Minor reformatting.
+
+2012-05-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Loop_Parameter_Specification): If the loop
+ parameter specification is part of a quantified expression, and it
+ already carries a type, do not repeat the analysis to preserve
+ type information: a range attribute reference may have been
+ rewritten as a range with static bounds, and its re-analysis may
+ type it as Integer by default, instead of the original index type.
+
+2012-05-15 Robert Dewar <dewar@adacore.com>
+
+ * s-osprim-mingw.adb: Minor reformatting.
+
+2012-05-15 Arnaud Charlet <charlet@adacore.com>
+
+ * a-except.adb, a-except.ads (Reraise_Library_Exception_If_Any): New.
+ Mark this unit preelaborate.
+ * s-soflin.ads: Make package Preelaborate.
+
+2012-05-15 Robert Dewar <dewar@adacore.com>
+
+ * s-osprim-mingw.adb, sem_eval.adb, a-calend-vms.ads: Minor reformatting
+
+2012-05-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_eval.adb (Subtypes_Statically_Match): In Ada 2012, static
+ matching requires matching of static subtype predicates as well.
+
+2012-05-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_case.adb (Analyze_Choices): If the subtype of the
+ expression has a non-static predicate, the case alternatives
+ must cover the base type.
+
+2012-05-15 Tristan Gingold <gingold@adacore.com>
+
+ * a-calend-vms.ads: Add pragma export to Split and Time_Of.
+ Merge comments from a-calend.ads to minimize differences.
+
+2012-05-15 Sergey Rybin <rybin@adacore.com frybin>
+
+ * gnat_ugn.texi: gnatmetric: add a small example that demonstrates
+ the difference between control coupling and unit coupling.
+
+2012-05-15 Tristan Gingold <gingold@adacore.com>
+
+ * bindgen.adb (Gen_Header): Remove code to emit LE_Set.
+ (Gen_Finalize_Library): Replace test with
+ a call to __gnat_reraise_library_exception_if_any.
+ * s-soflin.ads (Library_Exception): Do not export.
+ (Library_Exception_Set): Likewise.
+ * a-except-2005.ads, a-except-2005.adb
+ (Reraise_Library_Exception_If_Any): New procedure.
+
+2012-05-15 Geert Bosch <bosch@adacore.com>
+
+ * sem_ch9.adb (Allows_Lock_Free_Implementation): out or in out
+ parameters can be access types as well, not just scalar types,
+ so relax the test to Is_Elementary_Type.
+
+2012-05-15 Bob Duff <duff@adacore.com>
+
+ * s-atacco.ads s-atacco.adb: Replace pragma Elaborate_Body
+ with pragma No_Body.
+ (Xyz): Remove Xyz, which is apparently unnecessary.
+
+2012-05-15 Tristan Gingold <gingold@adacore.com>
+
+ * a-calend-vms.adb: Complete previous change.
+
+2012-05-15 Bob Duff <duff@adacore.com>
+
+ * s-win32.ads: Minor comment fix.
+ * s-osprim-mingw.adb: Minor editing.
+
+2012-05-15 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch9.adb, sem_ch9.adb, sem_ch13.adb: Minor reformatting.
+
+2012-05-15 Robert Dewar <dewar@adacore.com>
+
+ * g-comlin.adb, g-comlin.ads: Minor reformatting.
+
+2012-05-15 Vincent Pucci <pucci@adacore.com>
+
+ * aspects.adb, aspects.adb: Reordering of the Aspect_Idi list. New
+ aspect Aspect_Lock_Free.
+ * einfo.adb, einfo.ads: New flag Uses_Lock_Free (flag 188).
+ (Set_Uses_Lock_Free): New routine.
+ (Uses_Lock_Free): New routine.
+ * exp_ch7.adb (Is_Simple_Protected_Type): Return False for
+ lock-free implementation.
+ * exp_ch9.adb (Allows_Lock_Free_Implementation): Moved to Sem_Ch9.
+ (Build_Lock_Free_Unprotected_Subprogram_Body): Protected
+ procedure uses __sync_synchronise. Check both Object_Size
+ and Value_Size.
+ (Expand_N_Protected_Body): Lock_Free_Active
+ renames Lock_Free_On.
+ (Expand_N_Protected_Type_Declaration):
+ _Object field removed for lock-free implementation.
+ (Install_Private_Data_Declarations): Protection object removed
+ for lock-free implementation.
+ (Make_Initialize_Protection):
+ Protection object initialization removed for lock-free implementation.
+ * rtsfind.ads: RE_Atomic_Synchronize and RE_Relaxed added.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Aspect_Lock_Free
+ analysis added.
+ * sem_ch9.adb (Allows_Lock_Free_Implementation): New routine.
+ (Analyze_Protected_Body): Allows_Lock_Free_Implementation call added.
+ (Analyze_Protected_Type_Declaration):
+ Allows_Lock_Free_Implementation call added.
+ (Analyze_Single_Protected_Declaration): Second analysis of
+ aspects removed.
+ * s-atopri.ads: Header added.
+ (Atomic_Synchronize): New routine.
+
+2012-05-15 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch7.ads: Add comment.
+
+2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-calend.adb (Day_Of_Week): The routine once again treats
+ all dates as historic. (Formatting_Operations.Split): All
+ calls to UTC_Time_Offset are now controlled through formal
+ parameter Is_Historic. (Formatting_Operations.Time_Of):
+ All calls to UTC_Time_Offset are now handled through
+ formal parameter Is_Historic.
+ (Split): Update the call to Formatting_Operations.Split.
+ (Time_Of): Update the call to Formatting_Operations.Time_Of.
+ (To_Ada_Time): Update the call to Formatting_Operations.Time_Of.
+ (To_Strict_Tm): Update the call to Formatting_Operations.Split.
+ * a-calend.ads (Split): Add new formal Is_Historic along with
+ comment on usage. This routine is now exported for the purposes
+ of GNAT.Calendar.Locale.
+ (Time_Of): Remove defaults. Add new
+ formal Is_Historic along with comment on usage. This routine is
+ now exported for the purposes of GNAT.Calendar.Locale.
+ * a-calend-vms.adb (Split): Update the call to
+ Formatting_Operations.Split.
+ (Time_Of): Update the call to Formatting_Operations.Time_Of.
+ * a-calend-vms.ads (Split): Add new formal Is_Historic along
+ with comment on usage. (Time_Of): Remove defaults. Add new
+ formal Is_Historic along with comment on usage.
+ * a-calfor.adb (Split): Update the call to
+ Formatting_Operations.Split.
+ (Time_Of): Update the call to Formatting_Operations.Time_Of.
+
+2012-05-15 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Add_Source): Always add the source if it is
+ excluded, to avoid incorrect duplicate checks.
+
+2012-05-15 Yannick Moy <moy@adacore.com>
+
+ * sem_aux.ads: Correct typo.
+ * sem_eval.adb (Compile_Time_Known_Value): Return False in Alfa
+ mode for a deferred constant when outside of the scope of its
+ full view.
+
+2012-05-15 Emmanuel Briot <briot@adacore.com>
+
+ * g-comlin.adb, g-comlin.ads (Define_Switch): Allow specifying the name
+ of the argument, for the automatic help message.
+ (Getopt): do not systematically initialize switches with string values
+ to the empty string, when the user has already specified a default.
+
+2012-05-14 Bernd Schmidt <bernds@codesourcery.com>
+
+ * gcc-interface/utils.c (DEF_ATTR_STRING): New.
+
+2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR 53063
+ * gcc-interface/misc.c: Include opts.h and options.h before tm.h.
+ (gnat_handle_option): Call lang-specific generated function.
+
+2012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * gcc-interface/lang.opt (I): Comment out help text with no effect.
+ (nostdinc): Comment out help text with no effect.
+
+2012-05-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Makefile.in (TOOLS_LIBS): Add ../../ggc-none.o.
+
+2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR 53063
+ * gcc-interface/misc.c (gnat_parse_file): Move before ...
+ (gnat_handle_option): ... this. Use handle_generated_option.
+
+2012-05-10 Richard Guenther <rguenther@suse.de>
+
+ * gcc-interface/cuintp.c (UI_From_gnu): Remove TYPE_IS_SIZETYPE use.
+
+2012-05-06 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/trans.c (gigi): Decorate reraise_zcx_decl.
+
+2012-05-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the renaming
+ case, use the padded type if the renamed object has an unconstrained
+ type with default discriminant.
+
+2012-05-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Loop_Statement_to_gnu): Also handle invariant
+ conditions with only one bound.
+ (Raise_Error_to_gnu): Likewise. New function extracted from...
+ (gnat_to_gnu) <N_Raise_Constraint_Error>: ...here. Call above function
+ in regular mode only.
+
+2012-05-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/misc.c (gnat_post_options): Disable caret by default.
+
+2012-05-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (make_packable_type): Declare.
+ (make_type_from_size): Likewise.
+ (relate_alias_sets): Likewise.
+ (maybe_pad_type): Adjust.
+ (init_gnat_to_gnu): Delete.
+ (destroy_gnat_to_gnu): Likewise.
+ (init_dummy_type): Likewise.
+ (destroy_dummy_type): Likewise.
+ (init_gnat_utils): Declare.
+ (destroy_gnat_utils): Likewise.
+ (ceil_pow2): New inline function.
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Use ceil_pow2.
+ <object>: Pass True for the final processing of alignment and size.
+ <E_Subprogram_Type>: Only create the TYPE_DECL for a padded return
+ type if necessary.
+ (round_up_to_align): Delete.
+ (ceil_alignment): Likewise.
+ (relate_alias_sets): Move to...
+ (make_aligning_type): Likewise.
+ (make_packable_type): Likewise.
+ (maybe_pad_type): Likewise.
+ (make_type_from_size): Likewise.
+ * gcc-interface/utils.c (MAX_BITS_PER_WORD): Delete.
+ (struct pad_type_hash): New type.
+ (pad_type_hash_table): New static variable.
+ (init_gnat_to_gnu): Merge into...
+ (init_dummy_type): Likewise.
+ (init_gnat_utils): ...this. New function.
+ (destroy_gnat_to_gnu): Merge into...
+ (destroy_dummy_type): Likewise.
+ (destroy_gnat_utils): ...this. New function.
+ (pad_type_hash_marked_p): New function.
+ (pad_type_hash_hash): Likewise.
+ (pad_type_hash_eq): Likewise.
+ (relate_alias_sets): ...here.
+ (make_aligning_type): Likewise.
+ (make_packable_type): Likewise.
+ (maybe_pad_type): Likewise. Change same_rm_size parameter into
+ set_rm_size; do not set TYPE_ADA_SIZE if it is false. Do not set
+ null as Ada size. Do not set TYPE_VOLATILE on the padded type. If it
+ is complete and has constant size, canonicalize it. Bail out earlier
+ if a warning need not be issued.
+ (make_type_from_size): Likewise.
+ <INTEGER_TYPE>: Bail out if size is too large
+ (gnat_types_compatible_p): Do not deal with padded types.
+ (convert): Compare main variants for padded types.
+ * gcc-interface/trans.c (gigi): Call {init|destroy}_gnat_utils.
+ (gnat_to_gnu): Do not convert at the end for a call to a function that
+ returns an unconstrained type with default discriminant.
+ (Attribute_to_gnu) <Attr_Size>: Simplify handling of padded objects.
+ * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Likewise.
+ Do not use the padded type if it is BLKmode and the inner type is
+ non-BLKmode.
+
+2012-05-02 Pascal Obry <obry@adacore.com>
+
+ Revert
+ 2012-02-24 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * gcc-interface/Makefile.in (WIN_SO_PREFIX [windows targets]): New
+ Windows-specific make variable.
+ (WIN_SO_INSTALL_DIR [windows targets]): Likewise.
+ (install-gnatlib): Respect the above during installation when set,
+ and also install any windows import library that has been built.
+ (gnatlib-shared-win32): Use WIN_SO_PREFIX to name output DLL and also
+ build a corresponding import library.
+
+2012-04-30 Jan Hubicka <jh@suse.cz>
+
+ * gcc-interface/utils.c (rest_of_subprog_body_compilation): Update
+ comment.
+ (gnat_write_global_declarations): Use finalize_compilation_unit.
+
+2012-04-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): In type annotation mode,
+ do not adjust the size of a tagged type if there is a representation
+ clause on it. Otherwise, round the adjustment up to the alignment
+ of the first field and use the appropriate helper routine.
+ (maybe_pad_type): Do not warn in type annotation mode on a tagged type.
+ (gnat_to_gnu_field): Do not error out under the same circumstances.
+ (annotate_rep): In type annotation mode, do not adjust the offset of
+ components of a tagged type with representation clause. Otherwise,
+ round the adjustment up to the alignment of the first field.
+
+2012-04-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (finish_record_type): Force the traditional GCC
+ layout for bitfields on the type if it is packed or has a representation
+ clause and an alternate layout is available.
+
+2012-04-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (mark_out_of_scope): Delete.
+ (destroy_gnat_to_gnu): Declare.
+ (destroy_dummy_type): Likewise.
+ * gcc-interface/decl.c (mark_out_of_scope): Delete.
+ * gcc-interface/utils.c (destroy_gnat_to_gnu): New function.
+ (destroy_dummy_type): Likewise.
+ * gcc-interface/trans.c (gnat_validate_uc_list): New variable.
+ (gigi): Call validate_unchecked_conversion on gnat_validate_uc_list
+ after the translation is completed. Call destroy_gnat_to_gnu and
+ destroy_dummy_type at the end.
+ (Subprogram_Body_to_gnu): Do not call mark_out_of_scope.
+ (gnat_to_gnu) <N_Block_Statement>: Likewise.
+ <N_Validate_Unchecked_Conversion>: Do not process the node, only push
+ it onto gnat_validate_uc_list.
+ (validate_unchecked_conversion): New function.
+
+2012-04-26 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/Make-lang.in: Update dependencies.
+ Remove s-traceb and tracebak objects from gnat1 and gnatbind (not used).
+ Remove s-tasdeb and s-vaflop rules (not used).
+
+2012-04-26 Olivier Hainque <hainque@adacore.com>
+
+ * gcc-interface/targtyps.c (WIDEST_HARDWARE_FP_SIZE): Default to
+ DOUBLE_TYPE_SIZE instead of LONG_DOUBLE_TYPE_SIZE.
+
+2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-calend.adb (Day_Of_Week): Keep the internal
+ usage of UTC_Time_Offset consistent with Time_Of and Split.
+
+2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Do not freeze
+ the loop variable while preanalyzing a quantified expression.
+
+2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-calend.adb (Split, Time_Of): Rename parameter Is_Ada_05
+ to Use_TZ to better illustrate its function. Update all
+ references to the parameter.
+ (To_Ada_Time): Update the call to Formatting_Operations.Time_Of.
+ * a-calend.ads (Split, Time_Of): Rename parameter Is_Ada_05
+ to Use_TZ to better illustrate its function. Update the related
+ comment on usage.
+ * a-calend-vms.adb (Split, Time_Of): Rename parameter
+ Is_Ada_05 to Use_TZ to better illustrate its function. Update
+ all references to the parameter.
+ (To_Ada_Time): Update the call to Formatting_Operations.Time_Of.
+ * a-calend-vms.ads (Split, Time_Of): Rename parameter Is_Ada_05
+ to Use_TZ to better illustrate its function. Update the related
+ comment on usage.
+ * a-calfor.adb (Split, Time_Of): Update the call to
+ Formatting_Operations.Time_Of.
+ * sysdep.c (__gnat_localtime_tzoff): Dereference pointer
+ "is_historic" and rewrite the check as a comparison. Add a
+ comment on flag values.
+
+2012-04-26 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch2.adb, sem_ch8.adb: Minor reformatting.
+
+2012-04-26 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * a-stzunb-shared.adb, gnat_ugn.texi, a-strunb-shared.adb,
+ a-strunb-shared.ads, uintp.adb, a-stwiun-shared.adb,
+ a-stwiun-shared.ads, a-cbhama.ads, vms_data.ads, a-cobove.adb,
+ a-convec.adb, sem_ch13.adb, a-cbhase.ads: Fix common misuses of the
+ word "then" where "than" should be used in English.
+
+2012-04-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch5.adb (Check_Unreachable_Code): Skip past pragmas.
+
+2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * s-finroo.ads: Remove with clause for
+ Ada.Streams. Type Root_Controlled is now abstract tagged null
+ record. Remove internal package Stream_Attributes. Root_Controlled
+ doesn't need stream attribute redeclaration and avoids the
+ dependency on streams.
+
+2012-04-26 Tristan Gingold <gingold@adacore.com>
+
+ * adaint.c (to_host_path_spec): Removed (unused).
+ Minor reformatting.
+
+2012-04-26 Steve Baird <baird@adacore.com>
+
+ * gnat_rm.texi Improve description of Valid_Scalars attribute.
+
+2012-04-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Can_Override_Operator): If the formal is a
+ generic type the operator cannot be overriding.
+
+2012-04-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Spec_Reloaded_For_Body): Check whether the type
+ is declared in a package specification, and current unit is the
+ corresponding package body. The use clauses themselves may be
+ within a nested package.
+
+2012-04-26 Bob Duff <duff@adacore.com>
+
+ * exp_ch2.adb (Param_Entity): Take into account the case where
+ the type of the entry parameter has a representation clause.
+
+2012-04-26 Ed Schonberg <schonberg@adacore.com>
+
+ * gnat_ugn.texi: Tweak dimensionality doc.
+
+2012-04-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_eval.adb: Minor reformatting.
+
+2012-04-26 Robert Dewar <dewar@adacore.com>
+
+ * einfo.adb, einfo.ads, sem_res.adb, sem_ch4.adb,
+ sem_eval.adb: Minor reformatting.
+
+2012-04-26 Thomas Quinot <quinot@adacore.com>
+
+ * freeze.adb: Minor change in error wording.
+
+2012-04-26 Ed Schonberg <schonberg@adacore.com>
+
+ * gnat_ugn.texi: Documentation on dimensional analysis.
+
+2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb, einfo.ads: Remove synthesized attribute
+ Proper_First_Index along with its associations in various nodes.
+ (Proper_First_Index): Removed.
+ * sem_ch4.adb (Analyze_Slice): Alphabetize constants. Add new
+ local variable Index_Type. The index type of a string literal
+ subtype is that of the stored low bound.
+ * sem_eval (Get_Static_Length): Remove the use of Proper_First_Index.
+ * sem_res.adb (Resolve_Slice): Alphabetize constants. Add
+ new local variable Index_Type. The index type of a
+ string literal subtype is that of the stored low bound.
+ (Set_String_Literal_Subtype): Code reformatting.
+
+2012-04-26 Robert Dewar <dewar@adacore.com>
+
+ * exp_aggr.adb: Minor reformatting.
+
+2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Expand_Cleanup_Actions): Update the call to
+ Requires_Cleanup_Actions.
+ * exp_util.adb (Requires_Cleanup_Actions (List_Id; Boolean;
+ Boolean)): Rename formal parameter For_Package to Lib_Level to
+ better reflect its purpose. Update the related comment and all
+ occurrences of For_Package in the body.
+ (Requires_Cleanup_Actions
+ (Node_Id; Boolean)): Add new formal parameter Lib_Level. Add
+ local constant At_Lib_Level to keep monitor whether the path
+ taken from the top-most context to the current construct involves
+ package constructs. Update all calls to Requires_Cleanup_Actions.
+ * exp_util.ads (Requires_Cleanup_Actions): Add new formal
+ parameter Lib_Level and associated comment.
+
+2012-04-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Process_Formals): If the type of the formal is
+ a non null access type, mark the generated subtype as having a
+ delayed freeze only if the designated type is not frozen yet.
+
+2012-04-26 Vincent Celier <celier@adacore.com>
+
+ * prj-attr.adb: New package Clean with attributes
+ Object_Artifact_Extensions and Source_Artifact_Extensions.
+ * prj-nmsc.adb (Process_Clean): Process new package Clean
+ * prj.ads (Language_Config): New components
+ Clean_Object_Artifacts and Clean_Source_Artifacts.
+ * snames.ads-tmpl: New standard names Clean,
+ Object_Artifact_Extensions and Source_Artifact_Extensions.
+
+2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb (Proper_First_Index): Moved from Sem_Util.
+ * einfo.ads: Add new synthesized attribute Proper_First_Index
+ along with usage in nodes.
+ (Proper_First_Index): Moved from Sem_Util.
+ * sem_util.ads, sem_util.adb (Proper_First_Index): Moved to Einfo.
+
+2012-04-26 Gary Dismukes <dismukes@adacore.com>
+
+ * layout.adb (Layout_Component_List): Test for the case of a
+ single variant and the size of its component list was computed
+ as an integer literal, and use that size (which is in bits)
+ as is rather than converting to storage units.
+
+2012-04-26 Robert Dewar <dewar@adacore.com>
+
+ * exp_aggr.adb: Minor reformatting.
+
+2012-04-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.adb: Minor reformatting.
+
+2012-04-26 Thomas Quinot <quinot@adacore.com>
+
+ * exp_aggr.adb, exp_pakd.adb (Setup_Inline_Packed_Array_Reference,
+ Packed_Array_Aggregate_Handled.Get_Component_Val):
+ Reverse bit numbering within PAT when Reverse_Storage_Order
+ applies to the enclosing record.
+
+2012-04-26 Thomas Quinot <quinot@adacore.com>
+
+ * freeze.adb (Freeze_Record_Type): Improve error message for
+ Scalar_Storage_Order inconsistent with Bit_Order.
+
+2012-04-25 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch9.adb: Add comments on the usage of the
+ lock-free data structures.
+
+2012-04-25 Vincent Pucci <pucci@adacore.com>
+
+ * exp_intr.adb (Expand_Shift): Convert the left
+ operand and the operator when the type of the call differs from
+ the type of the operator.
+
+2012-04-25 Geert Bosch <bosch@adacore.com>
+
+ * stand.ads: Minor comment fix.
+
+2012-04-25 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch4.adb (Analyze_Slice): Handle the case where the prefix
+ is a string literal. Retrieve the first index from the base type
+ when slicing a string literal.
+ * sem_ch12.adb (Check_Private_View): Move the initialization
+ of the type inside the loop to reflect the changing index.
+ * sem_eval.adb (Eval_Relational_Op): Retrieve the first index
+ from the base type when dealing with a string literal.
+ * sem_res.adb (Resolve_Slice): Retrieve the first index from
+ the base type when slicing a string literal.
+ * sem_util.adb (Is_Internally_Generated_Renaming): New routine.
+ (Is_Object_Reference): String literals may act
+ as object references only when they are renamed internally.
+ (Proper_First_Index): New routine.
+ * sem_util.ads (Proper_First_Index): New routine.
+
+2012-04-25 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, csinfo.adb, lib-writ.adb, sem_ch12.adb,
+ lib-xref.adb: Minor reformatting.
+
+2012-04-25 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch9.adb: Rename Lock_Free_Sub_Type
+ to Lock_Free_Subprogram. Remove type Subprogram_Id.
+ Rename LF_Sub_Table to Lock_Free_Subprogram_Table.
+ (Allow_Lock_Free_Implementation): Renamed to
+ Allows_Lock_Free_Implementation. Update the comment on
+ lock-free restrictions. Code clean up and restructuring.
+ (Build_Lock_Free_Protected_Subprogram_Body): Update the
+ profile and related comments. Code clean up and restructuring.
+ (Build_Lock_Free_Unprotected_Subprogram_Body): Update the
+ profile and related comments. Code clean up and restructuring.
+ (Comp_Of): Removed.
+
+2012-04-25 Vincent Celier <celier@adacore.com>
+
+ * sem_ch12.adb (Inherit_Context): Compare library units, not
+ names of units, when checking if a unit is already in the context.
+
+2012-04-25 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch3.adb: Reverse_Storage_Order must be propagated to
+ untagged derived record types.
+
+2012-04-25 Ed Schonberg <schonberg@adacore.com>
+
+ * lib-xref.adb: Adjust position of end label.
+
+2012-04-22 Jan Hubicka <jh@suse.cz>
+
+ * gcc-interface/utils.c (gnat_write_global_declarations): Do not mark
+ needed node.
+
+2012-04-20 Jan Hubicka <jh@suse.cz>
+
+ * gcc-interface/utils.c (gnat_write_global_declarations): Update for new
+ force_output placement.
+
+2012-04-14 Jan Hubicka <jh@suse.cz>
+
+ * gcc-interface/trans.c (finalize_nrv): Update field referenced for new
+ cgraph/varpool layout.
+
+2012-04-09 Mike Stump <mikestump@comcast.net>
+
+ * a-assert.ads: Remove execute permission.
+ * a-chacon.ads: Likewise.
+ * a-coteio.ads: Likewise.
+ * a-envvar.ads: Likewise.
+ * a-exetim-mingw.ads: Likewise.
+ * a-fzteio.ads: Likewise.
+ * a-izteio.ads: Likewise.
+ * a-lcteio.ads: Likewise.
+ * a-llctio.ads: Likewise.
+ * a-scteio.ads: Likewise.
+ * a-suenco.ads: Likewise.
+ * a-suenst.ads: Likewise.
+ * a-suewst.ads: Likewise.
+ * a-suezst.ads: Likewise.
+ * a-tirsfi.ads: Likewise.
+ * a-wichha.ads: Likewise.
+ * a-zchara.ads: Likewise.
+ * a-zchhan.ads: Likewise.
+ * a-zchuni.ads: Likewise.
+ * a-zrstfi.ads: Likewise.
+ * aspects.ads: Likewise.
+ * g-byorma.ads: Likewise.
+ * g-decstr.ads: Likewise.
+ * g-encstr.ads: Likewise.
+ * g-spchge.ads: Likewise.
+ * g-u3spch.ads: Likewise.
+ * g-wispch.ads: Likewise.
+ * g-zspche.ads: Likewise.
+ * namet-sp.ads: Likewise.
+ * s-os_lib.ads: Likewise.
+ * s-regexp.ads: Likewise.
+ * s-regpat.ads: Likewise.
+ * s-string.ads: Likewise.
+ * s-tasloc.ads: Likewise.
+ * s-utf_32.ads: Likewise.
+ * sem_aux.ads: Likewise.
+ * a-assert.adb: Likewise.
+ * a-chacon.adb: Likewise.
+ * a-envvar.adb: Likewise.
+ * a-exetim-mingw.adb: Likewise.
+ * a-suenco.adb: Likewise.
+ * a-suenst.adb: Likewise.
+ * a-suewst.adb: Likewise.
+ * a-suezst.adb: Likewise.
+ * a-tirsfi.adb: Likewise.
+ * a-wichha.adb: Likewise.
+ * a-zchhan.adb: Likewise.
+ * a-zchuni.adb: Likewise.
+ * a-zrstfi.adb: Likewise.
+ * aspects.adb: Likewise.
+ * g-byorma.adb: Likewise.
+ * g-decstr.adb: Likewise.
+ * g-encstr.adb: Likewise.
+ * g-spchge.adb: Likewise.
+ * g-u3spch.adb: Likewise.
+ * g-wispch.adb: Likewise.
+ * g-zspche.adb: Likewise.
+ * namet-sp.adb: Likewise.
+ * s-except.adb: Likewise.
+ * s-inmaop-vxworks.adb: Likewise.
+ * s-os_lib.adb: Likewise.
+ * s-regexp.adb: Likewise.
+ * s-regpat.adb: Likewise.
+ * s-string.adb: Likewise.
+ * s-tasloc.adb: Likewise.
+ * s-utf_32.adb: Likewise.
+ * s-wchcon.adb: Likewise.
+ * sem_aux.adb: Likewise.
+
+2012-04-02 Robert Dewar <dewar@adacore.com>
+
+ * s-atopri.ads: Minor reformatting.
+
+2012-04-02 Thomas Quinot <quinot@adacore.com>
+
+ * sem_util.adb: Minor reformatting, minor code cleanup.
+
+2012-04-02 Ed Schonberg <schonberg@adacore.com>
+
+ * lib-xref.adb (Generate_Reference): For a reference to an
+ operator symbol, set the sloc to point to the first character
+ of the operator name, and not to the initial quaote.
+ (Output_References): Ditto for the definition of an operator
+ symbol.
+
+2012-04-02 Vincent Celier <celier@adacore.com>
+
+ * ali.adb (Scan_Ali): Recognize Z lines. Set
+ Implicit_With_From_Instantiation to True in the With_Record for
+ Z lines.
+ * ali.ads (With_Record): New Boolean component
+ Implicit_With_From_Instantiation, defaulted to False.
+ * csinfo.adb: Indicate that Implicit_With_From_Instantiation
+ is special
+ * lib-writ.adb (Write_ALI): New array Implicit_With.
+ (Collect_Withs): Set Implicit_With for the unit is it is not Yes.
+ (Write_With_Lines): Write a Z line instead of a W line if
+ Implicit_With is Yes for the unit.
+ * sem_ch12.adb (Inherit_Context): Only add a unit in the context
+ if it is not there yet.
+ * sinfo.ads: New flag Implicit_With_From_Instantiation (Flag12)
+ added.
+
+2012-04-02 Yannick Moy <moy@adacore.com>
+
+ * osint.adb, osint.ads (Add_Default_Search_Dirs): Add library
+ search dirs in file specified with option -gnateO.
+
+2012-04-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb: Minor
+ reformatting.
+
+2012-04-02 Olivier Hainque <hainque@adacore.com>
+
+ * g-sse.ads: Add x86-solaris and x86_64-darwin to the set of
+ platforms where the use of this spec is supported. Add current
+ year to the copyright notice.
+ * gcc-interfaces/Makefile.in: Add g-sse.o and g-ssvety.o to
+ EXTRA_GNATRTL_NONTASKING_OBJS on x86 32/64 targets that support
+ it and where they were missing (x86-solaris, x86-freebsd,
+ x86_64-freebsd, and x86-darwin).
+
+2012-04-02 Gary Dismukes <dismukes@adacore.com>
+
+ * bindgen.adb (Gen_Ada_Init): When compiling for the AAMP small
+ library, where we no longer suppress the Standard_Library,
+ generate an empty body rather than the usual generation of
+ assignments to imported globals, since those aren't present in
+ the small library.
+
+2012-04-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sinfo.ads: Minor documentation fix.
+
+2012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_res.adb (Resolve_Conditional_Expression): Add local variables
+ Else_Typ and Then_Typ. Add missing type conversions to the "then" and
+ "else" expressions when their respective types are scalar.
+
+2012-04-02 Vincent Pucci <pucci@adacore.com>
+
+ * exp_ch9.adb: Reordering of the local subprograms. New Table
+ for the lock free implementation that maps each protected
+ subprograms with the protected component it references.
+ (Allow_Lock_Free_Implementation): New routine. Check if
+ the protected body enables the lock free implementation.
+ (Build_Lock_Free_Protected_Subprogram_Body): New routine.
+ (Build_Lock_Free_Unprotected_Subprogram_Body): New routine.
+ (Comp_Of): New routine.
+ * Makefile.rtl: Add s-atopri.o
+ * debug.adb: New compiler debug flag -gnatd9 for lock free
+ implementation.
+ * rtsfind.ads: RE_Atomic_Compare_Exchange_8,
+ RE_Atomic_Compare_Exchange_16, RE_Atomic_Compare_Exchange_32,
+ RE_Atomic_Compare_Exchange_64, RE_Atomic_Load_8,
+ RE_Atomic_Load_16, RE_Atomic_Load_32, RE_Atomic_Load_64, RE_Uint8,
+ RE_Uint16, RE_Uint32, RE_Uint64 added.
+ * s-atropi.ads: New file. Defines atomic primitives used
+ by the lock free implementation.
+
+2012-04-02 Emmanuel Briot <briot@adacore.com>
+
+ * g-expect.adb (Expect_Internal): Fix leak of the input file descriptor.
+
+2012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Quantified_Expression): Reimplemented.
+ The expansion no longer uses the copy of the original QE created
+ during analysis.
+ * sem.adb (Analyze): Add processing for loop parameter specifications.
+ * sem_ch4.adb (Analyze_Quantified_Expression): Reimplemented. The
+ routine no longer creates a copy of the original QE. All
+ constituents of a QE are now preanalyzed and resolved.
+ * sem_ch5.adb (Analyze_Iteration_Scheme): Remove the guard which
+ bypasses all processing when the iteration scheme is related to a
+ QE. Relovate the code which analyzes loop parameter specifications
+ to a separate routine. (Analyze_Iterator_Specification):
+ Preanalyze the iterator name. This action was originally
+ done in Analyze_Iteration_Scheme. Update the check which
+ detects an iterator specification in the context of a QE.
+ (Analyze_Loop_Parameter_Specification): New routine. This
+ procedure allows for a stand-alone analysis of a loop parameter
+ specification without the need of a parent iteration scheme. Add
+ code to update the type of the loop variable when the range
+ generates an itype and the context is a QE.
+ (Pre_Analyze_Range): Renamed to Preanalyze_Range. Update all references
+ to the routine.
+ * sem_ch5.ads: Code reformatting.
+ (Analyze_Loop_Parameter_Specification): New routine.
+ * sem_ch6.adb (Fully_Conformant_Expressions): Detect a case
+ when establishing conformance between two QEs utilizing different
+ specifications.
+ * sem_res.adb (Proper_Current_Scope): New routine.
+ (Resolve): Do not resolve a QE as there is nothing to be done now.
+ Ignore any loop scopes generated for QEs when detecting an expression
+ function as the scopes are cosmetic and do not appear in the tree.
+ (Resolve_Quantified_Expression): Removed. All resolution of
+ QE constituents is now performed during analysis. This ensures
+ that loop variables appearing in array aggregates are properly
+ resolved.
+
+2012-04-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Build_Default_Subtype): If the base type is
+ private and its full view is available, use the full view in
+ the subtype declaration.
+
+2012-04-02 Jose Ruiz <ruiz@adacore.com>
+
+ * gnat_ugn.texi: Add some minimal documentation about how to
+ use GNATtest for cross platforms.
+
+2012-04-02 Vincent Celier <celier@adacore.com>
+
+ * opt.ads (Object_Path_File_Name): New variable.
+ * prj-attr.adb: New Compiler attribute Object_Path_Switches.
+ * prj-nmsc.adb (Process_Compiler): Recognize new attribute
+ Object_Path_Switches.
+ * snames.ads-tmpl: New standard name Object_Path_Switches.
+ * switch-c.adb (Scan_Front_End_Switches): Recognize new switch
+ -gnateO= and put its value in Opt.Object_Path_File_Name.
+
+2012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Process_Declarations): Detect a case where
+ a source object was initialized by another source object,
+ but the expression was rewritten as a class-wide conversion
+ of Ada.Tags.Displace.
+ * exp_util.adb (Initialized_By_Ctrl_Function): Removed.
+ (Is_Controlled_Function_Call): New routine.
+ (Is_Displacement_Of_Ctrl_Function_Result): Removed.
+ (Is_Displacement_Of_Object_Or_Function_Result): New routine.
+ (Is_Source_Object): New routine.
+ (Requires_Cleanup_Actions): Detect a case where a source object was
+ initialized by another source object, but the expression was rewritten
+ as a class-wide conversion of Ada.Tags.Displace.
+ * exp_util.ads (Is_Displacement_Of_Ctrl_Function_Result): Removed.
+ (Is_Displacement_Of_Object_Or_Function_Result): New routine.
+
+2012-04-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Call): A call to an expression function
+ does not freeze if it appears in a different scope from the
+ expression function itself. Such calls appear in the generated
+ bodies of other expression functions, or in pre/postconditions
+ of subsequent subprograms.
+
+2012-04-02 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-alfa.adb: Code clean up.
+
+2012-04-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Analyze_Subprogram_Instantiation): Do not suppress
+ style checks, because the subprogram instance itself may contain
+ violations of syle rules.
+ * style.adb (Missing_Overriding): Check for missing overriding
+ indicator on a subprogram instance.
+
+2012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch6.adb (Last_Implicit_Declaration): New routine.
+ (Process_PPCs): Insert the body of _postconditions after the
+ last internally generated declaration. This ensures that actual
+ subtypes created for formal parameters are visible and properly
+ frozen as _postconditions may reference them.
+
+2012-04-02 Robert Dewar <dewar@adacore.com>
+
+ * einfo.adb (First_Component_Or_Discriminant) Now applies to
+ all types with discriminants, not just records.
+ * exp_attr.adb (Expand_N_Attribute): Add Scalar_Values handling
+ for arrays, scalars and non-variant records.
+ * sem_attr.adb (Analyze_Attribute): Handle Valid_Scalars
+ * sem_attr.ads (Valid_Scalars): Update description
+ * sem_util.ads, sem_util.adb (No_Scalar_Parts): New function.
+
+2012-03-31 Eric Botcazou <ebotcazou@adacore.com>
+
+ Revert
+ 2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (SS_MARK_NAME): New define.
+ (gnat_to_gnu_entity) <E_Function>: Prepend leaf attribute on entities
+ whose name is SS_MARK_NAME.
+
+2012-03-30 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch5.adb, sem_util.adb, exp_ch4.adb: Minor comment updates.
+
+2012-03-30 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-alfa.adb (Add_Alfa_File): Treat possibly 2 units at the same
+ time, putting all scopes in the same Alfa file.
+ (Add_Alfa_Xrefs): Correct errors in comparison function. Correct value
+ of Def component.
+ (Collect_Alfa): Possibly pass 2 units to Add_Alfa_File.
+
+2012-03-30 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_util.adb (Is_Secondary_Stack_BIP_Func_Call): Handle a case where
+ a build-in-place call appears as Prefix'Reference'Reference.
+
+2012-03-30 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-alfa.adb: Minor refactoring to remove internal package.
+
+2012-03-30 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch5.adb (Analyze_Iteration_Scheme): Preanalyze the subtype
+ definition of a loop when the context is a quantified expression.
+
+2012-03-30 Vincent Celier <celier@adacore.com>
+
+ * prj.ads: Minor comment update.
+
+2012-03-30 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-alfa.adb, alloc.ads, lib-xref.ads: Minor addition of
+ comments and refactoring.
+
+2012-03-30 Robert Dewar <dewar@adacore.com>
+
+ * lib-xref.adb, lib-xref-alfa.adb: Minor reformatting & code
+ reorganization.
+
+2012-03-30 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-alfa.adb (Generate_Dereference): Use Get_Code_Unit
+ instead of Get_Source_Unit to get file for reference.
+ (Traverse_Compilation_Unit): Do not add scopes for generic units.
+ * lib-xref.adb (Generate_Reference): Use Get_Code_Unit instead
+ of Get_Source_Unit to get file for reference.
+ * sem_ch12.adb (Analyze_Package_Instantiation): Enable
+ instantiation in Alfa mode.
+
+2012-03-30 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Process_Declarations): Replace
+ the call to Is_Null_Access_BIP_Func_Call with
+ Is_Secondary_Stack_BIP_Func_Call. Update the related comment.
+ * exp_util.adb (Is_Null_Access_BIP_Func_Call): Removed.
+ (Is_Secondary_Stack_BIP_Func_Call): New routine.
+ (Requires_Cleanup_Actions): Replace
+ the call to Is_Null_Access_BIP_Func_Call with
+ Is_Secondary_Stack_BIP_Func_Call. Update the related comment.
+ * exp_util.ads (Is_Null_Access_BIP_Func_Call): Removed.
+ (Is_Secondary_Stack_BIP_Func_Call): New routine.
+
+2012-03-30 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-alfa.adb, lib-xref.adb: Code clean ups.
+
+2012-03-30 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): For the case of a
+ loop entity which is rewritten as a renaming
+ of the indexed array, explicitly mark the entity as needing
+ debug info so that Materialize entity will be set later by
+ Debug_Renaming_Declaration when the renaming is expanded.
+
+2012-03-30 Robert Dewar <dewar@adacore.com>
+
+ * sem_attr.ads: Update comment.
+
+2012-03-30 Vincent Celier <celier@adacore.com>
+
+ * prj.ads: New Dependency_Kind: ALI_Closure.
+
+2012-03-30 Thomas Quinot <quinot@adacore.com>
+
+ * exp_pakd.adb: Minor reformatting.
+
+2012-03-30 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-alfa.adb (Add_Alfa_File): Take into account possible absence
+ of compilation unit for unit in Sdep_Table.
+
+2012-03-30 Thomas Quinot <quinot@adacore.com>
+
+ * freeze.adb (Freeze_Record_Type): For a type with reversed bit
+ order and reversed storage order, disable front-end relayout.
+
+2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Copy
+ the TYPE_PACKED flag from the base type.
+
+2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (SS_MARK_NAME): New define.
+ (gnat_to_gnu_entity) <E_Function>: Prepend leaf attribute on entities
+ whose name is SS_MARK_NAME.
+
+2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (add_parallel_type): Take a TYPE instead of a
+ DECL and adjust. Move around.
+ (has_parallel_type): New predicate.
+ (rest_of_record_type_compilation): Return early if the type already
+ has a parallel type.
+ * gcc-interface/gigi.h (add_parallel_type): Adjust.
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust for above changes.
+
+2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (finish_record_type): Return early for padded
+ types and tidy up.
+
+2012-03-20 Arnaud Charlet <charlet@adacore.com>
+
+ * hlo.ads, hlo.adb: Removed, no longer used.
+ * gcc-interface/Make-lang.in: Remove hlo.o. Update dependencies.
+ * gcc-interface/Makefile.in: Remove EXTRA_LIBGNAT_SRCS (temporarly)
+ and compute it from EXTRA_LIBGNAT_OBJS.
+ Clean up comments, reorder LIBGNAT_SRCS and LIBGNAT_OBJS.
+
+2012-03-20 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi, sem_attr.ads: Update documentation.
+
+2012-03-19 Yannick Moy <moy@adacore.com>
+
+ * sem_ch6.adb: Minor code clean up.
+
+2012-03-19 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Scan_Make_Arg): Make sure all significant -m switches
+ on the command line are counted.
+
+2012-03-19 Robert Dewar <dewar@adacore.com>
+
+ * sem_elab.adb (Generate_Elab_Warnings): Fix spec, fix attribute
+ reference case
+
+2012-03-19 Robert Dewar <dewar@adacore.com>
+
+ * par-ch4.adb (Check_Bad_Exp): New procedure
+
+2012-03-19 Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb, sem_attr.adb, sem_attr.ads, snames.ads-tmpl: Add
+ initial framework for Valid_Scalars attribute.
+
+2012-03-19 Robert Dewar <dewar@adacore.com>
+
+ * scng.adb (Scan): Recognize incorrect preprocessor directive
+
+2012-03-19 Robert Dewar <dewar@adacore.com>
+
+ * atree.adb (Allocate_Initialize_Node): Use Num_Extension_Nodes
+ * atree.ads (Num_Extension_Nodes): New variable
+ * debug.adb: New debug flag -gnatd.N
+ * gnat1drv.adb (Adjust_Global_Switches): Adjust
+ Num_Extension_Nodes if -gnatd.N set
+
+2012-03-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * einfo.ads: Minor update to First_Rep_Item and Has_Gigi_Rep_Item
+ descriptions.
+
+2012-03-19 Robert Dewar <dewar@adacore.com>
+
+ * opt.ads: Remove HLO_Active flag.
+ * sem.adb: Remove call of high level optimizer.
+ * sem.ads (New_Nodes_OK): Removed.
+ * sem_ch10.adb: Remove references to New_Nodes_OK.
+ * switch-c.adb: Remove handling of -gnatH switch.
+
+2012-03-19 Yannick Moy <moy@adacore.com>
+
+ * sem_ch6.adb (Check_Subprogram_Contract): Do not emit warnings
+ on trivially True or False postconditions and Ensures components
+ of contract-cases.
+
+2012-03-19 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Fix index entry for -gnatei (now we have
+ ug_words entry).
+
+2012-03-19 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch3.adb (Get_Discriminant_Value): Instead of looking
+ at the immediate correcponsing discriminant, traverse a
+ potential chain of discriminants produced by type derivations.
+ (Root_Corresponding_Discriminant): Traverse a chain of inherited
+ discriminants and return the topmost discriminant.
+
+2012-03-19 Bob Duff <duff@adacore.com>
+
+ * debug.adb: Minor comment change.
+ * gnat_ugn.texi: Update documentation for elaboration regarding
+ indirect calls.
+
+2012-03-19 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): In
+ the case of an object of a class-wide interface type, where the
+ declaration is rewritten as a renaming, call Set_Debug_Info_Needed
+ on the renaming entity so that Materialize_Entity will be
+ set. Also, change existing call (for other than interface cases)
+ to call Set_Debug_Info_Needed rather than Set_Needs_Debug_Info
+ (as specified for that flag).
+
+2012-03-19 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch4.adb (Analyze_Allocator): Detect an allocator generated
+ by the build-in-place machinery where the designated type is
+ indefinite, but the underlying type is not. Do not emit errors
+ related to missing initialization in this case.
+
+2012-03-19 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Add documentation for -gnateinnn switch.
+ * sem_elab.adb, put_alfa.adb, lib-xref-alfa.adb: Minor reformatting.
+ * sem_prag.adb: Minor comment update.
+
+2012-03-15 Robert Dewar <dewar@adacore.com>
+
+ * errout.ads: Add entry for translating -gnateinn to
+ /MAX_INSTANTIATIONS for VMS.
+ * hostparm.ads (Max_Instantiations): Moved to Opt.
+ * opt.ads (Maximum_Instantiations): Moved from Hostparm, and renamed.
+ * sem_ch12.adb (Maximum_Instantiations): New name of
+ Max_Instantiations (Analyze_Package_Instantiation): Change error
+ msg for too many instantiations (mention -gnateinn switch).
+ * switch-c.adb (Scan_Front_End_Switches): Implement -gnateinn switch.
+ * switch.ads: Minor comment update.
+ * usage.adb (Usage): Output line for -maxeinn switch.
+ * vms_data.ads: Add entry for MAX_INSTANTIATIONS (-gnateinn).
+
+2012-03-15 Yannick Moy <moy@adacore.com>
+
+ * alfa.ads Update the decription of ALI sections.
+ (Alfa_File_Record): Add a component Unit_File_Name to store the
+ unit file name for subunits.
+ * get_alfa.adb, put_alfa.adb Adapt to the possible presence of
+ a unit file name.
+ * lib-xref-alfa.adb (Add_Alfa_File): For subunits, retrieve the
+ file name of the unit.
+
+2012-03-15 Yannick Moy <moy@adacore.com>
+
+ * sem_ch6.adb (Check_Subprogram_Contract): Do
+ not issue warning on missing 'Result in postcondition if all
+ postconditions and contract-cases already get a warning for only
+ referring to pre-state.
+
+2012-03-15 Bob Duff <duff@adacore.com>
+
+ * debug.adb: Add new debug switch -gnatd.U, which disables the
+ support added below, in case someone trips over a cycle, and needs
+ to disable this.
+ * sem_attr.adb (Analyze_Access_Attribute):
+ Treat Subp'Access as a call for elaboration purposes.
+ * sem_elab.ads, sem_elab.adb (Check_Elab_Call): Add support
+ for Subp'Access.
+
+2012-03-15 Vincent Pucci <pucci@adacore.com>
+
+ * sem.ads, sem.adb (Preanalyze): New routine.
+ * sem_ch4.adb (Analyze_Quantified_Expression): Call to the
+ Preanalyze routine in Sem added. Renaming of Needs_Expansion
+ into Need_Preanalysis.
+ * sem_ch6.adb (Preanalyze): Removed.
+
+2012-03-15 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch4.adb (Analyze_Quantified_Expression): Add comment.
+ * sem_prag.adb: Minor comment additions.
+ * sem_attr.adb (Check_First_Last_Valid): Make sure prefix type
+ is frozen.
+
+2012-03-15 Vincent Pucci <pucci@adacore.com>
+
+ * sem_ch4.adb (Analyze_Quantified_Expression):
+ Preanalyze the condition when the quantified expression will be
+ further expanded.
+
+2012-03-15 Yannick Moy <moy@adacore.com>
+
+ * sem_prag.adb, sem_util.adb, sem_util.ads, sem_attr.adb, sem_ch6.adb,
+ sem_warn.adb: Minor refactoring, renaming Case_Pragma in CTC_Pragma,
+ to refer to both Test_Case pragma and Contract_Case pragma (same
+ acronym as in Spec_CTC_List).
+
+2012-03-15 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb, sem_prag.ads, sem_util.ads, sem_attr.adb, sem_ch6.adb,
+ sem_warn.adb: Minor reformatting.
+
+2012-03-15 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_util.adb (Initialized_By_Ctrl_Function): Do not loop over
+ selector names as the function call always appears at the top selected
+ component.
+
+2012-03-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Validate_Access_Subprogram_Instance): keep
+ Mode_Conformance check for older versions of the language.
+
+2012-03-15 Yannick Moy <moy@adacore.com>
+
+ * gnat_ugn.texi Document the extension of option -gnatw.t.
+ * sem_ch3.adb (Analyze_Declaration): Check for suspicious
+ contracts only after contract cases have been semantically
+ analyzed.
+ * sem_ch6.adb (Check_Subprogram_Contract): Consider also Ensures
+ components of contract cases for detecting suspicious contracts.
+
+2012-03-15 Yannick Moy <moy@adacore.com>
+
+ * aspects.adb, aspects.ads (Aspect_Id): New GNAT aspect
+ Aspect_Contract_Case.
+ * gnat_rm.texi Document the new pragma/aspect
+ Contract_Case. Correct the documentation of the existing
+ pragma/aspect Test_Case with the new semantics.
+ * sem_attr.adb (Analyze_Attribute): Allow use of 'Result in the
+ Ensures component of a Contract_Case pragma.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Check new aspect
+ and translate it into a pragma.
+ (Check_Aspect_At_Freeze_Point): Take into account the new aspect.
+ * sem_ch3.adb, sinfo.adb, sinfo.ads Renaming of TC (for test case)
+ into CTC (for contract and test case).
+ * sem_ch6.adb (Process_PPCs): Generate Check pragmas from
+ Contract_Case pragmas, similarly to what is done already for
+ postconditions.
+ * sem_prag.adb, sem_prag.ads (Check_Contract_Or_Test_Case):
+ Renaming of Check_Test_Case.
+ (Analyze_Pragma, Sig_Flags): Take into account the new pragma.
+ * sem_util.adb, sem_util.ads Renaming to take into account the
+ new pragma, so that functions which applied only to Test_Case
+ now apply to both Test_Case and Contract_Case.
+ * par-prag.adb, sem_warn.adb, snames.ads-tmpl Take into account
+ the new pragma.
+
+2012-03-15 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.ads: Minor comment updates.
+ * sem_ch12.adb: Minor comment clarification.
+
+2012-03-15 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch5.adb: Minor reformatting.
+
+2012-03-15 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): When rewriting the
+ declaration of a class-wide object, retain the Ekind to prevent
+ subsequent misuse of constants.
+
+2012-03-15 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi, gnat_ugn.texi: Minor correction of invariant
+ terminology.
+
+2012-03-15 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_util.adb (Initialized_By_Ctrl_Function): Add code to
+ process the case when a function call appears in object.operation
+ format.
+
+2012-03-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.ads, sem_ch6.adb (Check_Subtype_Conformant): add
+ Get_Inst formal, so that conformance within an instantiation
+ follows renamings of formals. This is similar to what is already
+ done in Check_Mode_conformant.
+ * sem_ch12.adb (Vailidate_Access_Subprogram_Instance): check that
+ formal and actual are subtype conformant. Previously only mode
+ conformance was required.
+
+2012-03-15 Robert Dewar <dewar@adacore.com>
+
+ * par-ch6.adb, einfo.ads, sem_eval.adb, sem_eval.ads,
+ sem_case.adb: Minor reformatting.
+
+2012-03-15 Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Add handling
+ of First_Valid/Last_Valid.
+ * sem_attr.adb (Check_First_Last_Valid): New procedure
+ (Analyze_Attribute): Add handling of First_Valid and Last_Valid
+ (Eval_Attribute): ditto.
+ * snames.ads-tmpl: Add entries for First_Valid and Last_Valid.
+
+2012-03-15 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_Predicated_Loop): Suppress warnings on
+ loop variable, for the unusual case where the range has a single
+ element and the loop variable has no visible assignment to it.
+
+2012-03-15 Vincent Pucci <pucci@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Quantified_Expression): Expand the
+ original quantified expression node.
+ * sem_ch4.adb (Analyze_Quantified_Expression): Properly analyze
+ the quantified expression and preserve the original non-analyzed
+ quantified expression when an expansion is needed.
+ * sem_ch5.adb (Analyze_Iteration_Scheme): Special treatment
+ for quantified expressions.
+ (Analyze_Iterator_Specification): Special treatment for quantified
+ expressions.
+
+2012-03-15 Ed Falis <falis@adacore.com>
+
+ * s-vxwork-ppc.ads: Update FP_CONTEXT so name of former pad
+ field matches VxWorks headers.
+
+2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc-interface/Makefile.in (mips-sgi-irix6*): Remove.
+
+ * a-intnam-irix.ads, mlib-tgt-specific-irix.adb,
+ s-intman-irix.adb, s-mastop-irix.adb, s-osinte-irix.adb,
+ s-osinte-irix.ads, s-proinf-irix-athread.adb,
+ s-proinf-irix-athread.ads, s-taprop-irix.adb, s-tasinf-irix.ads,
+ system-irix-n32.ads, system-irix-n64.ads, system-irix-o32.ads:
+ Remove.
+
+ * adaint.c [__mips && __sgi]: Remove.
+ (__gnat_number_of_cpus) [__mips && __sgi]: Remove.
+ [IS_CROSS && !(__mips && __sgi)]: Remove.
+ * adaint.h [sgi && _LFAPI]: Remove.
+ * cstreams.c (__gnat_full_name) [sgi]: Remove.
+ * env.c (__gnat_unsetenv) [__mips && __sgi]: Remove.
+ (__gnat_clearenv) [__mips && __sgi]: Remove.
+ * errno.c (_SGI_MP_SOURCE): Remove.
+ * gsocket.h [sgi]: Remove.
+ * init.c: Remove IRIX reference.
+ [sgi]: Remove.
+ * link.c [sgi]: Remove.
+ * s-oscons-tmplt.c [__mips && __sgi] (IOV_MAX): Don't define.
+ (main) [__mips && __sgi] (MAX_tv_sec): Don't define.
+ (CLOCK_SGI_FAST, CLOCK_SGI_CYCLE): Remove.
+ * sysdep.c [sgi]: Remove.
+ (getc_immediate_common) [sgi]: Remove.
+ (__gnat_localtime_tzoff) [sgi]: Remove.
+ * terminals.c [__mips && __sgi] (IRIX): Don't define.
+ [IRIX] (USE_GETPTY): Don't define.
+ (allocate_pty_desc) [USE_GETPTY]: Remove.
+
+ * g-traceb.ads: Remove IRIX reference.
+ * g-trasym.ads: Likewise.
+ * memtrack.adb: Likewise.
+ * s-interr-sigaction.adb: Likewise.
+
+ * gnat_rm.texi (Implementation Advice): Remove SGI info.
+ (Implementation Defined Characteristics): Likewise.
+ * gnat_ugn.texi (Summary of Run-Time Configurations, mips-irix):
+ Remove.
+ (Irix-Specific Considerations): Remove.
+
+2012-03-13 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/gigi.h (flag_vms_malloc64): Refine condition.
+
+2012-03-13 Tristan Gingold <gingold@adacore.com>
+
+ * sysdep.c: Adjust condition after removal of __osf__.
+
+2012-03-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (shift_unc_components_for_thin_pointers): Kill.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Remove call
+ to above function.
+ * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Adjust
+ handling of thin pointers.
+ <Attr_Descriptor_Size>: Likewise.
+ (gnat_to_gnu) <N_Free_Statement>: Likewise.
+ * gcc-interface/utils.c (shift_unc_components_for_thin_pointers): Kill.
+ (convert_to_fat_pointer): Adjust handling of thin pointers.
+ (convert) <POINTER_TYPE>: Likewise.
+ * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Likewise.
+
+2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc-interface/Makefile.in (alpha*-dec-osf*): Remove.
+ * a-intnam-tru64.ads, mlib-tgt-specific-tru64.adb,
+ s-mastop-tru64.adb, s-osinte-tru64.adb, s-osinte-tru64.ads,
+ s-taprop-tru64.adb, s-tasinf-tru64.ads, s-taspri-tru64.ads,
+ system-tru64.ads: Remove.
+
+ * adaint.c (__gnat_number_of_cpus) [__alpha__ && __osf__]:
+ Remove.
+ [IS_CROSS] [!(__alpha__ && __osf__)]: Remove.
+ * env.c [__alpha__ && __osf__]: Remove.
+ * gsocket.h (_OSF_SOURCE): Remove.
+ (HAVE_THREAD_SAFE_GETxxxBYyyy) [__osf__]: Remove.
+ * init.c [__alpha__ && __osf__]: Remove.
+ * link.c [__osf__]: Remove.
+ * s-oscons-tmplt.c [__alpha__ && __osf__]: Remove.
+ [__osf__ && !_SS_MAXSIZE]: Remove.
+ * sysdep.c [__osf__]: Remove.
+ * terminals.c [__alpha__ && __osf__]: Remove.
+ [OSF1]: Remove.
+
+ * g-traceb.ads: Remove Tru64 reference.
+ * g-trasym.ads: Likewise.
+ * gnat_ugn.texi (Linking a Mixed C++ & Ada Program): Likewise.
+ (Summary of Run-Time Configurations): Likewise.
+ * memtrack.adb: Likewise.
+
+2012-03-12 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_param): Use flag_vms_malloc64
+ instead of TARGET_MALLOC64.
+ * gcc-interface/gigi.h (flag_vms_malloc64): Define instead
+ of TARGET_MALLOC64.
+
+2012-03-09 Robert Dewar <dewar@adacore.com>
+
+ * a-direct.adb, comperr.adb, freeze.adb: Minor reformatting.
+
+2012-03-09 Arnaud Charlet <charlet@adacore.com>
+
+ * s-taskin.adb (Initialize_ATCB): Set Task_Image_Len to
+ 0 so that we never access this field uninitialized (e.g. in
+ Task_Primitives.Operations.Enter_Task for the environment task).
+
+2012-03-09 Vincent Pucci <pucci@adacore.com>
+
+ * exp_ch5.adb (Expand_Iterator_Loop):
+ Call to Expand_Iterator_Loop_Over_Array added.
+ (Expand_Iterator_Loop_Over_Array): New routine. Expansion of
+ "of" iterator loop over arrays. Multidimensional array case added.
+
+2012-03-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * uintp.ads: Fix minor pasto in comment.
+
+2012-03-09 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * a-direct.adb: Do not strip the trailing directory separator
+ from path, as this is already done inside Normalize_Pathname;
+ doing it again produces the wrong result on Windows for the
+ drive's root dir (i.e. "X:\" becomes "X:").
+
+2012-03-09 Thomas Quinot <quinot@adacore.com>
+
+ * exp_attr.adb, freeze.adb, sem_attr.adb, aspects.adb, aspects.ads,
+ sem_ch13.adb, snames.ads-tmpl (Exp_Attr.Expand_N_Attribute_Reference):
+ Add Attribute_Scalar_Storage_Order.
+ (Sem_Attr.Analyze_Attribute, Eval_Attribute): Ditto.
+ (Aspects): Add Aspect_Scalar_Storage_Order (Snames): Add
+ Name_Scalar_Storage_Order and Attribute_Scalar_Storage_Order.
+ (Sem_Ch13.Analyze_Attribute_Definition_Clause): Add processing
+ for Scalar_Storage_Order.
+ (Freeze): If Scalar_Storage_Order is specified, check that it
+ is compatible with Bit_Order.
+
+2012-03-09 Robert Dewar <dewar@adacore.com>
+
+ * s-osinte-linux.ads, sem_util.adb, s-taprop-linux.adb, exp_ch4.adb,
+ a-strsup.ads, sem_ch6.adb, a-stwisu.ads, exp_ch3.adb,
+ a-stzsup.ads: Minor reformatting.
+
+2012-03-09 Thomas Quinot <quinot@adacore.com>
+
+ * s-ransee-vms.adb: Minor reformatting.
+
+2012-03-09 Arnaud Charlet <charlet@adacore.com>
+
+ * comperr.adb (Delete_SCIL_Files): Fix handling of
+ N_Package_Renaming_Declaration and N_Generic_Package_Declaration.
+
+2012-03-09 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch6.adb (Check_Body_To_Inline): In AAMP and VM targets
+ use frontend inlining at all optimization levels.
+ * sem_util.adb (Must_Inline): In AAMP and VM targets, given that
+ there is no inlining support in the backend, use also frontend
+ inlining when compiling with optimizations enabled.
+ * exp_ch6.adb (Expand_Call): Minor code reorganization.
+
+2012-03-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.h (TYPE_VAX_FLOATING_POINT_P): Move around.
+ (TYPE_UNCONSTRAINED_ARRAY): Adjust comment.
+ * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Tidy
+ up. Add comment and use canonical predicate for thin pointers.
+ (gnat_to_gnu) <N_Free_Statement>: Tidy up and reorder. Add comment
+ and use canonical predicate for thin pointers.
+ * gcc-interface/utils.c (convert_to_fat_pointer): Remove superfluous
+ 'else' and use standard name.
+ (convert_to_thin_pointer): Delete.
+ (convert) <POINTER_TYPE>: Do the difference in sizetype directly and
+ change obsolete idioms. Do not call above function.
+ (unchecked_convert): Fix formatting.
+ * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: In the thin
+ pointer case, use byte_position to get the field position.
+
+2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set flags on the
+ DECL node built for a type which has a non-trivial equivalent type.
+
+2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (rest_of_type_decl_compilation): Delete.
+ * gcc-interface/decl.c (defer_finalize_level): Likewise.
+ (defer_finalize_list): Likewise.
+ (gnat_to_gnu_entity): Delete references to above variables and do not
+ call rest_of_type_decl_compilation.
+ (rest_of_type_decl_compilation): Delete.
+ (rest_of_type_decl_compilation_no_defer): Likewise.
+ * gcc-interface/utils.c (rest_of_record_type_compilation): Do not call
+ rest_of_type_decl_compilation.
+ (create_type_decl): Likewise.
+ (update_pointer_to): Likewise.
+
+2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Identifier_to_gnu): Don't unshare initializer.
+ (add_decl_expr): Mark external DECLs as used.
+ * gcc-interface/utils.c (convert) <CONSTRUCTOR>: Copy the vector.
+
+2012-03-07 Tristan Gingold <gingold@adacore.com>
+
+ * s-ransee-vms.adb: New file.
+ * gcc-interface/Makefile.in: Use s-ransee-vms.adb on VMS.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2012-03-07 Bob Duff <duff@adacore.com>
+
+ * rtsfind.ads: Add support for finding Super_String types.
+ * sem_util.ads, sem_util.adb (Is_Bounded_String): New function
+ to determine whether a given type is a bounded string type.
+ (Is_Fully_Initialized_Type): Return True for bounded
+ string types, to suppress bogus warnings.
+ * exp_ch4.adb (Expand_Composite_Equality): Special case for bounded
+ strings: equality composes. This allows us to remove default values in
+ super strings.
+ * a-strsup.ads, a-stwisu.ads, a-stzsup.ads: Update comments.
+ * exp_ch3.adb (Expand_Freeze_Record_Type): Comment.
+
+2012-03-07 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.adb, exp_ch4.adb, exp_ch6.adb, sem_ch6.adb: Minor
+ reformatting.
+
+2012-03-07 Sergey Rybin <rybin@adacore.com frybin>
+
+ * gnat_ugn.texi: gnatpp: fix paragraph about sources with
+ preprocessor directives.
+
+2012-03-07 Arnaud Charlet <charlet@adacore.com>
+
+ * s-osinte-linux.ads, s-taprop-linux.adb (prctl): New function.
+ (Enter_Task): Call prctl when relevant.
+
+2012-03-07 Tristan Gingold <gingold@adacore.com>
+
+ * s-osinte-vms.ads: pthread_mutex_setname_np: new function.
+
+2012-03-07 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Process_Formals): a generic subprogram with
+ a formal incomplete type does not require a freeze node.
+
+2012-03-07 Bob Duff <duff@adacore.com>
+
+ * sem_util.ads: Minor reformatting.
+
+2012-03-07 Geert Bosch <bosch@adacore.com>
+
+ * targparm.ads: New target parameter Atomic_Sync_Default,
+ defaulting to True.
+ * targparm.adb (Get_Target_Parameters): Add processing for
+ Atomic_Sync_Default.
+ * gnat1drv.adb (Adjust_Global_Switches): Adjust Supress_Options
+ based on ASD.
+
+2012-03-07 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Analyze_Object_Declaration): If the object
+ declaration has an init expression then stop the analysis of the
+ object declaration if the expression which initializes the object
+ is a call to an inlined function which returns an unconstrained
+ and has been expanded into a procedure call.
+ * sem_ch5.adb (Has_Call_Using_Secondary_Stack): Add missing
+ support to handle selected components.
+ * sem_ch6.ads (Cannot_Inline): Adding parameter Is_Serious plus
+ documentation.
+ * sem_ch6.adb (Check_And_Build_Body_To_Inline): New
+ subprogram which implements the checks required by the
+ new rules for frontend inlining and builds the body to inline.
+ (Analyze_Subprogram_Body_Helper): Move code that
+ checks inlining of subprogram that has nested subprogram
+ to Check_And_Build_Body_To_Inline. Replace call to
+ Build_Body_To_Inline by call to the new subprogram
+ Check_And_Build_Body_To_Inline.
+ (Cannot_Inline): New implementation.
+ * sem_ch12.adb (Analyze_Package_Instantiation.Must_Inline_Subp):
+ New subprogram.
+ * sem_util.ad[sb] (Must_Inline): New subprogram.
+ (Returns_Unconstrained_Type): New subprogram.
+ * sem_res.adb (Resolve_Call): Do not create a transient scope
+ for inlined calls.
+ * inline.ads (Analyzing_Inlined_Bodies): Remove unreferenced variable.
+ * inline.adb (Analyze_Inlined_Bodies, Initialize): Remove setting
+ to false the variable Analyzing_Inlined_Bodies. Fix comments.
+ * exp_ch4.adb (Expand_N_Allocator): Fix handling of finalization master.
+ * exp_ch6.ads (List_Inlining_Info): New subprogram.
+ * exp_ch6.adb (Expand_Call.Do_Inline): New subprogram.
+ (Expand_Call.Do_Inline_Always): New subprogram.
+ (In_Unfrozen_Instance): Move the declaration of this subprogram.
+ (Expand_Inlined_Call.Reset_Dispatching_Calls): New subprogram.
+ (Expand_Inlined_Call): Adding new support for inlining functions
+ that return unconstrained types.
+ (List_Inlining_Info): New subprogram.
+ * debug.adb Document flags -gnatd.j and -gnatd.k
+ * gnat1drv.adb Add call to generate the new listing of inlined
+ calls and calls passed to the backend.
+
+2012-03-07 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch5.adb, s-vaflop.adb, s-taprop-vms.adb, exp_ch6.adb,
+ s-gearop.adb, sem_ch6.adb, g-trasym.adb: Minor reformatting.
+
+2012-03-07 Javier Miranda <miranda@adacore.com>
+
+ * a-ngrear.ads: Add documentation.
+
+2012-03-07 Tristan Gingold <gingold@adacore.com>
+
+ * s-taprop-vms.adb (Create_Task): set thread name.
+ * s-osinte-vms.ads (pthread_attr_setname_np): Declare.
+
+2012-03-07 Arnaud Charlet <charlet@adacore.com>
+
+ * g-trasym.adb: Minor reformatting.
+
+2012-03-07 Robert Dewar <dewar@adacore.com>
+
+ * a-ngrear.ads: Minor addition of ??? comment.
+
+2012-03-07 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch4.adb (Apply_Accessibility_Check): Call
+ Remove_Side_Effects in the build-in-place case, to ensure that
+ we capture the call and don't end up with two calls.
+
+2012-03-07 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch6.adb (Expand_Inlined_Call): Skip inlining of functions
+ that return unconstrained types using an extended return statement
+ since the support for inlining these functions has not been yet
+ added to the frontend.
+ * s-vaflop.adb, s-vaflop-vms-alpha.adb: Code reorganization.
+ * a-ngrear.ads: Replace all the Inline_Always pragmas by pragma
+ Inline.
+ * a-ngrear.adb (Eigenvalues, Transpose): Restructured to use
+ extended return statement.
+ * a-strsup.adb, a-stzsup.adb, a-stwisu.adb (Concat, Super_Slice,
+ Super_To_String): Restructured to use extended return statement.
+ * a-chahan.adb (To_Basic, To_Lower, To_Upper): Restructured to
+ use extended return statement.
+ * s-gearop.adb (Diagonal, Matrix_Elementwise_Operation,
+ Vector_Elementwise_Operation, Matrix_Elementwise_Operation,
+ Matrix_Matrix_Scalar_Elementwise_Operation,
+ Vector_Vector_Elementwise_Operation,
+ Vector_Vector_Scalar_Elementwise_Operation,
+ Matrix_Scalar_Elementwise_Operation,
+ Vector_Scalar_Elementwise_Operation,
+ Scalar_Matrix_Elementwise_Operation,
+ Scalar_Vector_Elementwise_Operation, Matrix_Matrix_Product,
+ Matrix_Vector_Product, Outer_Product, Unit_Matrix, Unit_Vector,
+ Vector_Matrix_Product): Restructured to use extended return
+ statement.
+
+2012-03-07 Vincent Pucci <pucci@adacore.com>
+
+ * sem_ch5.adb (One_Bound): Minor reformatting.
+
+2012-03-07 Tristan Gingold <gingold@adacore.com>
+
+ * s-osinte-vms-ia64.adb, s-osinte-vms-ia64.ads, s-osinte-vms.adb,
+ s-osinte-vms.ads, gcc-interface/Makefile.in: Merge s-osinte-vms and
+ s-osinte-vms-ia64.
+
+2012-03-07 Ed Schonberg <schonberg@adacore.com>
+
+ * checks.adb (Apply_Predicate_Check): Do not generate a predicate
+ check is the context is an internally generated type-specific
+ function.
+ * sem_ch6.adb (Process_PPCs); the formals of internally generated
+ type-specific functions do not get assertion checks.
+
+2012-03-07 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi: Minor renaming of title.
+ * gnat_ugn.texi: Minor correction.
+
+2012-03-07 Vincent Pucci <pucci@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Quantified_Expression): Minor
+ reformating.
+ * sem_ch4.adb (Analyze_Quantified_Expression): Creation and
+ analysis of the iteration scheme added in all cases.
+ * sem_ch5.adb (Analyze_Iteration_Scheme): Minor reformating.
+ (Analyze_Iterator_Specification): Minor reformating.
+ * sem_res.adb (Resolve_Quantified_Expression): Resolution of
+ the condition added in all cases.
+
+2012-03-07 Thomas Quinot <quinot@adacore.com>
+
+ * einfo.adb, einfo.ads: Add flag Reverse_Storage_Order.
+
+2012-03-07 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi, gnat_ugn.texi: Rewording of GNAT UG and GNAT RM to
+ account for Ada 2012 assertions, and their pragma counterparts in GNAT.
+
+2012-03-07 Thomas Quinot <quinot@adacore.com>
+
+ * exp_attr.adb, sem_attr.adb: Minor reformatting.
+
+2012-03-07 Bob Duff <duff@adacore.com>
+
+ * hostparm.ads (Max_Instantiations): Increase parameter.
+
+2012-03-07 Bob Duff <duff@adacore.com>
+
+ * par-prag.adb: Minor code rearrangement.
+
+2012-03-07 Bob Duff <duff@adacore.com>
+
+ * a-strsup.ads, a-stwisu.ads, a-stzsup.ads (Super_String):
+ Remove default initial value for Data. It is no longer needed
+ because "=" now composes properly for untagged records. This
+ default has caused efficiency problems.
+
+2012-03-07 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Actuals): If the actual is a selected
+ component of an anonymous access type, whose prefix is a variable,
+ treat the variable as if it may be modified by the call, to
+ suppress spurious warnings that a variable might be declared as
+ a constant.
+
+2012-03-07 Thomas Quinot <quinot@adacore.com>
+
+ * einfo.adb, einfo.ads: Remove unused entity flags.
+
+2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat_ugn.texi (Inline Assembler): Fix swapping of Input and
+ Output operands throughout.
+
+2012-03-07 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch12.adb (Earlier): When two nodes come from the same
+ generic instantiation, compare their locations. Otherwise always
+ use the top level locations of the nodes.
+
+2012-03-07 Thomas Quinot <quinot@adacore.com>
+
+ * einfo.ads, sem_prag.adb: Minor reformatting.
+
+2012-03-05 Jason Merrill <jason@redhat.com>
+
+ * gcc-interface/Make-lang.in (doc/gnat_ugn.texi): Build xgnatugn
+ before using it.
+
+2012-03-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnatvsn.ads (Library_Version): Bump to 4.8.
+
+2012-03-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ * init.c (__gnat_adjust_context_for_raise): Also check
+ "orq $0x0,(%esp)" for x32.
+
+ * link.c (__gnat_default_libgcc_subdir): Set to libx32 for x32.
+
+ * gcc-interface/Makefile.in (arch): Set to x32 if MULTISUBDIR
+ is /x32 and add support for x32.
+
+2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (components_to_record): Add ARTIFICIAL parameter
+ and set TYPE_ARTIFICIAL according to it. Adjust recursive call.
+ (gnat_to_gnu_entity) <E_Record_Type>: Adjust call to above function.
+ * gcc-interface/utils.c (rest_of_record_type_compilation): Do not
+ invoke rest_of_type_decl_compilation on the parallel type, if any.
+
+2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (gnat_write_global_declarations): Make sure the
+ dummy global built for global types is preserved.
+
+2012-02-27 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type,
+ E_Array_Type]: Reuse dummy fat type for gnu_ptr_template and
+ gnu_template_type.
+
+2012-02-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Add checking.
+ (TYPE_BY_REFERENCE_P): New flag.
+ (TYPE_IS_BY_REFERENCE_P): New macro.
+ (TYPE_DUMMY_P): Add checking and remove VOID_TYPE.
+ (TYPE_IS_DUMMY_P): Adjust for above change.
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Use TYPE_BY_REFERENCE_P
+ and TYPE_IS_BY_REFERENCE_P instead of TREE_ADDRESSABLE.
+ (gnat_to_gnu_param): Likewise.
+ (maybe_pad_type): Likewise.
+ (make_type_from_size): Use TYPE_IS_PACKED_ARRAY_TYPE_P.
+ * gcc-interface/misc.c (must_pass_by_ref): Use TYPE_IS_BY_REFERENCE_P
+ instead of TREE_ADDRESSABLE.
+ * gcc-interface/trans.c (finalize_nrv): Likewise.
+ (call_to_gnu): Likewise. Do not create a temporary for return values
+ with by-reference type here.
+ (gnat_to_gnu): Test TYPE_IS_DUMMY_P instead of TYPE_DUMMY_P.
+ (gnat_gimplify_expr) <ADDR_EXPR>: Don't do anything for non-constant
+ CONSTRUCTORs and calls.
+ * gcc-interface/utils.c (make_dummy_type): Get the equivalent type of
+ the underlying type and use it throughout. Use TYPE_IS_BY_REFERENCE_P
+ instead of TREE_ADDRESSABLE.
+ * gcc-interface/utils2.c (build_cond_expr): Deal with by-reference
+ types explicitly.
+
+2012-02-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Revert previous
+ change that creates a special VAR_DECL for debugging purposes. For an
+ aliased object with an unconstrained nominal subtype, make its type a
+ thin reference to the underlying object.
+ * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Deal with
+ expressions built for the initialization of above objects.
+
+2012-02-24 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * gcc-interface/Makefile.in (WIN_SO_PREFIX [windows targets]): New
+ Windows-specific make variable.
+ (WIN_SO_INSTALL_DIR [windows targets]): Likewise.
+ (install-gnatlib): Respect the above during installation when set,
+ and also install any windows import library that has been built.
+ (gnatlib-shared-win32): Use WIN_SO_PREFIX to name output DLL and also
+ build a corresponding import library.
+
+2012-02-22 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb, make.adb, sem_dim.adb, sem_ch4.adb, exp_disp.adb: Minor
+ reformatting.
+
+2012-02-22 Geert Bosch <bosch@adacore.com>
+
+ * g-bytswa-x86.adb, g-bytswa.adb, gcc-interface/Makefile.in: Remove
+ x86-specific version of byteswap and use GCC builtins instead.
+
+2012-02-22 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type,
+ E_Array_Type]: Translate component ealier.
+
+2012-02-22 Robert Dewar <dewar@adacore.com>
+
+ * par-ch3.adb (P_Signed_Integer_Type_Definition): Specialize
+ error message for 'Range.
+
+2012-02-22 Pascal Obry <obry@adacore.com>
+
+ * s-taprop-mingw.adb (Finalize_TCB): Do not wait on thread handle as
+ this is our own thread.
+
+2012-02-22 Sergey Rybin <rybin@adacore.com frybin>
+
+ * tree_io.ads: Update ASIS_Version_Number because of the changes
+ in Snames.
+
+2012-02-22 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Create_Finalizer): Suppress elaboration checks on
+ stack-related finalizers.
+
+2012-02-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Expression_Function): If the construct
+ is a completion, indicate that its formals are the formals of
+ a completion, and as such do not get a cross- reference entry.
+ (Analyze_Subprogram_Specification): Do not generate a definition
+ for the entity of an expression function, because it may be a
+ completion. Definition will be generated if needed when analyzing
+ the generated subprogram declaration.
+
+2012-02-22 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Check): When checking if an object file is in the
+ correct object directory, get the unit name from a previous call
+ to Check_Source_Info_In_ALI.
+ * makeutl.adb (Check_Source_Info_In_ALI): Return the name of
+ the unit when everything is OK, otherwise return No_Name.
+ * makeutl.ads (Check_Source_Info_In_ALI): Return Name_Id instead
+ of Boolean
+
+2012-02-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Find_Equality_Types, Try_One_Interp): In an
+ instance, the operator is visible if an operand is of some
+ numeric type which is not in use or directly visible, and the
+ other operand is a numeric literal.
+
+2012-02-22 Tristan Gingold <gingold@adacore.com>
+
+ * init.c: Minor code clean up.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2012-02-22 Arnaud Charlet <charlet@adacore.com>
+
+ * gnatlink.adb (Gnatlink): Use -gnatcC in CodePeer_Node,
+ otherwise GCC will generate an object file.
+
+2012-02-22 Vincent Celier <celier@adacore.com>
+
+ * projects.texi: Correct typo related to "**" in Source_Dirs.
+
+2012-02-22 Steve Baird <baird@adacore.com>
+
+ * sem_prag.adb (Analyze_PPC_In_Decl_Part): Clean up generation of
+ error message text.
+
+2012-02-22 Vincent Pucci <pucci@adacore.com>
+
+ * rtsfind.adb (Get_Unit_Name): Ada_Numerics_Child and
+ System_Dim_Child cases added.
+ * rtsfind.ads: Ada_Numerics,
+ Ada_Numerics_Generic_Elementary_Functions, System_Dim,
+ System_Dim_Float_IO and System_Dim_Integer_IO added to the list
+ of RTU_Id. Ada_Numerics_Child and System_Dim_Child added as
+ new RTU_Id subtypes.
+ * sem_dim.adb (Is_Dim_IO_Package_Entity): Use of
+ Rtsfind to verify the package entity is located either
+ in System.Dim.Integer_IO or in System.Dim.Float_IO.
+ (Is_Dim_IO_Package_Instantiation): Minor
+ changes. (Is_Elementary_Function_Call): Removed.
+ (Is_Elementary_Function_Entity): New routine.
+ (Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity call added.
+ * snames.ads-tmpl: Name_Dim and Name_Generic_Elementary_Functions
+ removed.
+
+2012-02-22 Vincent Pucci <pucci@adacore.com>
+
+ * sem_prag.adb: Minor reformatting.
+
+2012-02-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Find_Type_Name): When analyzing a private type
+ declaration that is the completion of a tagged incomplete type, do
+ not associate the class-wide type already created with the private
+ type to prevent order-of-elaboration issues in the back-end.
+ * exp_disp.adb (Find_Specific_Type): Find specific type of
+ a class-wide type, and handle the case of an incomplete type
+ coming either from a limited_with clause or from an incomplete
+ type declaration. Used when expanding a dispatchin call and
+ generating tag checks (minor refactoring).
+
+2012-02-22 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch5.adb: Add comment.
+ * sem_ch12.adb, exp_ch6.adb: minor reformatting
+
+2012-02-22 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Do not perform type layout within
+ a generic unit.
+
+2012-02-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * init.c (__gnat_error_handler) [Linux]: Map SIGBUS to
+ Storage_Error.
+
+2012-02-22 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Assignment_Statement): Reject an
+ assignment to a classwide type whose type is limited, as
+ can happen in an instantiation in programs that run afoul or
+ AI05-0087.
+
+2012-02-17 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Legal_Copy): If layout is not
+ determined in the front-end, do not emit error message when
+ by-reference actual is potentially unaligned.
+ * gcc-interface/decl.c (gnat_to_gnu_field): Better error message for
+ illegal representation clause on tagged or aliased component, or on
+ by-reference type with forced alignment.
+
+2012-02-17 Nicolas Roche <roche@adacore.com>
+
+ * gcc-interface/Makefile.in: Ensure FORCE_DEBUG_ADAFLAGS variables is
+ propagated by gnatlib-sjlj and gnatlib-zcx targets.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2012-02-17 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch12.adb (Analyze_Package_Instantiation): For an
+ instantiation in an RCI library unit, omit the instance body
+ if the RCI library unit is the instance itself (E.2.3(18)),
+ but include the body if the instantiation is within the RCI
+ declaration (12.3(12)).
+
+2012-02-17 Steve Baird <baird@adacore.com>
+
+ * sem_prag.adb (Analyze_PPC_In_Decl_Part): Pre'Class and
+ Post'Class aspects can only be specified for a primitive operation
+ of a tagged type.
+
+2012-02-17 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi: Minor shuffling.
+
+2012-02-17 Ed Schonberg <schonberg@adacore.com>
+
+ * aspects.adb: Expression functions can carry pre/postconditions.
+ * par-ch6.adb (P_Subprogram): look for optional pre/postconditions
+ in an expression function.
+ * sem_prag (Check_Precondition_Postcondition): legal on expression
+ functions.
+
+2012-02-17 Vincent Pucci <pucci@adacore.com>
+
+ * a-cdlili.adb, a-cidlli.adb, a-cihama.adb, a-cimutr.adb,
+ * a-ciorma.adb, a-cohama.adb, a-coinve.adb, a-comutr.adb,
+ * a-convec.adb, a-coorma.adb (Adjust): New routine.
+ (Constant_Reference): Increment Busy and Lock counters.
+ (Reference): Increase Busy and Lock counters.
+ (Finalize): New routine.
+ * a-cihase.adb, a-ciorse.adb, a-cohase.adb, a-coorse.adb:
+ (Adjust): New routine. (Constant_Reference): Increment Busy
+ and Lock counters.
+ (Finalize): New routine.
+ * a-cdlili.ads, a-cidlli.ads, a-cihama.ads, a-cihase.ads,
+ * a-cimutr.ads, a-ciorma.ads, a-ciorse.ads, a-cohama.ads,
+ * a-cohase.ads, a-coinve.ads, a-comutr.ads, a-convec.ads,
+ * a-coorma.ads, a-coorse: Controlled component added to the
+ reference types.
+
+2012-02-17 Robert Dewar <dewar@adacore.com>
+
+ * restrict.adb (Check_Restriction): Add special handling for
+ No_Obsolescent_Features.
+
+2012-02-17 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_util.adb (Find_Finalize_Address): When dealing with an
+ internally built full view for a type with unknown discriminants,
+ use the original record type.
+
+2012-02-17 Robert Dewar <dewar@adacore.com>
+
+ * sem_dim.adb: Minor reformatting.
+
+2012-02-17 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi: Minor rewording.
+
+2012-02-17 Thomas Quinot <quinot@adacore.com>
+
+ * sem_aggr.adb: Minor reformatting.
+
+2012-02-17 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Update doc for -gnatw.m to include 2*x case.
+
+2012-02-17 Vincent Pucci <pucci@adacore.com>
+
+ * sem_dim.adb (Is_Dim_IO_Package_Entity): New routine.
+ (Is_Dim_IO_Package_Instantiation): Is_Dim_IO_Package_Entity
+ call added.
+ (Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity
+ call added.
+ * s-dim.ads: Make package Pure.
+
+2012-02-17 Gary Dismukes <dismukes@adacore.com>
+
+ * prj-nmsc.adb: Minor reformatting.
+
+2012-02-17 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi: Update GNAT RM with a separate chapter on restrictions.
+
+2012-02-17 Yannick Moy <moy@adacore.com>
+
+ * gnat_ugn.texi: Fix typos.
+
+2012-02-17 Pascal Obry <obry@adacore.com>
+
+ * prj-nmsc.adb: prj-nmsc.adb (Check_Aggregated): Check that an
+ aggregate is not Externally_Built.
+
+2012-02-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Resolve_Record_Aggregate): If a composite
+ component has a box association, copy the default value using
+ the current scope as the scope of internal types, to prevent
+ scoping anomalies in gigi.
+
+2012-02-17 Robert Dewar <dewar@adacore.com>
+
+ * sem_dim.adb, sem_dim.ads, s-tasren.adb, prj.adb, prj.ads, freeze.adb,
+ sem_res.adb, exp_ch4.adb, sinput.adb, sinput.ads, exp_aggr.adb,
+ exp_intr.adb, s-os_lib.adb: Minor reformatting.
+
+2012-02-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Is_Non_Overriding_Operation): Add warning if the
+ old operation is abstract, the relevant type is not abstract,
+ and the new subprogram fails to override.
+
+2012-02-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Identifier_to_gnu): Move block retrieving the
+ type of the result to the end and execute it for a deferred constant of
+ a discriminated type whose full view can be elaborated statically.
+
+2012-02-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (gnat_to_gnu) <N_Qualified_Expression>: If the
+ type is tagged, mark it as used for debugging purposes.
+ <N_Allocator>: Likewise for a qualified expression.
+
+2012-02-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (call_to_gnu): Create the temporary for the
+ return value in the by-reference return type case if this isn't the
+ expression of an object declaration. Tidy up.
+
+2012-02-09 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/Makefile.in: Remove .sym rule (not used).
+ Remove adamsg.o object (requires native message compiler).
+ * init.c (CMA$_EXIT_THREAD, MTH$_FLOOVEMAT, SS$_INTDIV): Define as a
+ macro instead of as extern int.
+ (ADA$_ALREADY_OPEN, ADA$_CONSTRAINT_ERRO, ADA$_DATA_ERROR)
+ (ADA$_DEVICE_ERROR, ADA$_END_ERROR, ADA$_FAC_MODE_MISMAT)
+ (ADA$_IOSYSFAILED, ADA$_KEYSIZERR, ADA$_KEY_MISMATCH)
+ (ADA$_LAYOUT_ERROR, ADA$_LINEXCMRS, ADA$_MAXLINEXC)
+ (ADA$_MODE_ERROR, ADA$_MRN_MISMATCH, ADA$_MRS_MISMATCH)
+ (ADA$_NAME_ERROR, ADA$_NOT_OPEN, ADA$_ORG_MISMATCH)
+ (ADA$_PROGRAM_ERROR, ADA$_RAT_MISMATCH, ADA$_RFM_MISMATCH)
+ (ADA$_STAOVF, ADA$_STATUS_ERROR, ADA$_STORAGE_ERROR)
+ (ADA$_UNSUPPORTED, ADA$_USE_ERROR): Likewise.
+ (struct cond_except): Field cond is now an unsigned int.
+ (dec_ada_cond_except_table): Adjust.
+ (cond_except_table): Likewise.
+ (cond_resignal_table): Likewise.
+ (__gnat_default_resignal_p): Fix style.
+
+2012-02-08 Vincent Celier <celier@adacore.com>
+
+ * gcc-interface/Make-lang.in: Add g-byorma.o to gnatbind objects
+ (g-buorma is now imported by sinput).
+ Update dependencies.
+ * scn.adb (Initialize_Scanner): Call Check_For_BOM
+ * sinput-p.adb (Source_File_Is_Subunit): Call Check_For_BOM
+ * sinput.adb: New procedure Check_For_BOM
+ * sinput.ads: New procedure Check_For_BOM
+
+2012-02-08 Vincent Pucci <pucci@adacore.com>
+
+ * impunit.adb: Dimension package names updated
+ * Makefile.rtl: s-dim added
+ * sem_dim.adb (Is_Procedure_Put_Call): minor changes
+ (Is_Dim_IO_Package_Instantiation): minor changes
+ * sem_dim.ads: minor changes in comments
+ * snames.ads-tmpl: Name_Dim added Name_Dim_Float_IO and
+ Name_Dim_Integer_IO removed
+ * s-dim.ads: New package. Define the dimension terminology.
+ * s-diflio.adb, s-diinio.adb, s-dimkio.ads, s-dimmks.ads,
+ * s-dmotpr.ads: Package names updated.
+ * s-diflio.ads, s-diinio.ads: Documentation added and package
+ names updated.
+
+2012-02-08 Gary Dismukes <dismukes@adacore.com>
+
+ * gcc-interface/utils2.c (build_call_alloc_dealloc_proc): Revise test
+ for storage pools to test for an underlying record type rather than
+ testing Is_Tagged_Type, so that simple storage pools will be handled
+ the same as normal Ada storage pools.
+
+2012-02-08 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi: Minor reshuffling to place restriction at
+ appropriate place.
+
+2012-02-08 Bob Duff <duff@adacore.com>
+
+ * warnsw.adb (Set_Warning_Switch): Set Warn_On_Suspicious_Modulus_Value
+ False for '-gnatwA', to suppress these warnings.
+
+2012-02-08 Vincent Celier <celier@adacore.com>
+
+ * sinput-p.adb (Source_File_Is_Subunit): Check for BOM before
+ starting to scan, so that UTF8 encoding is taken into account.
+
+2012-02-08 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tasren.adb, s-tasren.ads (Internal_Complete_Rendezvous): New
+ function.
+ (Complete_Rendezvous): Now call Internal_Complete_Rendezvous.
+ (Exceptional_Complete_Rendezvous): Mark No_Return.
+
+2012-02-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_aggr.adb (Compile_Time_Known_Composite_Value):
+ New predicate to compute whether a composite value can be
+ evaluated at compile time.
+ (Component_Not_OK_For_Backend): Use Compile_Time_Known_Value for all
+ expressions of elementary type and Compile_Time_Known_Composite_Value
+ for all other expressions.
+ (Expand_Record_Aggregate): Convert to assignments in the case
+ of a type with mutable components if the aggregate cannot be
+ built statically.
+
+2012-02-08 Gary Dismukes <dismukes@adacore.com>
+
+ * aspects.ads (type Aspect_Id): Add Simple_Storage_Pool_Type.
+ (Impl_Defined_Aspects): Add association for
+ Aspect_Simple_Storage_Pool_Type.
+ (Aspect_Names): Add
+ association for Aspect_Simple_Storage_Pool_Type.
+ * aspects.adb:
+ (Canonical_Aspect): Add association for Simple_Storage_Pool_Type.
+ * exp_attr.adb (Expand_N_Attribute_Reference):
+ Change name to Name_Simple_Storage_Pool_Type.
+ * exp_ch4.adb (Expand_N_Allocator): Change
+ name to Name_Simple_Storage_Pool_Type.
+ * exp_intr.adb (Expand_Unc_Deallocation): Change name to
+ Name_Simple_Storage_Pool_Type. * freeze.adb (Freeze_Entity):
+ Change names to Name_Simple_Storage_Pool_Type. * par-prag.adb:
+ Change names to Name_Simple_Storage_Pool_Type. * sem_attr.adb:
+ (Analyze_Attribute): Change name to Name_Simple_Storage_Pool_Type.
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause):
+ Change name to Name_Simple_Storage_Pool_Type.
+ * sem_prag.adb:
+ (Analyze_Pragma): Change name to Name_Simple_Storage_Pool_Type.
+ (Sig_Flags): Change name to Name_Simple_Storage_Pool_Type.
+ * sem_res.adb (Resolve_Allocator): Change name to
+ Name_Simple_Storage_Pool_Type. * snames.ads-tmpl:
+ (Name_Simple_Storage_Pool_Type): New name constant.
+ (type Pragma_Id): Change name to Name_Simple_Storage_Pool_Type and
+ move to main pragma section because it no longer matches the
+ attribute name.
+ * snames.adb-tmpl (Get_Pragma_Id): Remove test for
+ Name_Simple_Storage_Pool.
+ (Is_Pragma_Name): Remove test for Name_Simple_Storage_Pool.
+
+2012-02-08 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Add some clarification to -gnatwA and -gnatws.
+
+2012-02-08 Pascal Obry <obry@adacore.com>
+
+ * prj.adb (Compute_All_Imported_Projects): Use new
+ For_Project_And_Aggregated_Context to ensure proper context is
+ used for encapsulated aggregate libraries.
+ * prj-proc.adb (Recursive_Process): Call
+ Process_Aggregated_Projects earlier to ensure that all dependent
+ projects are set with the proper encapsulated status.
+
+2012-02-08 Pascal Obry <obry@adacore.com>
+
+ * s-os_lib.adb (Normalize_Arguments): Properly escape last \ in null
+ terminated string.
+
+2012-02-08 Pascal Obry <obry@adacore.com>
+
+ * prj.ads, prj.adb (For_Project_And_Aggregated_Context): New
+ generic routine with a context parameter.
+
+2012-02-08 Robert Dewar <dewar@adacore.com>
+
+ * a-coinve.adb, sem_util.adb, sem_ch8.adb, a-cobove.adb,
+ a-convec.adb: Minor reformatting and code reorganization.
+
+2012-02-08 Steve Baird <baird@adacore.com>
+
+ * sem_cat.adb (In_Preelaborated_Unit): A child
+ unit instantiation does not inherit preelaboration requirements
+ from its parent.
+
+2012-02-08 Gary Dismukes <dismukes@adacore.com>
+
+ * aspects.ads (type Aspect_Id): Add Aspect_Simple_Storage_Pool.
+ (Impl_Defined_Aspects): Add entry for Aspect_Simple_Storage_Pool.
+ (Aspect_Argument): Add Name entry for Aspect_Simple_Storage_Pool.
+ (Aspect_Names): Add entry for Aspect_Simple_Storage_Pool.
+ * aspects.adb (Canonical_Aspect): Add entry for
+ Aspect_Simple_Storage_Pool.
+ * exp_attr.adb (Expand_N_Attribute_Reference): Handle case of
+ Attribute_Simple_Storage_Pool in the same way as Storage_Pool
+ (add conversion, analyze/resolve). For the Storage_Size attribute,
+ for the simple pool case, locate and use the simple pool type's
+ Storage_Size function (if any), otherwise evaluate to zero.
+ * exp_ch4.adb (Expand_N_Allocator): In the case of an allocator
+ for an access type with an associated simple storage pool,
+ locate and use the pool type's Allocate.
+ * exp_intr.adb (Expand_Unc_Deallocation): In the case where the
+ access type has a simple storage pool, locate the pool type's
+ Deallocate procedure (if present) and use it as the procedure
+ to call on the Free operation.
+ * freeze.adb (Freeze_Entity): In the case of a full type for
+ a private type defined with pragma Simple_Storage_Pool, check
+ that the full type is also appropriate for the pragma. For
+ a simple storage pool type, validate that the operations
+ Allocate, Deallocate (if present), and Storage_Size
+ (if present) are defined with appropriate expected profiles.
+ (Validate_Simple_Pool_Op_Formal): New procedure
+ (Validate_Simple_Pool_Operation): New procedure Add with and
+ use of Rtsfind.
+ * par-prag.adb: Add Pragma_Simple_Storage_Pool to case statement
+ (no action required).
+ * sem_attr.adb (Analyze_Attribute): For the case of the
+ Storage_Pool attribute, give a warning if the prefix type has an
+ associated simple storage pool, and rewrite the attribute as a
+ raise of Program_Error. In the case of the Simple_Storage_Pool
+ attribute, check that the prefix type has an associated simple
+ storage pool, and set the attribute type to the pool's type.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Add
+ Aspect_Simple_Storage_Pool case choice.
+ (Analyze_Attribute_Definition_Clause): Add
+ Aspect_Simple_Storage_Pool to case for Ignore_Rep_Clauses
+ (no action). Add handling for Simple_Storage_Pool attribute
+ definition, requiring the name to denote a simple storage pool
+ object.
+ (Check_Aspect_At_Freeze_Point): For a simple storage pool
+ aspect, set the type to that of the name specified for the aspect.
+ * sem_prag.adb (Analyze_Pragma): Add handling for pragma
+ Simple_Storage_Pool, requiring that it applies to a library-level
+ type declared in a package declaration that is a limited private
+ or limited record type.
+ * sem_res.adb (Resolve_Allocator): Flag an attempt to call a
+ build-in-place function in an allocator for an access type with
+ a simple storage pool as unsupported.
+ * snames.ads-tmpl: Add Name_Simple_Storage_Pool.
+ (type Attribute_Id): Add Attribute_Simple_Storage_Pool.
+ (type Pragma_Id): Add Pragma_Simple_Storage_Pool.
+ * snames.adb-tmpl (Get_Pragma_Id): Handle case of
+ Name_Simple_Storage_Pool.
+ (Is_Pragma_Name): Return True for Name_Simple_Storage_Pool.
+
+2012-02-08 Cyrille Comar <comar@adacore.com>
+
+ * projects.texi: Clarify doc for interfaces.
+
+2012-02-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Make-lang.in (GCC_LINKERFLAGS): New variable.
+ (GCC_LINK): Use it.
+
+2012-02-01 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/trans.c (Loop_Statement_to_gnu): Use sizetype
+ instead of size_type_node.
+
+2012-01-30 Nicolas Roche <roche@adacore.com>
+
+ * gcc-interface/Make-lang.in: Update dependencies.
+ * gcc-interface/Makefile.in: Use system-vxworks-system-ppc-mils.ads
+ when needed.
+ Remove Linker_Options -crtbe when building sjlj run-time.
+
+2012-01-30 Robert Dewar <dewar@adacore.com>
+
+ * sem.adb (Analyze): Call Analyze_Mod for N_Op_Mod mode.
+ * sem_ch3.adb (Modular_Type_Declaration): Warn on mod value of
+ form 2 * small-literal.
+ * sem_ch4.adb (Analyze_Mod): New procedure (warn on suspicious
+ mod value).
+ * sem_ch4.ads (Analyze_Mod): New procedure.
+
+2012-01-30 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb: sem_ch6.adb (Analyze_Expression_Function): Copy
+ types and return expression when building spec for implicit
+ body, to preserve global references that may be present in an
+ instantiation.
+
+2012-01-30 Matthew Heaney <heaney@adacore.com>
+
+ * a-convec.adb, a-coinve.adb, a-cobove.adb (Sort,
+ Reverse_Elements): Check for cursor tampering.
+
+2012-01-30 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Is_Fully_Initialized_Type): In Ada 2012, a
+ type with aspect Default_Value or Default_Component_Value is
+ fully initialized, and use of variables of such types do not
+ generate warnings.
+
+2012-01-30 Javier Miranda <miranda@adacore.com>
+
+PR ada/15846
+ * sem_ch8.adb (Analyze_Subprogram_Renaming):
+ Handle self-renaming when the renamed entity is referenced using
+ its expanded name.
+
+2012-01-30 Vincent Celier <celier@adacore.com>
+
+ * projects.texi: Add documentation for attribute Interfaces.
+
+2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Build_Finalizer_Call): Set loc again.
+ * exp_ch11.adb (Expand_At_End_Handler): Do not provide a source
+ location for the wrapped call to the original AT_END routine
+ and the subsequent return statement.
+
+2012-01-30 Pascal Obry <obry@adacore.com>
+
+ * s-rannum.adb: Minor reformatting.
+
+2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-calend-vms.adb, a-calend.adb: Increment the number of leap seconds
+ to 25 and add the hard time value for 2012-06-30.
+
+2012-01-30 Robert Dewar <dewar@adacore.com>
+
+ * a-strhas.ads, einfo.adb, einfo.ads, exp_ch7.adb, exp_ch9.adb,
+ freeze.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-proc.adb, s-llflex.ads,
+ s-ransee.adb, s-ransee.ads, sem_ch13.adb, sem_dim.adb, sem_prag.adb:
+ Minor reformatting/code reorganization.
+
+2012-01-30 Thomas Quinot <quinot@adacore.com>
+
+ * s-rannum.adb, s-ransee.adb, s-ransee.ads (Get_Seed): Return
+ Unsigned_64 rather than Duration.
+ (System.Random_Numbers.Reset): Use full value of seed
+ (do not truncate sub-second bits).
+
+2012-01-30 Thomas Quinot <quinot@adacore.com>
+
+ * sem_cat.adb, sem_ch12.adb: Minor reformatting.
+
+2012-01-30 Yannick Moy <moy@adacore.com>
+
+ * gnat_ugn.texi: Minor correction of GNAT UG, to take into
+ account changes to -gnatwa and more recent warnings.
+
+2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Build_Finalizer_Call): Do not provide a source
+ location when creating a call to a finalizer.
+ * exp_ch11.adb (Expand_Exception_Handlers): Do not provide
+ a source location for the first actual of Save_Occurrence for
+ consistency sake.
+
+2012-01-30 Ed Schonberg <schonberg@adacore.com>
+
+ * einfo.ads, einfo,adb: New attribute on scalar types:
+ Default_Aspect_Value New attribute on array types:
+ Default_Aspect_Component_Value Move attribute Related_Array_Object
+ to a different position to accomodate new aspect attributes.
+ * freeze.adb (Freeze_Entity): Use new attributes to retrieve value
+ of defaults set with an aspect specification, rather than using
+ the list of aspects attached to the type, to prevent issues with
+ partial views.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): For aspects
+ Default_Value and Default_Component _Value, store corresponding
+ expression in type entity.
+ (Check_Aspect_At_End_Of_Declaration): If the default aspects
+ are declared on the full view, use the full view to resolve the
+ correseponding expression.
+ * exp_ch3.adb (Init_Component): Use attribute
+ Default_Aspect_Component_Value to perform default initialization,
+ rather than relying on the rep item list for the type.
+ (Get_Simple_Init_Val): Ditto.
+
+2012-01-30 Thomas Quinot <quinot@adacore.com>
+
+ * a-strhas.ads: Document risk of collision attack.
+
+2012-01-30 Yannick Moy <moy@adacore.com>
+
+ * gnat_ugn.texi: Minor update wrt warning switches.
+
+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
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the case of a
+ renaming, preserve the volatileness through the indirection, if any.
+
+2012-01-14 Andreas Schwab <schwab@linux-m68k.org>
+
+ * gcc-interface/Makefile.in (OSCONS_EXTRACT): Add
+ $(GNATLIBCFLAGS).
+
+2012-01-10 Pascal Obry <obry@adacore.com>
+
+ * prj-nmsc.adb (Check_Library_Attributes):
+ Kill check for object/source directories for aggregate libraries.
+
+2012-01-10 Matthew Heaney <heaney@adacore.com>
+
+ * a-cdlili.adb, a-cdlili.ads, a-cihama.adb, a-cihama.ads, a-coinve.adb,
+ a-coinve.ads, a-ciorse.adb, a-ciorse.ads, a-coorma.adb, a-coorma.ads,
+ a-cborma.adb, a-cborma.ads, a-cidlli.adb, a-cidlli.ads, a-cimutr.adb,
+ a-cimutr.ads, a-cihase.adb, a-cihase.ads, a-cohama.adb, a-cohama.ads,
+ a-coorse.adb, a-coorse.ads, a-cbhama.adb, a-cbhama.ads, a-cborse.adb,
+ a-cborse.ads, a-comutr.adb, a-comutr.ads, a-ciorma.adb, a-cobove.adb,
+ a-ciorma.ads, a-cobove.ads, a-convec.adb, a-convec.ads, a-cohase.adb,
+ a-cohase.ads, a-cbdlli.adb, a-cbdlli.ads, a-cbmutr.adb, a-cbmutr.ads,
+ a-cbhase.adb, a-cbhase.ads (Reference, Constant_Reference): Declare
+ container parameter as aliased in/in out.
+ Code clean ups.
+
+2012-01-10 Bob Duff <duff@adacore.com>
+
+ * s-os_lib.ads: Improve comment.
+
+2012-01-10 Geert Bosch <bosch@adacore.com>
+
+ * s-gearop.adb (Forward_Eliminate): Avoid improper aliasing
+ for complex Scalar.
+
+2012-01-10 Bob Duff <duff@adacore.com>
+
+ * sem_intr.adb (Check_Shift): Use RM_Size instead of Esize, when
+ checking that the 'Size is correct. If the type is "mod 2**12",
+ for example, it's illegal, but Esize is the 'Object_Size, which
+ will be something like 16 or 32, so the error ('Size = 12) was
+ not detected.
+ * gnat_rm.texi: Improve documentation of shift
+ and rotate intrinsics.
+
+2012-01-10 Pascal Obry <obry@adacore.com>
+
+ * prj.adb (For_Every_Project_Imported): Fix
+ implementation to make sure we return each project only once
+ for aggragte libraries. It is fine to return a project twice for
+ aggregate projects, this was the case as a Project_Id is different
+ in each project tree. The new implementation use a table based on
+ the project name to ensure proper detection of duplicate project
+ in aggregate library. A new context is then created to continue
+ retrurning duplicate project for aggregate libraries.
+
+2012-01-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (call_to_gnu): Create the temporary for the
+ return value in the variable-sized return type case if the target is
+ an array with fixed size. However, do not create it if this is the
+ expression of an object declaration.
+
+2012-01-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (addressable_p) <COMPONENT_REF>: Fix thinko.
+
+2012-01-06 Robert Dewar <dewar@adacore.com>
+
+ * a-wichha.ads, a-wichun.ads, a-zchhan.ads, a-zchuni.ads,
+ s-utf_32.ads: Add pragma Pure
+ * s-utf_32.adb: Suppress warnings on non-static constants (now
+ that this is Pure).
+
+2012-01-06 Bob Duff <duff@adacore.com>
+
+ * s-rpc.ads (Read, Write): Add overriding indicators.
+
+2012-01-06 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Add documentation for conventions
+ Ada_Pass_By_Copy and Ada_Pass_By_Reference.
+
+2012-01-06 Gary Dismukes <dismukes@adacore.com>
+
+ * a-tienio.adb (Put): Add exception message on
+ raise statements. Remove unneeded blocks and object declarations.
+
+2012-01-06 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb: Minor reformatting.
+
+2012-01-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sinfo.ads, sinfo.adb (Has_Prefixed_Call): New flag to indicate
+ that a selected component within a generic unit has been resolved
+ as a prefixed call with local references.
+ * sem_ch3.adb (Is_Visible_Component): In an instance body a selected
+ component is always visible.
+ * sem_ch4.adb (Analyze_Selected_Component): If the node is a
+ prefixed call in an instance, do not look for visible components
+ of the type.
+ * sem_ch12.adb (Reset_Entity): If a selected component has resolved
+ to a prefixed call, mark the node accordingly when prefix and
+ selector are local references.
+
+2012-01-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnatvsn.ads (Current_Year): Bump to 2012.
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.