diff options
Diffstat (limited to 'gcc-4.8/gcc/ada/ChangeLog-2012')
-rw-r--r-- | gcc-4.8/gcc/ada/ChangeLog-2012 | 8694 |
1 files changed, 0 insertions, 8694 deletions
diff --git a/gcc-4.8/gcc/ada/ChangeLog-2012 b/gcc-4.8/gcc/ada/ChangeLog-2012 deleted file mode 100644 index 2bb659a52..000000000 --- a/gcc-4.8/gcc/ada/ChangeLog-2012 +++ /dev/null @@ -1,8694 +0,0 @@ -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 brobecker> - - * 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. |