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