aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
AgeCommit message (Collapse)AuthorFilesLines
2012-10-15config.gcc: Match arm*-*-linux-* for ARM Linux/GNU.Matthias Klose2-1/+6
gcc/ 2012-10-15 Matthias Klose <doko@ubuntu.com> * config.gcc: Match arm*-*-linux-* for ARM Linux/GNU. * doc/install.texi: Use arm-*-*linux-* instead of arm-*-*linux-gnueabi. gcc/testsuite/ 2012-10-15 Matthias Klose <doko@ubuntu.com> * lib/target-supports.exp (check_profiling_available): Match arm*-*-linux-* for ARM Linux/GNU. * g++.dg/torture/predcom-1.C: Match arm*-*-linux-* for ARM Linux/GNU. * gfortran.dg/enum_10.f90: Likewise. * gfortran.dg/enum_9.f90: Likewise. * gcc.target/arm/synchronize.c: Likewise. * g++.old-deja/g++.jason/enum6.C: Likewise. * g++.old-deja/g++.other/enum4.C: Likewise. * g++.old-deja/g++.law/enum9.C: Likewise. gcc/ada/ 2012-10-15 Matthias Klose <doko@ubuntu.com> * gcc-interface/Makefile.in: Match arm*-*-linux-*eabi* for ARM Linux/GNU. libgcc/ 2012-10-15 Matthias Klose <doko@ubuntu.com> * config.host: Match arm*-*-linux-* for ARM Linux/GNU. libstdc++-v3/ 2012-10-15 Matthias Klose <doko@ubuntu.com> * configure.host: Match arm*-*-linux-* for ARM Linux/GNU. * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise. * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise. libjava/ 2012-10-15 Matthias Klose <doko@ubuntu.com> * configure.ac: Match arm*-*-linux-* for ARM Linux/GNU. * configure: Regenerate. From-SVN: r192475
2012-10-05[multiple changes]Arnaud Charlet4-4/+45
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. From-SVN: r192130
2012-10-05[multiple changes]Arnaud Charlet12-76/+252
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. From-SVN: r192128
2012-10-05[multiple changes]Arnaud Charlet3-139/+90
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. From-SVN: r192126
2012-10-05checks.adb, [...]: Minor reformatting.Robert Dewar8-23/+32
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. From-SVN: r192125
2012-10-05[multiple changes]Arnaud Charlet12-141/+168
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. From-SVN: r192124
2012-10-04[multiple changes]Arnaud Charlet4-131/+229
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. From-SVN: r192073
2012-10-04[multiple changes]Arnaud Charlet13-53/+173
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). From-SVN: r192072
2012-10-04[multiple changes]Arnaud Charlet7-11/+115
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. From-SVN: r192071
2012-10-04checks.adb (Minimize_Eliminate_Overflow_Checks): Dont reanalyze if/case ↵Robert Dewar5-76/+118
expression if nothing has changed (just reexpand). 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. From-SVN: r192070
2012-10-04[multiple changes]Arnaud Charlet3-337/+256
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. From-SVN: r192069
2012-10-04[multiple changes]Arnaud Charlet7-49/+77
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. From-SVN: r192068
2012-10-03[multiple changes]Arnaud Charlet8-8/+115
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 From-SVN: r192029
2012-10-03exp_ch4.adb (Expand_N_Allocator_Expression): Minor code reorganization and ↵Javier Miranda4-52/+118
cleanup. 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. From-SVN: r192028
2012-10-03[multiple changes]Arnaud Charlet5-109/+250
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. From-SVN: r192027
2012-10-03[multiple changes]Arnaud Charlet6-14/+77
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. From-SVN: r192026
2012-10-02[multiple changes]Arnaud Charlet8-132/+466
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. From-SVN: r191980
2012-10-02s-bignum.adb (Big_Exp): 0**0 should be 1, not 0.Robert Dewar8-141/+644
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. From-SVN: r191979
2012-10-02Update dependencies.Arnaud Charlet1-65/+62
From-SVN: r191978
2012-10-02[multiple changes]Arnaud Charlet5-28/+108
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. From-SVN: r191977
2012-10-02sem_ch8.adb (Find_Direct_Name): The left-hand side of an assignment may ↵Ed Schonberg2-1/+11
designate a generalized reference. 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. From-SVN: r191976
2012-10-02[multiple changes]Arnaud Charlet6-15/+54
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. From-SVN: r191975
2012-10-02sinfo.adb, [...]: Get rid of internal use of N_Return_Statement.Robert Dewar8-59/+42
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. From-SVN: r191974
2012-10-02[multiple changes]Arnaud Charlet4-16/+33
2012-10-02 Eric Botcazou <ebotcazou@adacore.com> * types.h: Minor cosmetic fix. 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. From-SVN: r191973
2012-10-02decl.c (elaborate_expression_1): Use the variable for bounds of loop ↵Eric Botcazou3-1/+11
iteraration scheme only for locally defined... * 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. From-SVN: r191971
2012-10-02par_sco.adb, [...]: Change name Conditional_Expression to If_Expression.Robert Dewar46-767/+795
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. From-SVN: r191967
2012-10-02[multiple changes]Arnaud Charlet4-16/+59
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. From-SVN: r191965
2012-10-02checks.adb (Apply_Arithmetic_Overflow_Checked_Suppressed): New name for ↵Robert Dewar8-136/+400
Apply_Arithmetic_Overflow_Normal 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. From-SVN: r191964
2012-10-02[multiple changes]Arnaud Charlet3-5/+16
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). From-SVN: r191963
2012-10-02exp_ch7.adb, [...]: Minor reformatting.Robert Dewar17-89/+159
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. From-SVN: r191962
2012-10-02[multiple changes]Arnaud Charlet10-56/+120
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. From-SVN: r191961
2012-10-02[multiple changes]Arnaud Charlet8-125/+214
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. From-SVN: r191960
2012-10-02[multiple changes]Arnaud Charlet9-64/+234
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. From-SVN: r191959
2012-10-02sem_ch4.adb (Is_Empty_Range): Use bounds of index type to determine whether ↵Ed Schonberg2-10/+31
an array is empty when... 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. From-SVN: r191958
2012-10-02[multiple changes]Arnaud Charlet7-7/+156
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. From-SVN: r191957
2012-10-02[multiple changes]Arnaud Charlet11-49/+228
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. From-SVN: r191956
2012-10-01sem_aggr.adb (New_Copy_Tree_And_Copy_Dimensions): New routine.Vincent Pucci4-21/+79
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. From-SVN: r191922
2012-10-01[multiple changes]Arnaud Charlet6-6/+124
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. From-SVN: r191921
2012-10-01[multiple changes]Arnaud Charlet9-63/+437
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. From-SVN: r191920
2012-10-01[multiple changes]Arnaud Charlet5-46/+192
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. From-SVN: r191919
2012-10-01checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated): Handle case of ↵Robert Dewar9-42/+470
appearing in range in membership test. 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. From-SVN: r191918
2012-10-01checks.adb: Improve warning message.Ed Schonberg2-3/+16
2012-10-01 Ed Schonberg <schonberg@adacore.com> * checks.adb: Improve warning message. From-SVN: r191915
2012-10-01[multiple changes]Arnaud Charlet4-2/+325
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. From-SVN: r191914
2012-10-01[multiple changes]Arnaud Charlet6-59/+107
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. From-SVN: r191913
2012-10-01[multiple changes]Arnaud Charlet16-106/+2013
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. From-SVN: r191912
2012-10-01[multiple changes]Arnaud Charlet5-107/+121
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. From-SVN: r191911
2012-10-01[multiple changes]Arnaud Charlet18-310/+989
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. From-SVN: r191910
2012-10-01Make-lang.in: Update dependencies.Arnaud Charlet2-2/+7
* gcc-interface/Make-lang.in: Update dependencies. (GCC_LINK): Add -static-libstdc++. From-SVN: r191908
2012-10-01trans.c (gigi): Adjust previous change to avoid a typecast that discards a ↵Arnaud Charlet1-2/+4
const qualifier. * gcc-interface/trans.c (gigi): Adjust previous change to avoid a typecast that discards a const qualifier. From-SVN: r191907
2012-10-01a-catizo.adb, [...]: Minor reformatting.Arnaud Charlet84-823/+717
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. From-SVN: r191905