aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem_res.adb
AgeCommit message (Collapse)AuthorFilesLines
2010-12-20Fix typos in gcc/ada.Ralf Wildenhues1-2/+2
gcc/ada/: * projects.texi: Fix typos. * gnat_rm.texi: Likewise. * gnat_ugn.texi: Likewise. * sem_util.adb: Fix typo in variable, typos in comments. * a-btgbso.adb: Fix typos in comments. * a-cbdlli.adb, a-cbhase.ads, a-cdlili.adb, a-cobove.adb, a-coinve.adb, a-convec.adb, a-direct.ads, a-strunb-shared.adb, a-strunb-shared.ads, a-stuten.ads, a-stwiun-shared.adb, a-stwiun-shared.ads, a-stzunb-shared.adb, a-stzunb-shared.ads, a-suenco.adb, a-suenst.adb, a-suewst.adb, a-suezst.adb, ali.ads, aspects.ads, atree.ads, binde.adb, bindgen.adb, checks.adb, checks.ads, einfo.ads, err_vars.ads, errout.adb, errout.ads, exp_aggr.adb, exp_attr.adb, exp_cg.adb, exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_dbug.ads, exp_disp.adb, exp_fixd.ads, freeze.adb, g-altive.ads, g-comlin.ads, g-excact.ads, g-mbdira.adb, g-sechas.ads, g-sehash.ads, g-sha1.ads, g-sha224.ads, g-sha256.ads, g-sha384.ads, g-sha512.ads, g-shsh32.ads, g-shsh64.ads, g-socket.adb, g-socket.ads, g-sothco.ads, gcc-interface/decl.c, gcc-interface/trans.c, gcc-interface/utils2.c, gnat1drv.adb, init.c, inline.adb, link.c, locales.c, make.adb, mingw32.h, namet.ads, osint.adb, par-ch12.adb, par-ch13.adb, par-ch3.adb, par-ch4.adb, par-prag.adb, par.adb, par_sco.adb, prepcomp.adb, prj-conf.ads, prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-tree.ads, prj-util.ads, prj.adb, prj.ads, s-auxdec-vms-alpha.adb, s-auxdec-vms_64.ads, s-oscons-tmplt.c, s-osinte-vxworks.ads, s-osprim-mingw.adb, s-regexp.adb, s-stusta.adb, s-taprop-mingw.adb, s-taprop-solaris.adb, scn.adb, scos.ads, sem.adb, sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_aux.ads, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb, sem_ch13.ads, sem_ch3.adb, sem_ch4.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_disp.adb, sem_disp.ads, sem_eval.adb, sem_intr.adb, sem_prag.adb, sem_res.adb, sem_scil.adb, sem_util.ads, sem_warn.adb, sem_warn.ads, sinfo.ads, socket.c, styleg.adb, switch.ads, sysdep.c, tb-alvxw.c, xoscons.adb: Likewise. From-SVN: r168082
2010-10-26[multiple changes]Arnaud Charlet1-1/+5
2010-10-26 Javier Miranda <miranda@adacore.com> * sem_prag.adb (Process_Import_Or_Interface): Skip primitives of interface types when processing all the entities in the homonym chain that are declared in the same declarative part. 2010-10-26 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Process_Range_In_Decl): If the range is part of a quantified expression, the insertion point for range checks will be arbitrarily far in the tree. * sem_ch5.adb (One_Bound): Use Insert_Actions for the declaration of the temporary that holds the value of the bounds. * sem_res.adb (Resolve_Quantified_Expressions): Disable expansion of condition until the full expression is expanded. From-SVN: r165957
2010-10-26sem_res.adb, xsinfo.adb: Minor reformatting.Robert Dewar1-2/+2
2010-10-26 Robert Dewar <dewar@adacore.com> * sem_res.adb, xsinfo.adb: Minor reformatting. From-SVN: r165950
2010-10-26[multiple changes]Arnaud Charlet1-4/+6
2010-10-26 Robert Dewar <dewar@adacore.com> * einfo.ads, einfo.adb (Is_Base_Type): New function, use it where appropriate. * exp_ch6.adb, exp_dbug.adb, exp_disp.adb, freeze.adb, lib-xref.adb, sem_aux.adb, sem_ch3.adb, sem_ch7.adb, sem_ch8.adb (Is_Base_Type): Use this new abstraction where appropriate. 2010-10-26 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb: Code clean up. 2010-10-26 Paul Hilfinger <hilfinger@adacore.com> * exp_dbug.ads: Document effect of 'pragma Unchecked_Union' on debugging data. 2010-10-26 Ed Schonberg <schonberg@adacore.com> * sem_util.adb (Note_Possible_Modification): If the target of an assignment is the bound variable in an iterator, the domain of iteration, i.e. array or container, is modified as well. 2010-10-26 Bob Duff <duff@adacore.com> * Make-generated.in: Make the relevant make targets depend on ceinfo.adb and csinfo.adb. * csinfo.adb, ceinfo.adb: Make sure it raises an exception on failure, so when called from xeinfo, the failure will be noticed. * sinfo.ads: Update comments to reflect the fact that xsinfo runs csinfo * xsinfo.adb, xeinfo.adb: Run ceinfo to check for errors. Close files. 2010-10-26 Ed Schonberg <schonberg@adacore.com> * exp_ch4.adb: Set properly parent field of operands of concatenation. 2010-10-26 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Check_Infinite_Recursion): A recursive call within a conditional expression or a case expression should not generate an infinite recursion warning. From-SVN: r165946
2010-10-26[multiple changes]Arnaud Charlet1-20/+32
2010-10-26 Javier Miranda <miranda@adacore.com> * einfo.ads, einfo.adb (Is_Overriding_Operation): Removed. (Set_Is_Overriding_Operation): Removed. * sem_ch3.adb (Check_Abstract_Overriding): Remove redundant call to Is_Overriding_Operation. * exp_ch7.adb (Check_Visibly_Controlled): Remove redundant call to Is_Overriding_Operation. * sem_ch7.adb (Declare_Inherited_Private_Subprograms): Remove redundant call to Set_Is_Overriding_Operation. * sem_util.adb (Collect_Primitive_Operations): Replace test on Is_Overriding_Operation by test on the presence of attribute Overridden_Operation. (Original_Corresponding_Operation): Remove redundant call to attribute Is_Overriding_Operation. * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Remove redundant call to Is_Overriding_Operation. (Verify_Overriding_Indicator): Replace several occurrences of test on Is_Overriding_Operation by test on the presence of attribute Overridden_Operation. (Check_Convention): Replace test on Is_Overriding_Operation by test on the presence of Overridden_Operation. (Check_Overriding_Indicator): Add missing decoration of attribute Overridden_Operation. Minor code cleanup. (New_Overloaded_Entity): Replace occurrence of test on Is_Overriding_Operation by test on the presence of attribute Overridden_Operation. Remove redundant setting of attribute Is_Overriding_Operation plus minor code reorganization. Add missing decoration of attribute Overridden_Operation. * sem_elim.adb (Set_Eliminated): Replace test on Is_Overriding_Operation by test on the presence of Overridden_Operation. * sem_ch8.adb (Analyze_Subprogram_Renaming): Replace test on Is_Overriding_Operation by test on the presence of Overridden_Operation. Remove a redundant test on attribute Is_Overriding_Operation. * lib-xref.adb (Generate_Reference): Replace test on Is_Overriding_Operation by test on the presence of Overridden_Operation. (Output_References): Replace test on Is_Overriding_Operation by test on the presence of Overridden_Operation. * sem_disp.adb (Override_Dispatching_Operation): Replace test on Is_Overriding_Operation by test on the presence of Overridden_Operation. Add missing decoration of attribute Overridden_Operation. 2010-10-26 Robert Dewar <dewar@adacore.com> * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Properly check RM 13.4.1(10). 2010-10-26 Bob Duff <duff@adacore.com> * sem_res.adb (Resolve_Actuals): In case of certain internally-generated type conversions (created by OK_Convert_To, so the Conversion_OK flag is set), avoid fetching the component type when it's not really an array type, but a private type completed by an array type. From-SVN: r165945
2010-10-26[multiple changes]Arnaud Charlet1-6/+0
2010-10-26 Ed Schonberg <schonberg@adacore.com> * sem_ch5.adb: Adjust format of error message. 2010-10-26 Robert Dewar <dewar@adacore.com> * einfo.ads, einfo.adb (OK_To_Reference): Removed, no longer used. * exp_util.adb (Side_Effect_Free): Put in safety barrier in code to detect renamings to avoid problems with invariants. * sem_ch13.adb (Replace_Type_References_Generic): New procedure (Build_Invariant_Procedure): Use Replace_Type_Reference_Generic (Build_Predicate_Function): Use Replace_Type_Reference_Generic * sem_res.adb, sem_ch8.adb, sem_ch4.adb (OK_To_Reference): Remove references, flag is no longer set. From-SVN: r165944
2010-10-25[multiple changes]Arnaud Charlet1-8/+15
2010-10-25 Matthew Heaney <heaney@adacore.com> * Makefile.rtl, impunit.adb: Added a-cobove (bounded vector container) to lists. * a-contai.ads: Added declaration of Capacity_Error exception. * a-cobove.ads, a-cobove.adb: New files. 2010-10-25 Thomas Quinot <quinot@adacore.com> * uname.adb: Revert previous change, no longer needed after change in par-ch10.adb. 2010-10-25 Thomas Quinot <quinot@adacore.com> * scos.ads: Minor comment fix. 2010-10-25 Ed Schonberg <schonberg@adacore.com> * sem_ch5.adb (Analyze_Assignment_Statement): Check dangerous order dependence. * sem_ch6.adb (Analyze_Procedure_Call_Statement): Ditto. * sem_res.adb (Analyze_Actuals): Add actual to list of actuals for current construct, for subsequent order dependence checking. (Resolve): Check order dependence on expressions that are not subexpressions. * sem_util.adb (Check_Order_Dependence): Code cleanup, to correspond to latest version of AI05-144-2. * sem_warn.adb (Warn_On_Overlapping_Actuals): Code cleanup. 2010-10-25 Robert Dewar <dewar@adacore.com> * sem_ch13.adb (Build_Static_Predicate): Moved out of Build_Predicate_Function. (Build_Static_Predicate): Complet rewrite for more general predicates From-SVN: r165917
2010-10-22sem_case.adb, [...] (Bad_Predicated_Subtype_Use): Change order of parameters.Robert Dewar1-1/+1
2010-10-22 Robert Dewar <dewar@adacore.com> * sem_case.adb, sem_attr.adb (Bad_Predicated_Subtype_Use): Change order of parameters. * sem_ch13.adb (Build_Predicate_Function): Don't give inheritance messages for generic actual subtypes. * sem_ch9.adb, sem_res.adb, sem_util.adb, sem_util.ads, sem_ch3.adb (Bad_Predicated_Subtype_Use): Use this procedure. 2010-10-22 Robert Dewar <dewar@adacore.com> * sem_ch5.adb: Minor reformatting. From-SVN: r165829
2010-10-22[multiple changes]Arnaud Charlet1-1/+10
2010-10-22 Thomas Quinot <quinot@adacore.com> * einfo.ads (Declaration_Node): Clarify documentation, in particular regarding what is returned for subprogram entities. 2010-10-22 Arnaud Charlet <charlet@adacore.com> * exp_attr.adb (Make_Range_Test): Generate a Range node instead of explicit comparisons, generates simpler expanded code. * a-except-2005.adb (Rcheck_06_Ext): New. * gcc-interface/trans.c (gigi, gnat_to_gnu): Handle validity checks like range checks. * gcc-interface/Make-lang.in: Update dependencies. 2010-10-22 Robert Dewar <dewar@adacore.com> * sem_ch3.adb (Array_Type_Declaration): Error for subtype wi predicate for index type (Constrain_Index): Error of subtype wi predicate in index constraint * sem_ch9.adb (Analyze_Entry_Declaration): Error of subtype wi predicate in entry family. * sem_res.adb (Resolve_Slice): Error of type wi predicate in slice. 2010-10-22 Javier Miranda <miranda@adacore.com> * sem_util.ads, sem_util.adb (Collect_Parents): New subprogram. (Original_Corresponding_Operation): New subprogram. (Visible_Ancestors): New subprogram. * sem_ch6.adb (New_Overloaded_Entity): Handle new case of dispatching operation that overrides a hidden inherited primitive. * sem_disp.adb (Find_Hidden_Overridden_Primitive): New subprogram. (Check_Dispatching_Operation): if the new dispatching operation does not override a visible primtive then check if it overrides some hidden inherited primitive. 2010-10-22 Ed Schonberg <schonberg@adacore.com> * sem_ch10.adb (Analyze_With_Clause): If the parent_unit_name in a with clause is a child unit that denotes a renaming, replace the parent_unit_name with a reference to the renamed unit, because the prefix is irrelevant to subsequent visibility.. From-SVN: r165805
2010-10-21sem_res.adb, [...]: Minor reformatting.Thomas Quinot1-2/+2
2010-10-21 Thomas Quinot <quinot@adacore.com> * sem_res.adb, exp_ch13.adb: Minor reformatting. 2010-10-21 Thomas Quinot <quinot@adacore.com> * sem_ch3.adb (Check_Or_Process_Discriminant): Reject illegal attempt to provide a tagged full view as the completion of an untagged partial view if the partial view has a discriminant with default. From-SVN: r165775
2010-10-21einfo.ads, einfo.adb: Add handling of predicates.Robert Dewar1-0/+13
2010-10-21 Robert Dewar <dewar@adacore.com> * einfo.ads, einfo.adb: Add handling of predicates. Rework handling of invariants. * exp_ch3.adb, exp_ch4.adb, exp_util.adb, sem_ch6.adb: Minor changes to handing of invariants. * par-prag.adb: Add dummy entry for pragma Predicate * sem_ch13.adb (Analyze_Aspect_Specifications): Add processing for Predicate aspects. * sem_prag.adb: Add implementation of pragma Predicate. * snames.ads-tmpl: Add entries for pragma Predicate. 2010-10-21 Robert Dewar <dewar@adacore.com> * elists.adb: Minor reformatting. From-SVN: r165766
2010-10-21a-cgaaso.ads, [...]: Minor reformattingRobert Dewar1-1/+1
2010-10-21 Robert Dewar <dewar@adacore.com> * a-cgaaso.ads, a-tags.ads, exp_ch3.adb, exp_attr.adb, exp_ch4.adb, exp_ch3.ads, exp_ch7.adb, exp_ch9.adb, exp_disp.adb, exp_disp.ads, exp_dist.adb, exp_util.adb, layout.adb, lib-xref.adb, lib.ads, prep.adb, prj-strt.adb, s-ststop.adb, s-taskin.ads, s-tataat.ads, sem_aggr.adb, sem_attr.adb, sem_ch12.adb, sem_ch3.adb, sem_ch4.adb, sem_ch4.ads, sem_ch5.adb, sem_res.adb, sem_util.adb, einfo.adb, g-sothco.ads, make.adb: Minor reformatting From-SVN: r165760
2010-10-21[multiple changes]Arnaud Charlet1-3/+3
2010-10-21 Robert Dewar <dewar@adacore.com> * exp_ch4.adb, exp_intr.adb, par-ch4.adb, scn.adb, sem_ch4.adb, sem_res.adb, sem_util.adb, sinfo.ads, a-except-2005.adb: Minor reformatting. * snames.ads-tmpl: Add note on Name_Some (not a reserved keyword). 2010-10-21 Geert Bosch <bosch@adacore.com> * ttypef.ads: Further cleanup of Safe_XXX float attributes. From-SVN: r165756
2010-10-19[multiple changes]Arnaud Charlet1-0/+16
2010-10-19 Ed Schonberg <schonberg@adacore.com> * exp_ch4.adb, exp_ch4.ads (Expand_Quantified_Expression): New procedure * exp_util.adb (Insert_Actions): Include Quantified_Expression. * expander.adb: Call Expand_Qualified_Expression. * par.adb: New procedure P_Quantified_Expression. Make P_Loop_Parameter_Specification global for use in quantified expressions. * par-ch3.adb (P_Subtype_Mark_Resync): Allow "some" as an identifier if version < Ada2012. * par-ch4.adb: New procedure P_Quantified_Expression. * par-ch5.adb: P_Loop_Parameter_Specification is now global. * scans.adb, scans.ads: Introduce token Some. For now leave as unreserved. * scn.adb (Scan_Reserved_Identifier): For earlier versions of Ada, treat Some as a regular identifier. * sem.adb: Call Analyze_Quantified_Expression. * sem_ch4.adb, sem_ch4.ads: New procedure Analyze_Quantified_Expression. * sem_ch5.adb, sem_ch5.ads: Analyze_Iteration_Scheme is public, for use in quantified expressions. * sem_res.adb: New procedure Resolve_Qualified_Expression. * sinfo.adb, sinfo.ads: New node N_Quantified_Expression * snames.ads-tmpl: New name Some. * sprint.adb: Output quantified_expression. 2010-10-19 Robert Dewar <dewar@adacore.com> * a-exexda.adb: Minor reformatting Minor code reorganization. From-SVN: r165698
2010-10-19[multiple changes]Arnaud Charlet1-4/+16
2010-10-19 Geert Bosch <bosch@adacore.com> * ttypef.ads: Change VAXDF_Last to be -VAXDF_First, as type is symmetric. 2010-10-19 Robert Dewar <dewar@adacore.com> * atree.h (Field29): Fix incorrect definition. * einfo.adb (Invariant_Procedure): New attribute (Has_Invariants): New flag (Has_Inheritable_Invariants): New flag (OK_To_Reference): New flag Minor code reorganization (use Next_Rep_Item function) * einfo.ads (Invariant_Procedure): New attribute (Has_Invariants): New flag (Has_Inheritable_Invariants): New flag (OK_To_Reference): New flag * exp_ch3.adb (Expand_N_Object_Declaration): Add check for invariant * exp_ch4.adb (Expand_N_Type_Conversion): Check invariant on type conversion. Minor reformatting. * exp_util.ads, exp_util.adb (Make_Invariant_Call): New procedure. * opt.ads (List_Inherited_Aspects): New name for List_Inherited_Pre_Post * par-prag.adb: Add dummy entry for pragma Invariant. * sem_ch13.adb (Build_Invariant_Procedure): New procedure (Analyze_Aspect_Specification): Add support for Invariant aspect * sem_ch13.ads (Build_Invariant_Procedure): New procedure * sem_ch3.adb (Build_Derived_Type): Propagate invariant information (Process_Full_View): Deal with invariants, building invariant procedure Minor reformatting * sem_ch6.adb (Process_PPCs): Add processing of invariants * sem_ch7.adb (Analyze_Package_Specification): Build invariant procedures. * sem_prag.adb: Implement pragma Invariant. * sem_res.adb (Resolve_Entity_Name): Allow type reference if OK_To_Reference set. * sem_warn.adb (List_Inherited_Aspects): New name for List_Inherited_Pre_Post. * snames.ads-tmpl: Add entries for pragma Invariant. * treepr.adb (Print_Entity_Information): Add handling of Field29. * usage.adb: Warning .l/.L applies to invariant as well as pre/post. From-SVN: r165694
2010-10-19[multiple changes]Arnaud Charlet1-27/+27
2010-10-19 Javier Miranda <miranda@adacore.com> * par-ch4.adb: Update documentation of Ada 2012 syntax rules for membership test. 2010-10-19 Bob Duff <duff@adacore.com> * sem_attr.adb (Eval_Attribute): Implement Max_Alignment_For_Allocation attribute. * exp_attr.adb (Expand_N_Attribute_Reference): Add Attribute_Max_Alignment_For_Allocation to the case statement. * snames.ads-tmpl (Name_Max_Alignment_For_Allocation, Attribute_Max_Alignment_For_Allocation): New attribute name. 2010-10-19 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (OK_For_Limited_Init_In_05): a call to an access to parameterless function appears syntactically as an explicit dereference. 2010-10-19 Thomas Quinot <quinot@adacore.com> * sem_ch8.adb, sem_ch12.adb, opt.ads, sem_ch6.adb, sem_res.adb, i-cexten.ads, exp_disp.adb, exp_ch4.adb, exp_ch9.adb: Minor reformatting 2010-10-19 Thomas Quinot <quinot@adacore.com> * sem_util.adb (Collect_Primitive_Operations): A function with an anonymous access result designating T is a primitive operation of T. From-SVN: r165692
2010-10-18[multiple changes]Arnaud Charlet1-1/+8
2010-10-18 Robert Dewar <dewar@adacore.com> * einfo.ads, einfo.adb: Minor reformatting. * gnat_ugn.texi, ug_words: Add missing entries, fix typos. 2010-10-18 Emmanuel Briot <briot@adacore.com> * g-comlin.adb (Is_In_Config): When the switch accepts either a space or equal, we output an equal every time. 2010-10-18 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Resolve_Entry_Call): Handle call to an entry family member when pre/post conditions are present. * exp_ch9.adb (Build_PPC_Wrapper): The PPC_Wrapper for an entry family includes an index parameter, and the name of the enclosed entry call is an indexed component. From-SVN: r165634
2010-10-18[multiple changes]Arnaud Charlet1-0/+4
2010-10-18 Vincent Celier <celier@adacore.com> * prj.ads (Source_Data): New Boolean flag In_The_Queue. 2010-10-18 Tristan Gingold <gingold@adacore.com> * s-stausa.ads: Add the Top parameter to Initialize_Analyzer. * s-stausa.adb: Use the top parameter. In Fill_Stack, use the stack top if known. * s-tassta.adb (Task_Wrapper): Call Initialize_Analyzer after Enter_Task so that Pri_Stack_Info.Limit can be set and used. 2010-10-18 Robert Dewar <dewar@adacore.com> * einfo.ads: Minor reformatting. * sem_res.adb (Resolve_Allocator): Add test for violating No_Anonymous_Allocators. From-SVN: r165624
2010-10-18[multiple changes]Arnaud Charlet1-7/+8
2010-10-18 Robert Dewar <dewar@adacore.com> * prj-nmsc.adb, prj.adb, sem_res.adb: Minor reformatting. 2010-10-18 Ed Schonberg <schonberg@adacore.com> * sem_util.adb (Insert_Explicit_Dereference): If operand is a selected component, we generate a reference to the ultimate prefix when it is an entity name. We must place the reference on the identifier for that prefix, and not on the operand itself, to prevent spurious extra references in the ali file. 2010-10-18 Vincent Celier <celier@adacore.com> * projects.texi: Add documentation for attribute Ignore_Source_Sub_Dirs From-SVN: r165623
2010-10-18einfo.ads, einfo.adb: New attribute PPC_Wrapper for entries and entry families.Ed Schonberg1-0/+23
2010-10-18 Ed Schonberg <schonberg@adacore.com> * einfo.ads, einfo.adb: New attribute PPC_Wrapper for entries and entry families. Denotes a procedure that performs pre/postcondition checks and then performs the entry call. * sem_res.adb (Resolve_Entry_Call): If the entry has pre/postconditions, replace call with a call to the PPC_Wrapper of the entry. * exp_ch9.adb (Build_PPC_Wrapper): new procedure. (Expand_N_Entry_Declaration, Expand_N_Protected_Type_Declaration): call Build_PPC_Wrapper for all entries in task and protected definitions. From-SVN: r165622
2010-10-11[multiple changes]Arnaud Charlet1-8/+18
2010-10-11 Robert Dewar <dewar@adacore.com> * aspects.ads, aspects.adb: Major revision of this package for 2nd stage of aspects implementation. * gcc-interface/Make-lang.in: Add entry for aspects.o * gcc-interface/Makefile.in: Add aspects.o to GNATMAKE_OBJS * par-ch13.adb (Aspect_Specifications_Present): New function (P_Aspect_Specifications): New procedure * par-ch3.adb (P_Type_Declaration): Handle aspect specifications (P_Derived_Type_Def_Or_Private_Ext_Decl): Handle aspect specifications (P_Identifier_Declarations): Handle aspect specifications (P_Component_Items): Handle aspect specifications (P_Subtype_Declaration): Handle aspect specifications * par-ch6.adb (P_Subprogram): Handle aspect specifications * par-ch9.adb (P_Entry_Declaration): Handle aspect specifications * par.adb (Aspect_Specifications_Present): New function (P_Aspect_Specifications): New procedure * sem.adb (Analyze_Full_Type_Declaration): New name for Analyze_Type_Declaration. (Analyze_Formal_Package_Declaration): New name (add _Declaration) (Analyze_Formal_Subprogram_Declaration): New name (add _Declaration) (Analyze_Protected_Type_Declaration): New name (add _Declaration) (Analyze_Single_Protected_Declaration): New name (add _Declaration) (Analyze_Single_Task_Declaration): New name (add _Declaration) (Analyze_Task_Type_Declaration): New name (add _Declaration) * sem_cat.adb (Analyze_Full_Type_Declaration): New name for Analyze_Type_Declaration. * sem_ch11.adb (Analyze_Exception_Declaration): Analyze aspect specifications. * sem_ch12.adb (Analyze_Formal_Object_Declaration): Handle aspect specifications. (Analyze_Formal_Package_Declaration): New name (add _Declaration) (Analyze_Formal_Package_Declaration): Handle aspect specifications (Analyze_Formal_Subprogram_Declaration): New name (add _Declaration) (Analyze_Formal_Subprogram_Declaration): Handle aspect specifications (Analyze_Formal_Type_Declaration): Handle aspect specifications (Analyze_Generic_Package_Declaration): Handle aspect specifications (Analyze_Generic_Subprogram_Declaration): Handle aspect specifications (Analyze_Package_Instantiation): Handle aspect specifications (Analyze_Subprogram_Instantiation): Handle aspect specifications * sem_ch12.ads (Analyze_Formal_Package_Declaration): New name (add _Declaration). (Analyze_Formal_Subprogram_Declaration): New name (add _Declaration) * sem_ch13.adb (Analyze_Aspect_Specifications): New procedure (Duplicate_Clause): New function, calls to this function are added to processing for all aspects. * sem_ch13.ads (Analyze_Aspect_Specifications): New procedure * sem_ch3.adb (Analyze_Full_Type_Declaration): New name for Analyze_Type_Declaration. * sem_ch3.ads (Analyze_Full_Type_Declaration): New name for Analyze_Type_Declaration. * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Analyze aspect specifications. (Analyze_Subprogram_Declaration): Analyze aspect specifications * sem_ch7.adb (Analyze_Package_Declaration): Analyze aspect specifications. (Analyze_Private_Type_Declaration): Analyze aspect specifications * sem_ch9.adb (Analyze_Protected_Type_Declaration): Analyze aspect specifications. (Analyze_Protected_Type_Declaration): New name (add _Declaration) (Analyze_Single_Protected_Declaration): Analyze aspect specifications (Analyze_Single_Protected_Declaration): New name (add _Declaration) (Analyze_Single_Task_Declaration): Analyze aspect specifications (Analyze_Single_Task_Declaration): New name (add _Declaration) (Analyze_Task_Type_Declaration): Analyze aspect specifications (Analyze_Task_Type_Declaration): New name (add _Declaration) * sem_ch9.ads (Analyze_Protected_Type_Declaration): New name (add _Declaration). (Analyze_Single_Protected_Declaration): New name (add _Declaration) (Analyze_Single_Task_Declaration): New name (add _Declaration) (Analyze_Task_Type_Declaration): New name (add _Declaration) * sem_prag.adb: Use Get_Pragma_Arg systematically so that we do not have to generate unnecessary pragma argument associations (this matches the doc). Throughout do changes to accomodate aspect specifications, including specializing messages, handling the case of not going through all homonyms, and allowing for cancellation. * sinfo.ads, sinfo.adb: Clean up obsolete documentation for Flag1,2,3 (Aspect_Cancel): New flag (From_Aspect_Specification): New flag (First_Aspect): Removed flag (Last_Aspect): Removed flag * sprint.adb (Sprint_Aspect_Specifications): New procedure (Sprint_Node_Actual): Add calls to Sprint_Aspect_Specifications 2010-10-11 Bob Duff <duff@adacore.com> * sem_res.adb (Resolve_Actuals): Minor change to warning messages so they match in Ada 95, 2005, and 2012 modes, in the case where the language didn't change. Same thing for the run-time exception message. 2010-10-11 Javier Miranda <miranda@adacore.com> * debug.adb Document that switch -gnatd.p enables the CIL verifier. 2010-10-11 Robert Dewar <dewar@adacore.com> * s-htable.adb: Minor reformatting. From-SVN: r165299
2010-10-11* xr_tabls.adb, sem_res.adb: Minor reformattingem_res.adbArnaud Charlet1-3/+3
From-SVN: r165292
2010-10-11[multiple changes]Arnaud Charlet1-1/+4
2010-10-11 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Resolve_Entry_Call): Generate 's' reference for entry call. * sem_ch6.adb: Diagnose additional error condition. 2010-10-11 Bob Duff <duff@adacore.com> * par.adb (Par): Clarify wording of certain error messages. From-SVN: r165286
2010-10-11[multiple changes]Arnaud Charlet1-2/+2
2010-10-11 Gary Dismukes <dismukes@adacore.com> * sem_disp.adb (Check_Dispatching_Operation): Revise test for warning about nondispatching subprograms to use In_Same_List (reducing use of Parent links). 2010-10-11 Ed Schonberg <schonberg@adacore.com> * xr_tabls.adb, sem_res.adb, lib-xref.adb, lib-xref.ads: Use s for reference in a static call. 2010-10-11 Steve Baird <baird@adacore.com> * exp_attr.adb (Expand_N_Attribute_Reference, case Type_Key): Type_Key attribute should always be transformed into a string literal in Analyze_Attribute. * par-ch4.adb: Type_Key attribute's type is String; update value of Is_Parameterless_Attribute constant to reflect this. * sem_attr.adb (Analyze_Attribute): Recognize Type_Key attribute and rewrite it as a string literal (attribute value is always known statically). * snames.ads-tmpl: Add entries for Type_Key attribute. From-SVN: r165285
2010-10-11par-ch9.adb, [...]: Use Ada_2005 instead of Ada_05 (Ada_Version_Type).Bob Duff1-12/+12
2010-10-11 Bob Duff <duff@adacore.com> * par-ch9.adb, sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, impunit.adb, impunit.ads, sem_ch5.adb, sem_type.adb, exp_imgv.adb, exp_util.adb, switch-c.adb, exp_attr.adb, exp_ch9.adb, par-ch11.adb, usage.adb, sem_ch9.adb, sem_ch10.adb, scng.adb, checks.adb, sem_prag.adb, sem_ch12.adb, par-ch2.adb, freeze.adb, par-ch4.adb, sem_util.adb, sem_res.adb, sem_attr.adb, par-ch6.adb, exp_ch4.adb, exp_ch6.adb, sem_ch4.adb, exp_ch8.adb, par-ch10.adb, sem_ch6.adb, par-prag.adb, exp_disp.adb, par-ch12.adb, sem_ch8.adb, snames.adb-tmpl, opt.ads, exp_aggr.adb, sem_cat.adb, sem_ch13.adb, par-ch3.adb, exp_strm.adb, exp_cg.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb: Use Ada_2005 instead of Ada_05 (Ada_Version_Type). From-SVN: r165283
2010-10-11[multiple changes]Arnaud Charlet1-9/+14
2010-10-11 Bob Duff <duff@adacore.com> * sem_aggr.adb, impunit.adb, impunit.ads, switch-c.adb, usage.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, par-ch4.adb, par-ch6.adb, par-ch8.adb, exp_ch4.adb, sem_ch4.adb, sem_ch6.adb, par-prag.adb, opt.ads, par-ch3.adb, lib-xref.adb: Use Ada_2012 instead of Ada_12 (Ada_Version_Type). 2010-10-11 Javier Miranda <miranda@adacore.com> * exp_util.adb (Safe_Prefixed_Reference): If the prefix is an explicit dereference then do not exclude dereferences of access-to-constant types to handle them as constant view of variables (and hence remove side effects when required). * sem_res.adb (Resolve_Slice): Ensure that side effects in the bounds are properly handled. From-SVN: r165282
2010-10-08[multiple changes]Arnaud Charlet1-1/+5
2010-10-08 Thomas Quinot <quinot@adacore.com> * sem_prag.adb: Minor reformatting. 2010-10-08 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Derived_Type_Declaration): In the private part of an instance, it is legal to derive from a non-limited actual when the formal type is untagged limited. * sem_ch12.adb (Instantiate_Type): For a formal private type, use analyzed formal as Generic_Parent_Type, to simplify later checks. 2010-10-08 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Insert_Default): If default value is already a raise_constraint_error do not rewrite it as new raise node, to prevent infinite loops in the warning removal machinery. From-SVN: r165156
2010-10-07[multiple changes]Arnaud Charlet1-9/+1
2010-10-07 Robert Dewar <dewar@adacore.com> * einfo.ads (No_Pool_Assigned): Update documentation. * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Storage_Size): We only set No_Pool_Assigned if the expression is a static constant and zero. * sem_res.adb (Resolve_Allocator): Allocation from empty storage pool should be an error not a warning. 2010-10-07 Ed Schonberg <schonberg@adacore.com> * exp_aggr.adb (Expand_Array_Aggregate): Recognize additional cases where an aggregate in an assignment can be built directly into the target, and does not require the creation of a temporary that may overflow the stack. 2010-10-07 Ed Schonberg <schonberg@adacore.com> * sem_aggr.adb (Analyze_Record_Aggregate): In Ada2012, a choice list in a record aggregate can correspond to several components of anonymous access types, as long as the designated subtypes match. From-SVN: r165104
2010-10-07[multiple changes]Arnaud Charlet1-0/+7
2010-10-07 Robert Dewar <dewar@adacore.com> * exp_disp.adb, exp_dist.adb, exp_util.ads, exp_util.adb, exp_ch11.adb: Rename Full_Qualified_Name to Fully_Qualified_Name_String * sem_util.adb, sem_util.ads (Full_Qualified_Name): Moved to Exp_Util.Fully_Qualified_Name_String. 2010-10-07 Robert Dewar <dewar@adacore.com> * rtsfind.ads: Add entry for Ada.Real_Time.Timing_Events.Set_Handler * sem_res.adb (Resolve_Call): A call to Ada.Real_Time.Timing_Events.Set_Handler violates restriction No_Relative_Delay (AI-0211). 2010-10-07 Ed Schonberg <schonberg@adacore.com> * sem_ch10.adb: Small change in error message. From-SVN: r165092
2010-10-07[multiple changes]Arnaud Charlet1-1/+1
2010-10-07 Robert Dewar <dewar@adacore.com> * sem_res.adb: Minor reformatting 2010-10-07 Olivier Ramonat <ramonat@adacore.com> * gnat_ugn.texi: Minor editing. * opt.ads: Document that scripts rely on specific formats in opt.ads 2010-10-07 Robert Dewar <dewar@adacore.com> * a-wichun.ads, a-wichun.adb (To_Lower_Case): New function (To_Upper_Case): Fix to be inverse of To_Lower_Case * a-zchuni.ads, a-zchuni.adb (To_Lower_Case): New function (To_Upper_Case): Fix to be inverse of To_Lower_Case 2010-10-07 Robert Dewar <dewar@adacore.com> * a-wichha.adb, a-wichha.ads, a-zchhan.adb, a-zchhan.ads: New file. * impunit.adb: Add entries for a-wichha/a-zchhan * Makefile.rtl: Add entries for a-wichha/a-zchhan 2010-10-07 Vincent Celier <celier@adacore.com> * make.adb (Check): Call Check_Source_Info_In_ALI with Project_Tree * makeutl.adb (Check_Source_Info_In_ALI): If there is at least one replaced source, check that none of the replaced sources are in the dependencies. * makeutl.ads (Check_Source_Info_In_ALI): New parameter Tree * prj-nmsc.adb (Remove_Source): New parameter Tree. If the source is replaced with a source with a different file name, put it in the hash table Replaced_Sources. (Add_Source): Call Remove_Source with Data.Tree. If there is at least one replaced source, check if it has the same file name as the current source; if it has, remove it from the hash table Replaced_Sources. * prj.adb (Reset): Reset hash table Tree.Replaced_Sources * prj.ads (Replaced_Source_HTable): New hash table (Project_Tree_Data): New components Replaced_Sources and Replaced_Source_Number. 2010-10-07 Ed Schonberg <schonberg@adacore.com> * sem_elab.adb (Check_A_Call): After inserting elaboration check, set proper flag to prevent a double elaboration check on the same call. * exp_util.adb (Insert_Actions): If the enclosing node is an Expression_With_Actions and it has been analyzed already, find insertion point further up in the tree. 2010-10-07 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch13.adb (Analyze_Record_Representation_Clause): Alphabetize all local variables. Remove the general restriction which prohibits the application of record rep clauses to Unchecked_Union types. Add Ada 2012 check to detect improper naming of an Unchecked_Union discriminant in record rep clause. * sem_prag.adb: Add with and use clause for Exp_Ch7. (Analyze_Pragma): Unchecked_Union case: Propagate the Unchecked_Union type to all invocations of Check_Component and Check_Variant. (Check_Component): Add formal parameters UU_Typ and In_Variant_Part. Rewritten. Add Ada 2012 check to detect improper use of formal private types and private extensions as component types of an Unchecked_Union declared inside a generic body. (Check_Variant): Add formal parameter UU_Typ. Propagate the Unchecked_Union type to all calls of Check_Component. Signal that the current component comes from the variant part of an Unchecked_Union type. (Inside_Generic_Body): New routine. 2010-10-07 Ed Schonberg <schonberg@adacore.com> * exp_ch4.adb (Expand_Composite_Equality): When looking for a primitive equality operation for a record component, verify that both formals have the same type, and the result type is boolean. 2010-10-07 Vincent Celier <celier@adacore.com> * gnatcmd.adb (Check_Files): When looking for the .ci file for a binder generated file, look for both b~xxx and b__xxx as gprbuild always uses b__ as the prefix of such files. From-SVN: r165084
2010-10-07[multiple changes]Arnaud Charlet1-14/+12
2010-10-07 Thomas Quinot <quinot@adacore.com> * sem_res.adb: Minor reformatting. 2010-10-07 Arnaud Charlet <charlet@adacore.com> * debug.adb: Update -gnatd.J documentation. 2010-10-07 Robert Dewar <dewar@adacore.com> * gnat_rm.texi: Document handling of invalid values * s-utf_32.ads, s-utf_32.adb (UTF_To_Lower_Case): Fix implementation to match new spec. (UTF_To_Upper_Case): New function. From-SVN: r165083
2010-10-05prj-util.adb, [...]: Minor reformatting.Robert Dewar1-2/+2
2010-10-05 Robert Dewar <dewar@adacore.com> * prj-util.adb, prj-util.ads, prj.ads, s-vxwext-rtp.adb, sem_ch4.adb, sem_ch7.adb, sem_res.adb, sem_type.adb: Minor reformatting. Minor code reorganization (use Nkind_In). From-SVN: r164981
2010-10-05[multiple changes]Arnaud Charlet1-1/+12
2010-10-05 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Check_Parameterless_Call): If the prefix of 'Address is an explicit dereference of an access to function, the prefix is not interpreted as a parameterless call. 2010-10-05 Ed Schonberg <schonberg@adacore.com> * exp_attr.adb: For 'Read and 'Write, use full view of base type if private. 2010-10-05 Vincent Celier <celier@adacore.com> * make.adb (Switches_Of): Allow wild cards in index of attributes Switches. * prj-util.adb (Value_Of): When Allow_Wildcards is True, use the index of the associative array as a glob regular expression. * prj-util.ads (Value_Of (Index, In_Array)): New Boolean parameter Allow_Wildcards, defaulted to False. (Value_Of (Name, Attribute_Or_Array_Name)): Ditto * projects.texi: Document that attribute Switches (<file name>) may use wild cards in the index. 2010-10-05 Robert Dewar <dewar@adacore.com> * a-direct.adb, a-direct.ads, back_end.adb, checks.adb, einfo.adb: Minor reformatting. * debug.adb: Remove obsolete documentation for d.Z flag. From-SVN: r164978
2010-10-04[multiple changes]Arnaud Charlet1-2/+1
2010-10-04 Robert Dewar <dewar@adacore.com> * sem_ch13.adb (Set_Biased): New procedure, now used throughout, adds name of entity to biased warning msg. (Analyze_Enumeration_Representation_Clause): Remove attempt to use biased rep (wrong and never worked anyway). 2010-10-04 Arnaud Charlet <charlet@adacore.com> * sem_elab.adb: Minor reformatting. 2010-10-04 Ed Schonberg <schonberg@adacore.com> * exp_ch4.adb (Expand_N_Null): Handle properly the case of a subtype of an access_to_protected subprogram type, and convert null value into corresponding aggregate. 2010-10-04 Eric Botcazou <ebotcazou@adacore.com> * gnat_ugn.texi: Clarify first point of 7.1.5 about pragma Inline. 2010-10-04 Eric Botcazou <ebotcazou@adacore.com> * make.adb (Scan_Make_Arg): Pass -Oxxx switches to the linker as well. * gnatlink.adb (Gnatlink): Filter out -Oxxx switches for CLI, RTX and AAMP. 2010-10-04 Eric Botcazou <ebotcazou@adacore.com> * sem_ch4.adb (Analyze_Indexed_Component_Form): Remove redundant test for N_Operator_Symbol. (Indicate_Name_And_Type): Likewise. * sem_ch8.adb (Analyze_Subprogram_Renaming): Likewise. * sem_res.adb (Resolve): Likewise. * sem_type.adb (Add_One_Interp): Likewise. (Disambiguate): Likewise. 2010-10-04 Vincent Celier <celier@adacore.com> * osint.adb (Read_Library_Info_From_Full): If object timestamp is less than ALI file timestamp, return null. 2010-10-04 Vincent Celier <celier@adacore.com> * prj-makr.adb (Finalize): Invoke Pretty_Print with Max_Length set to 79 * prj-pp.adb (Pretty_Print): New parameter Max_Line_Length, that replaces global constant with the same name. When a line is too long, indent properly the next continuation line. * prj-pp.ads (Pretty_Print): New parameter Max_Line_Length with a range from 50 to 255, defaulted to 255, to indicate the maximum length of lines in the project file. 2010-10-04 Eric Botcazou <ebotcazou@adacore.com> * sem_ch7.adb (Analyze_Package_Body_Helper) <Has_Referencer>: New Check_Subprogram_Ref function and Check_Subprogram_Refs instantiation of Traverse_Func on it to look for subprogram references in a body. Call Check_Subprogram_Refs on the body of inlined subprograms at the outer level and keep clearing the Is_Public flag of subprograms as long as it returns OK. Do not look at anything else than subprograms once an inlined subprogram has been seen. From-SVN: r164940
2010-10-04[multiple changes]Arnaud Charlet1-7/+5
2010-10-04 Robert Dewar <dewar@adacore.com> * s-taprop-vxworks.adb, sem_res.adb: Minor reformatting. 2010-10-04 Javier Miranda <miranda@adacore.com> * exp_cg.adb (Write_Call_Info): Code clean up. From-SVN: r164938
2010-10-04[multiple changes]Arnaud Charlet1-7/+18
2010-10-04 Bob Duff <duff@adacore.com> * sem_res.adb (Resolve_Type_Conversion): If a type conversion is needed to make a qualified expression into a name (syntax-wise), then do not consider it redundant. 2010-10-04 Thomas Quinot <quinot@adacore.com> * sem_warn.ads: Fix typo. 2010-10-04 Javier Miranda <miranda@adacore.com> * exp_cg.adb (Is_Predefined_Dispatching_Operation): Handle suffix in TSS names. (Write_Call_Info): Add missing support for renamed primitives. 2010-10-04 Thomas Quinot <quinot@adacore.com> * exp_ch5.adb (Make_Field_Expr): New subprogram, to factor duplicated code between Make_Component_List_Assign and Make_Field_Assign. 2010-10-04 Vincent Celier <celier@adacore.com> * prj-nmsc.adb (Get_Directories): For non extending projects that declare that they have no sources, do not create a non existing object or exec directory if builder switch -p is used. 2010-10-04 Sergey Rybin <rybin@adacore.com> * gnat_ugn.texi (gnatcheck): Change the description of the report file format. 2010-10-04 Ed Falis <falis@adacore.com> * s-taprop-vxworks.adb (Is_Task_Context): Import VxWorks intContext to determine whether Set_True is called from a task or an ISR. (Set_True): test for being in a task context before trying to dereference Defer_Abort or Undefer_Abort. From-SVN: r164936
2010-10-04[multiple changes]Arnaud Charlet1-2/+2
2010-10-04 Robert Dewar <dewar@adacore.com> * sem_res.adb, sinput-l.adb: Minor reformatting. 2010-10-04 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch5.adb (Expand_N_Assignment_Statement): Do not generate a tag check when the target object is an interface since the expression of the right hand side must only cover the interface. From-SVN: r164935
2010-10-04[multiple changes]Arnaud Charlet1-19/+17
2010-10-04 Vincent Celier <celier@adacore.com> * sinput-l.adb (Load_File): Do not fail when switch -gnateG is specified and the processed file cannot be written. Just issue a warning and continue. 2010-10-04 Thomas Quinot <quinot@adacore.com> * sem_res.adb: Minor reformatting. 2010-10-04 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb (Analyze_Subprogram_Renaming): If the renamed operation is an overridden inherited operation, the desired operation is the overriding one, which is the alias of the visible one. 2010-10-04 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Find_Corresponding_Spec): Check that the wrapper body is present before deleting from the tree, when an inherited function with a controlling result that returns a null extension is overridden by a later declaration or body. 2010-10-04 Gary Dismukes <dismukes@adacore.com> * checks.adb: Update comment. From-SVN: r164933
2010-09-10[multiple changes]Arnaud Charlet1-1/+2
2010-09-10 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Build_Derived_Private_Type): Mark generated declaration of full view analyzed after analyzing the corresponding record declaration, to prevent spurious name conflicts with original declaration. 2010-09-10 Jerome Lambourg <lambourg@adacore.com> * sem_ch13.adb (Analyze_Attribute_Definition_Clause): In the VM case, just issue a warning, but continue with the normal processing. 2010-09-10 Robert Dewar <dewar@adacore.com> * exp_attr.adb, prj-nmsc.adb, sem_ch4.adb, sem_res.adb: Minor reformatting. 2010-09-10 Thomas Quinot <quinot@adacore.com> * exp_dist.adb (Build_From_Any_Call, Build_To_Any_Call, Build_TypeCode_Call): For a subtype inserted for the expansion of a generic actual type, go to the underlying type of the original actual type. 2010-09-10 Ed Schonberg <schonberg@adacore.com> * exp_ch5.adb (Expand_Assign_Array_Loop): In CodePeer mode, place a guard around the increment statement, to prevent an off-by-one-value on the last iteration. From-SVN: r164185
2010-09-10[multiple changes]Arnaud Charlet1-4/+4
2010-09-10 Vincent Celier <celier@adacore.com> * sem_aggr.adb, exp_prag.adb, sem_ch3.adb, exp_attr.adb, sem_res.adb, sem_attr.adb, sem_elab.adb, sem_ch4.adb, exp_disp.adb, exp_aggr.adb, exp_dist.adb: Change all mentions of "at run-time" to "at run time" in comments and error/warning messages. 2010-09-10 Ed Schonberg <schonberg@adacore.com> * exp_cg.adb: Handle properly bodies without specs. 2010-09-10 Emmanuel Briot <briot@adacore.com> * prj-nmsc.adb (Find_Source_Dirs): When a source directory is not present, and the user requested to either ignore this or display a warning (as opposed to an error), we still need to register the directory. From-SVN: r164184
2010-09-10[multiple changes]Arnaud Charlet1-0/+11
2010-09-10 Robert Dewar <dewar@adacore.com> * errout.adb: Remove tests of Parsing_Main_Subunit, since this test is now done in In_Extended_Main_Source_Unit. * errout.ads (Compiler_State[_Type]): Moved from Errout to Lib (Parsing_Main_Subunit): Moved from Errout to Lib and renamed as Parsing_Main_Extended_Source. * frontend.adb: Set Parsing_Main_Extended_Source True for parsing main unit. * lib-load.adb (Load_Unit): Add PMES parameter Set PMES appropriately in all calls to Load_Unit * lib-load.ads (Load_Unit): Add PMES parameter * lib.adb (In_Extended_Main_Source_Unit): When called with Compiler_State set to Parsing, test new flag Compiling_Main_Extended_Source. * lib.ads (Compiler_State[_Type]): Moved from Errout to Lib (Parsing_Main_Subunit): Moved from Errout to Lib and renamed as Parsing_Main_Extended_Source * par-load.adb (Load): Set PMES properly in call to Load_Unit 2010-09-10 Ed Schonberg <schonberg@adacore.com> * exp_cg.adb: Use proper entity to handle overloads. * sem_res.adb (Check_Parameterless_Call): An operator node without actuals cannot be a call, and must be treated as a string. From-SVN: r164182
2010-09-10[multiple changes]Arnaud Charlet1-0/+13
2010-09-10 Ed Schonberg <schonberg@adacore.com> * sprint.adb (Sprint_Node_Actual, case N_Derived_Type_Definition): Do not reset Sloc when printing keyword "new". 2010-09-10 Vincent Celier <celier@adacore.com> * gnatcmd.adb (GNATCmd): Put the command line in environment variable GNAT_DRIVER_COMMAND_LINE. 2010-09-10 Ed Schonberg <schonberg@adacore.com> * sem.adb (Do_Unit_And_Dependents): if Withed_Body is set on a context clause, process the body at once. 2010-09-10 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Resolve_Type_Conversion): Do not warn on a redundant conversion is the expression is a qualified expression used to disambiguate a function call. 2010-09-10 Vincent Celier <celier@adacore.com> * prj-nmsc.adb (Add_Source): Allow an Ada source to have the same name as a source of another project and of another language. 2010-09-10 Robert Dewar <dewar@adacore.com> * prj-util.adb: Minor reformatting. From-SVN: r164159
2010-09-10[multiple changes]Arnaud Charlet1-2/+2
2010-09-10 Eric Botcazou <ebotcazou@adacore.com> * exp_disp.adb: Minor reformatting. 2010-09-10 Arnaud Charlet <charlet@adacore.com> * sem_prag.adb (Analyze_Pragma): Ignore Inline_Always pragma in CodePeer mode. 2010-09-10 Thomas Quinot <quinot@adacore.com> * sem_res.adb: Minor reformatting. * exp_ch9.adb, rtsfind.ads, exp_ch4.adb, exp_ch3.adb: Do not hardcode magic constants for task master levels (instead, reference named numbers from System.Tasking). 2010-09-10 Eric Botcazou <ebotcazou@adacore.com> * gnatvsn.ads (Ver_Prefix): New constant string. * bindgen.adb (Gen_Output_File_Ada): Use it in lieu of hardcoded value. (Gen_Output_File_C): Likewise. * g-comver.adb (Ver_Prefix): Add cross-reference to Gnatvsn.Ver_Prefix in comment. 2010-09-10 Ed Schonberg <schonberg@adacore.com> * sem.adb (Walk_Library_Items): Do not traverse children of the main unit, to prevent spurious circularities in the walk order. (Depends_On_Main): Use elsewhere to prevent circularities when the body of an ancestor of the main unit depends on a child of the main unit. From-SVN: r164157
2010-09-09[multiple changes]Arnaud Charlet1-22/+56
2010-09-09 Robert Dewar <dewar@adacore.com> * sem_res.adb (Resolve_Type_Conversion): Catch more cases of redundant conversions. 2010-09-09 Vincent Celier <celier@adacore.com> * gnatlbr.adb: Remove redundant conversions. From-SVN: r164079
2010-09-09[multiple changes]Arnaud Charlet1-0/+45
2010-09-09 Vincent Celier <celier@adacore.com> * prj-proc.adb: Minor comment spelling error fix. * osint.ads (Env_Vars_Case_Sensitive): Use function Get_Env_Vars_Case_Sensitive, not Get_File_Names_Case_Sensitive to compute value. 2010-09-09 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Resolve_Equality_Op): Implement Ada2012 rule for resolution of conditional expressions whose dependent expressions are anonymous access types. 2010-09-09 Robert Dewar <dewar@adacore.com> * a-ststio.adb: Minor code reorganization. * s-direio.adb, prj.adb, prj-nmsc.adb, sem_type.adb: Remove redundant conversion. * types.ads: Minor reformatting. * binde.adb, vms_conv.adb, gnatls.adb, s-strxdr.adb, uintp.adb: Remove redundant conversions. * output.adb: Minor reformatting. * sem_ch8.adb (Find_Type): Test for redundant base applies to user types. * opt.ads: Add pragma Ordered for Verbosity_Level. * prj.ads: Add pragma Ordered for type Verbosity. From-SVN: r164072
2010-09-09[multiple changes]Arnaud Charlet1-21/+108
2010-09-09 Vincent Celier <celier@adacore.com> * osint.adb (Canonical_Case_File_Name): Use procedure To_Lower in System.Case_Util (Canonical_Case_Env_Var_Name): Ditto 2010-09-09 Bob Duff <duff@adacore.com> * g-pehage.adb (Allocate): Initialize the allocated elements of IT. 2010-09-09 Robert Dewar <dewar@adacore.com> * cstand.adb: Mark Boolean and Character types as Ordered * einfo.adb (Has_Pragma_Ordered): New flag * einfo.ads (Has_Pragma_Ordered): New flag * g-calend.ads: Mark Day_Name as Ordered * opt.ads: Mark Ada_Version_Type as Ordered (Warn_On_Unordered_Enumeration_Type): New flag * par-prag.adb: Add procdessing for pragma Ordered * s-ficobl.ads (Read_File_Mode): New subtype * s-fileio.adb: Use Read_File_Mode instead of explicit ranges * s-taskin.ads: Mark Entry_Call_State as ordered * sem_ch3.adb (Build_Derived_Enumeration_Type): Inherit Has_Pragma_Ordered. * sem_ch6.ads: Mark Conformance_Type as Ordered * sem_prag.adb: Implement pragma Ordered * sem_res.adb (Bad_Unordered_Enumeration_Reference): New function (Resolve_Comparison_Op): Diagnose unordered comparison (Resolve_Range): Diagnose unordered range * sem_warn.adb (Warn_On_Unordered_Enumeration_Type): New flag (from -gnatw.u/U) * snames.ads-tmpl: Add entry for pragma Ordered * style.ads (Check_Enumeration_Subrange): Removed * styleg.adb (Check_Enumeration_Subrange): Removed * styleg.ads (Check_Enumeration_Subrange): Removed * stylesw.adb: Remove handling of -gnatyE switch * stylesw.ads: (Style_Check_Enumeration_Subranges): Removed * vms_data.ads: Remove -gnatyE entries Add -gnatw.u entries * ug_words: Entries for -gnatw.u and -gnatw.U * gnat_ugn.texi: Document -gnatw.u/-gnatw.U switches * gnat_rm.texi: Document pragma Ordered. * s-tasren.adb: Avoid unnecessary comparison on unordered enumeration. * s-tpobop.adb: Remove comparison on unordered enumeration type. From-SVN: r164070
2010-09-09sem_ch13.adb, [...]: Minor reformatting.Robert Dewar1-1/+1
2010-09-09 Robert Dewar <dewar@adacore.com> * sem_ch13.adb, sem_ch6.adb, exp_ch3.adb: Minor reformatting. 2010-09-09 Robert Dewar <dewar@adacore.com> * einfo.adb (Is_Aggregate_Type): New function. * einfo.ads (Aggregate_Kind): New enumeration subtype (Is_Aggregate_Type): New function. * sem_type.adb (Is_Array_Class_Record_Type): Removed, replaced by Is_Aggregate_Typea. 2010-09-09 Robert Dewar <dewar@adacore.com> * exp_ch11.adb, frontend.adb, sem_attr.adb, sem_ch10.adb, sem_ch3.adb, sem_ch4.adb, sem_ch9.adb, sem_res.adb: Use Restriction_Check_Needed where appropriate. * restrict.ads, restrict.adb: Ditto. (Restriction_Check_Needed): New function From-SVN: r164061
2010-09-09[multiple changes]Arnaud Charlet1-0/+4
2010-09-09 Robert Dewar <dewar@adacore.com> * a-calfor.adb, sem_ch3.adb: Minor reformatting. 2010-09-09 Robert Dewar <dewar@adacore.com> * bindgen.adb (Gen_Restrictions_Ada): Avoid explicit enumeration ranges (Gen_Restrictions_C): Avoid explicit enumeration ranges (Set_String_Replace): New procedure * casing.ads (Known_Casing): New subtype declaration * prj-attr.ads (All_Case_Insensitive_Associative_Array): New subtype declaration * prj-dect.adb (Parse_Attribute_Declaration): Avoid enumeration range * prj-nmsc.adb (Check_Naming): Avoid unnecessary enumeration range * prj-strt.adb (Attribute_Reference): Avoid enumeration range test * prj.adb (Known_Casing): Moved to Casing spec (avoid enum range) * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Avoid enumeration ranges * sem_res.adb (Resolve_Range): Check for enumeration subrange style rule * sem_type.adb (Is_Array_Class_Record_Type): New. * style.ads (Check_Enumeration_Subrange): New procedure * styleg.adb (Check_Enumeration_Subrange): New procedure * styleg.ads (Check_Enumeration_Subrange): New procedure * stylesw.adb Add handling for Style_Check_Enumeration_Subranges * stylesw.ads (Style_Check_Enumeration_Subranges): New flag * usage.adb: Add line for -gnatyE * vms_data.ads: Add entries for [NO]ENUMERATION_RANGES Add missing entry for NOBOOLEAN_OPERATORS * gnat_ugn.texi: Add documentation for -gnatyE 2010-09-09 Robert Dewar <dewar@adacore.com> * namet.adb (Initialize): Is now a dummy procedure (Reinitialize): New procedure Call Reinitialize from package initialization * namet.ads (Initialize): Is now a dummy procedure (Reinitialize): New procedure * clean.adb, gnat1drv.adb, gnatbind.adb, gnatcmd.adb, gnatlink.adb, gnatls.adb, gprep.adb, make.adb, prj-makr.adb: Remove obsolete call to Namet.Initialize. 2010-09-09 Bob Duff <duff@adacore.com> * sem_elab.adb, s-os_lib.ads: Minor comment fixes. 2010-09-09 Robert Dewar <dewar@adacore.com> * s-bitops.adb (Raise_Error): Add exception message From-SVN: r164058
2010-08-10a-chahan.ads: Add comments on handling of obsolescent entries.Robert Dewar1-1/+5
2010-08-10 Robert Dewar <dewar@adacore.com> * a-chahan.ads: Add comments on handling of obsolescent entries. * opt.ads: Add Ada_2005 and Ada_2012 renamings for versions. * restrict.adb (Check_Obsolescent_2005_Entity): New procedure. * restrict.ads (Check_Obsolescent_2005_Entity): New procedure. * sem_attr.adb (Analyze_Access_Attribute): Call Check_Obsolescent_2005_Entity to check for access to obsolescent Ada.Characters.Handling subprogram. (Analyze_Attribute, case Class): Applying Class to untagged incomplete type is obsolescent in Ada 2005. (Analyze_Attribute, case Constrained): Better placement of flag when flagged as obsolescent feature. (Analyze_Attribute, case Storage_Size): Use with tasks is obsolescent * sem_ch10.adb (Analyze_With_Clause): With of renamings such as Text_IO is an obsolescent feature. * sem_ch11.adb (Analyze_Raise_Statement): Numeric_Error is obsolescent feature. * sem_ch8.adb (Analyze_Subprogram_Renaming): Call Check_Obsolescent_2005_Entity to check for renaming obsolete Ada.Characters.Handling subprogram. * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): Check for obsolescent restrictions in Ada 2005. (Analyze_Pragma, case Suppress): Entity arg is obsolescent in Ada 2005 (Analyze_Pragma, case Interface): Interface is obsolescent in Ada 2005 * sem_res.adb (Resolve_Call): Call Check_Obsolescent_2005_Entity to check for obsolescent references to Ada.Characters.Handling subprograms 2010-08-10 Robert Dewar <dewar@adacore.com> * einfo.adb, einfo.ads: Fix bad -gnatdt output for incomplete type. 2010-08-10 Robert Dewar <dewar@adacore.com> * errout.ads: Add VMS table entries for 2005, 12, 2012 switches * par-ch4.adb: Change wording of Ada 2012 messages * vms_data.ads: Add VMS entries for /2005, /12, /2012 From-SVN: r163063
2010-06-23[multiple changes]Arnaud Charlet1-2/+4
2010-06-23 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Check_Constant_Address_Clauses): Do not check legality of address clauses if if Ignore_Rep_Clauses is active. * freeze.adb (Check_Address_Clause): If Ignore_Rep_Clauses is active, remove address clause from tree so that it does not reach the backend. 2010-06-23 Arnaud Charlet <charlet@adacore.com> * exp_attr.adb (Expand_N_Attribute_Reference [Attribute_Valid]): Do not expand 'Valid from user code in CodePeer mode, will be handled by the back-end directly. 2010-06-23 Bob Duff <duff@adacore.com> * g-comlin.ads: Minor comment improvements. 2010-06-23 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Uses_SS): The expression that initializes a controlled component of a record type may be a user-defined operator that is rewritten as a function call. From-SVN: r161271