- 11 Jan, 2018 1 commit
-
-
2018-01-11 Arnaud Charlet <charlet@adacore.com> gcc/ada/ Bump copyright notices to 2018. From-SVN: r256519
Arnaud Charlet committed
-
- 06 Sep, 2017 1 commit
-
-
2017-09-06 Yannick Moy <moy@adacore.com> * treepr.adb (Print_Entity_Info): Do not print empty Elist. 2017-09-06 Yannick Moy <moy@adacore.com> * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Do not consider calls to subprograms in other units as possibly inlined. 2017-09-06 Ed Schonberg <schonberg@adacore.com> * freeze.adb (Freeze_Entity): For a derived type that has no explicit delayed aspects but may inherit delayed aspects from its parent type, analyze aspect at freeze point for proper capture of an inherited aspect. 2017-09-06 Arnaud Charlet <charlet@adacore.com> * lib-xref.adb (Get_Through_Renamings): Get through subprogram renamings; also, avoid repeated calls to Renamed_Object when getting through object renamings. 2017-09-06 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Array_Type_Declaration): Handle properly an array type declaration in a private part, when an index is a subtype indication of a discrete type with a private partial view. 2017-09-06 Javier Miranda <miranda@adacore.com> * exp_ch4.adb (Expand_Modular_Op): Force generating temporary to improve the generated code. 2017-09-06 Tristan Gingold <gingold@adacore.com> * s-fatgen.adb: Minor typo fix in comment. 2017-09-06 Ed Schonberg <schonberg@adacore.com> * exp_ch5.adb (Make_Field_Assign): If the type of the right-hand side has stored constraint, use its values (except for those that are renamings of parent discriminants) to produce additional assignments for the discriminants of the left-hand side, which are invisible in the righ-hand side and not retrievable as selected components. 2017-09-06 Ed Schonberg <schonberg@adacore.com> * sem_util.adb (Needs_One_Formal): The first formal of such a function must be a controlling formal, so that Obj.F (X, Y) can have the interpretation F(Obj)(X, Y). * sem_util.ads: Clarify documentation. 2017-09-06 Eric Botcazou <ebotcazou@adacore.com> * table.ads, table.adb: Restore original implementation. * namet.h (Names_Ptr): Adjust back. (Name_Chars_Ptr): Likewise. * uintp.h (Uints_Ptr): Likewise. (Udigits_Ptr): Likewise. * g-table.ads: Remove pragma Compiler_Unit_Warning. * par_sco.adb: Do not with GNAT.Table and use Table consistently. * scos.ads: Replace GNAT.Table with Table and adjust instantiations. * spark_xrefs.ads: Likewise. * scos.h: Undo latest changes. 2017-09-06 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Analyze_Subprogram_Instantiation): Propagate No_Return flag to instance if pragma applies to generic unit. This must be done explicitly because the pragma does not appear directly in the generic declaration (unlike the corresponding aspect specification). From-SVN: r251765
Arnaud Charlet committed
-
- 13 Jan, 2017 1 commit
-
-
sem_aggr.adb, [...]: Update all eligible case statements to reflect the new style for case alternatives. 2017-01-13 Hristian Kirtchev <kirtchev@adacore.com> * sem_aggr.adb, par_sco.adb, s-osprim-mingw.adb, exp_ch5.adb, exp_prag.adb, sem_ch3.adb, xr_tabls.adb, lib-xref-spark_specific.adb, layout.adb, sem_dist.adb, exp_spark.adb, exp_ch7.adb, gnatcmd.adb, exp_util.adb, prj-proc.adb, sem_aux.adb, comperr.adb, g-memdum.adb, exp_attr.adb, s-intman-solaris.adb, exp_ch9.adb, make.adb, live.adb, g-sercom-linux.adb, sem_dim.adb, mlib-prj.adb, s-intman-posix.adb, sem_ch9.adb, sem_ch10.adb, prep.adb, einfo.adb, scng.adb, checks.adb, prj-strt.adb, sem_prag.adb, eval_fat.adb, sem_ch12.adb, sem.adb, a-numaux-x86.adb, a-stwifi.adb, i-cobol.adb, prj.adb, get_spark_xrefs.adb, s-tasini.adb, rtsfind.adb, freeze.adb, g-arrspl.adb, par-ch4.adb, sem_util.adb, sem_res.adb, expander.adb, sem_attr.adb, exp_dbug.adb, prj-pp.adb, a-stzfix.adb, s-interr.adb, s-wchcnv.adb, switch-m.adb, gnat1drv.adb, sinput-l.adb, stylesw.adb, contracts.adb, s-intman-android.adb, g-expect.adb, exp_ch4.adb, g-comlin.adb, errout.adb, sinput.adb, s-exctra.adb, repinfo.adb, g-spipat.adb, g-debpoo.adb, exp_ch6.adb, sem_ch4.adb, exp_ch13.adb, a-wtedit.adb, validsw.adb, pprint.adb, widechar.adb, makeutl.adb, ali.adb, set_targ.adb, sem_mech.adb, sem_ch6.adb, gnatdll.adb, get_scos.adb, g-pehage.adb, s-tratas-default.adb, gnatbind.adb, prj-dect.adb, g-socthi-mingw.adb, par-prag.adb, prj-nmsc.adb, exp_disp.adb, par-ch12.adb, binde.adb, sem_ch8.adb, s-tfsetr-default.adb, s-regexp.adb, gprep.adb, s-tpobop.adb, a-teioed.adb, sem_warn.adb, sem_eval.adb, g-awk.adb, s-io.adb, a-ztedit.adb, xoscons.adb, exp_intr.adb, sem_cat.adb, sprint.adb, g-socket.adb, exp_dist.adb, sem_ch13.adb, s-tfsetr-vxworks.adb, par-ch3.adb, treepr.adb, g-forstr.adb, g-catiio.adb, par-ch5.adb, uname.adb, osint.adb, exp_ch3.adb, prj-env.adb, a-strfix.adb, a-stzsup.adb, prj-tree.adb, s-fileio.adb: Update all eligible case statements to reflect the new style for case alternatives. Various code clean up and reformatting. From-SVN: r244406
Hristian Kirtchev committed
-
- 04 Jul, 2016 1 commit
-
-
sem_eval.adb (Decompose_Expr): Set 'out' parameters Kind and Cons to valid values, to avoid use of uninit vars. 2016-07-04 Bob Duff <duff@adacore.com> * sem_eval.adb (Decompose_Expr): Set 'out' parameters Kind and Cons to valid values, to avoid use of uninit vars. (Extract_Length): Reorder the check to make it clearer that we're depending on BOTH Ent1 and Ent2 to be Present. * sem_aggr.adb (Resolve_Aggregate): Remove dead code. (Check_Misspelled_Component): Remove exit statement, because it's covered by the 'while' condition. * checks.adb (Apply_Selected_Range_Checks): Remove useless condition "or else not Checks_On". (Selected_Range_Checks): Initialize Known_LB and Known_HB to False, because they are tested unconditionally; avoid use of uninit vars. * frontend.adb (Frontend): Removed useless condition "Operating_Mode = Check_Semantics and then", and added an Assert to clarify why it was useless. * prep.adb (Preprocess): Remove redundant condition. Add an assertion. * sem_ch10.adb (Analyze_Proper_Body): Moved redundant condition "Original_Operating_Mode = Generate_Code" to an Assert. (Process_Spec_Clauses, Process_Body_Clauses): Change parameters from 'in out' to 'out', and don't initialize actuals. * sem_ch12.adb (Is_In_Main_Unit): Removed useless condition "Unum = Main_Unit or else". (Save_Global_Descendant): Moved redundant condition "D = Union_Id (No_List)" to an Assert. * sem_ch4.adb (Check_Misspelled_Selector): Remove exit statement, because it's covered by the 'while' condition. (Analyze_Case_Expression): Initialize Wrong_Alt to Empty, because it looks like it is used uninitialized otherwise. * sem_ch6.adb (Check_Return_Subtype_Indication): Moved redundant condition "not R_Type_Is_Anon_Access" to an Assert. * sem_elim.adb (Line_Num_Match): Moved redundant condition "Sloc_Trace (Idx) = '['" to an Assert. * sem_util.adb (Compile_Time_Constraint_Error): Change "J" to "J - 1". This code is trying to replace "?" with "<", but not if the "?" is quoted, as in "'?", so we want to check the PREVIOUS character for '''. * snames.adb-tmpl (Is_Pragma_Name): Remove useless condition "or else N = Name_Relative_Deadline". It's useless because Name_Relative_Deadline is in the range First_Pragma_Name .. Last_Pragma_Name. * treepr.adb (Visit_Node): Moved redundant condition "D = Union_Id (No_List)" to an Assert. * sem_ch3.adb (Derive_Subprogram, Derive_Subprograms): Change parameters from 'in out' to 'out'. * errout.adb (Error_Msg_Internal): Replace redundant test with Assert. * inline.adb (Add_Inlined_Body): Code cleanup. From-SVN: r237972
Bob Duff committed
-
- 18 Apr, 2016 1 commit
-
-
2016-04-18 Arnaud Charlet <charlet@adacore.com> * sem_prag.adb (Process_Convention): Relax rule on exporting Intrinsic types if Relaxed_RM_Semantics is True. 2016-04-18 Vincent Celier <celier@adacore.com> * sem_ch3.adb, lib.ads, sinfo.ads, sem_ch10.adb, einfo.adb, einfo.ads, checks.ads, sem_ch12.adb, sem.adb, sem_util.adb, sem_util.ads, sem_res.adb, sem_attr.adb, par.adb, exp_ch4.adb, errout.ads, sem_ch4.adb, atree.adb, atree.ads, sem_warn.adb, treepr.adb, exp_ch3.ads, exp_unst.adb: Change "descendent" to "descendant" in comments, error messages and identifiers. 2016-04-18 Eric Botcazou <ebotcazou@adacore.com> * sem_type.adb (Operator_Matches_Spec): Call First_Formal on New_S only once at the beginning of the function. From-SVN: r235100
Arnaud Charlet committed
-
- 26 Oct, 2015 1 commit
-
-
2015-10-26 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Find_Corresponding_Spec): Reject a subprogram body whose signature is type conformant with a previous expression function. 2015-10-26 Bob Duff <duff@adacore.com> * treepr.adb: Code clean up. From-SVN: r229326
Arnaud Charlet committed
-
- 26 May, 2015 1 commit
-
-
2015-05-26 Robert Dewar <dewar@adacore.com> * exp_prag.adb, sem_ch3.adb, sem_ch5.adb, exp_ch11.adb, ghost.adb, exp_ch6.adb, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb, sem_ch13.adb, exp_ch3.adb: Minor reformatting. 2015-05-26 Bob Duff <duff@adacore.com> * treepr.adb: Minor improvement to debugging routines (pp, pn) robustness. Rearrange the code so passing a nonexistent Node_Id prints "No such node" rather than crashing, and causing gdb to generate confusing messages. 2015-05-26 Gary Dismukes <dismukes@adacore.com> * sem_util.adb: Minor typo fix. 2015-05-26 Yannick Moy <moy@adacore.com> * sem_aux.adb (Subprogram_Body_Entity): Deal with subprogram stubs. From-SVN: r223685
Arnaud Charlet committed
-
- 22 May, 2015 2 commits
-
-
2015-05-22 Robert Dewar <dewar@adacore.com> * atree.adb, atree.ads, treepr.adb: Change name Needs_Actuals_Check to Check_Actuals. * exp_ch4.adb (Expand_N_Op_Expon): Optimize 2**x in modular and overflow cases. From-SVN: r223538
Robert Dewar committed -
2015-05-22 Eric Botcazou <ebotcazou@adacore.com> * exp_pakd.adb (Install_PAT): Propagate representation aspects from the original array type to the PAT. 2015-05-22 Robert Dewar <dewar@adacore.com> * treepr.adb (Print_Node_Header): Add output of Needs_Actuals_Check. From-SVN: r223537
Arnaud Charlet committed
-
- 12 May, 2015 1 commit
-
-
2015-05-12 Hristian Kirtchev <kirtchev@adacore.com> * einfo.adb Node32 is now used as Encapsulating_State. Node37 is now used as Associated_Entity. (Associated_Entity): New routine. (Encapsulating_State): Update the assertion guard to include constants. (Set_Associated_Entity): New routine. (Set_Encapsulating_State): Update the assertion guard to include constants. (Write_Field10_Name): Remove the output for Encapsulating_State. (Write_Field32_Name): Add output for Encapsulating_State. (Write_Field37_Name): Add output for Associated_Entity. * einfo.ads New attribute Associated_Entity along with placement in entities. Attribute Encapsulating_State now uses Node32. (Associated_Entity): New routine along with pragma Inline. (Set_Associated_Entity): New routine along with pragma Inline. * inline.ads Code reformatting. * sem_attr.adb (Analyze_Attribute): Correct the prefix of attribute 'Result when the context is a generic instantiation. (Analyze_Attribute_Old_Result): Pragmas Depends and Refined_Depends are a valid context for attribute 'Result. (Denote_Same_Function): Allow attribute 'Result to denote generic functions. * sem_ch3.adb Add with and use clauses for Sem_Ch12. (Analyze_Declarations): Capture global references within the contracts of packages, subprograms and their respective bodies. * sem_ch6.adb (Analyze_Aspects_On_Body_Or_Stub): Removed. (Analyze_Completion_Contract): Removed. (Analyze_Generic_Subprogram_Body): Enchange the aspects after creating the generic copy. Create a generic contract for the template. Analyze the aspects of the generic body. Analyze the contract of the generic body when it is a compilation unit and capture global references. (Analyze_Subprogram_Body_Contract): Code cleanup. (Analyze_Subprogram_Contract): Do not save global references here. (Save_Global_References_In_List): Removed. * sem_ch7.adb (Analyze_Package_Body_Contract): Code cleanup. (Analyze_Package_Body_Helper): Create a generic contract for the template. (Analyze_Package_Contract): Code cleanup. * sem_ch10.adb Add with and use clauses for Sem_Ch12. (Analyze_Compilation_Unit): Capture global references in a generic subprogram declaration that acts as a compilation unit. * sem_ch12.adb Add with and use clauses for Sem_Prag. Illustrate the implementation of generic contracts. Alphabetize various subprograms. (Analyze_Generic_Package_Declaration): Create a generic contract for the template. (Analyze_Generic_Subprogram_Declaration): Create a generic contract for the template. (Analyze_Subprogram_Instantiation): Instantiate the contract of the subprogram. (Copy_Generic_Node): Link defining entities of the generic template with the corresponding defining entities of the generic copy. Update the processing of pragmas. (Instantiate_Contract): Removed. (Instantiate_Subprogram_Contract): New routine. (Requires_Delayed_Save): New routine. (Save_Global_References): Rename formal parameter N to Templ. Various cleanups. (Save_Global_References_In_Aspects): Moved from the spec. (Save_Global_References_In_Contract): New routine. (Save_References_In_Aggregate): New routine. (Save_References_In_Char_Lit_Or_Op_Symbol): New routine. (Save_References_In_Descendants): New routine. (Save_References_In_Identifier): New routine. (Save_References_In_Operator): New routine. (Save_References_In_Pragma): New routine. * sem_ch12.ads (Save_Global_References): Rename formal parameter N to Templ. Update the comment on usage. (Save_Global_References_In_Aspects): Moved to the body. (Save_Global_References_In_Contract): New routine. * sem_ch13.adb (Analyze_Aspect_Specifications_On_Body_Or_Stub): New routine. * sem_ch13.ads (Analyze_Aspect_Specifications_On_Body_Or_Stub): New routine. * sem_prag.adb (Add_Item_To_Name_Buffer): Add support for generic parameters. (Analyze_Contract_Cases_In_Decl_Part): Code cleanup. (Analyze_Depends_Global): New routine. (Analyze_Depends_In_Decl_Part): Code cleanup. (Analyze_Global_In_Decl_Part): Code cleanup. (Analyze_Global_Item): Constants are now valid global items. Do not perform state-related checks in an instance. Change the way renamings are handled. (Analyze_Initial_Condition_In_Decl_Part): Code cleanup. (Analyze_Initializes_In_Decl_Part): Code cleanup. (Analyze_Input_Output): The analysis of attribute 'Result in the context of pragmas Depends or Refined_Depends now reuses the existing attribute analysis machinery. Constants and generic parameters are now valid dependency items. Do not perform state-related checks in an instance. Change the way renamings are handled. (Analyze_Pragma): Add a "characteristics" section for pragmas Abstract_State, Contract_Cases, Depends, Extensions_Visible, Global, Initial_Condition, Initializes, Post, Post_Class, Postcondition, Pre, Pre_Class, Precondition, Refined_Depends, Refined_Global, Refined_Post, Refined_State, Test_Case. (Analyze_Pre_Post_Condition): Do not create a generic template here. (Analyze_Pre_Post_Condition_In_Decl_Part): Code cleanup. (Analyze_Refined_Depends_Global_Post): New routine. (Analyze_Refined_Depends_In_Decl_Part): Code cleanup. (Analyze_Refined_Global_In_Decl_Part): Code cleanup. (Analyze_Refined_Pragma): Removed. (Analyze_Refined_State_In_Decl_Part): Code cleanup. (Analyze_Test_Case_In_Decl_Part): Code cleanup. (Check_Dependency_Clause): Do not perform this check in an instance. (Check_Function_Return): Add support for generic functions. (Check_In_Out_States): Do not perform this check in an instance. (Check_Input_States): Do not perform this check in an instance. (Check_Mode_Restriction_In_Function): Add support for generic functions. (Check_Output_States): Do not perform this check in an instance. (Check_Postcondition_Use_In_Inlined_Subprogram): Rename parameter Subp_Id to Spec_Id and update comment on usage. (Check_Proof_In_States): Do not perform this check in an instance. (Check_Refined_Global_Item): Add support for constants. (Check_Refined_Global_List): Do not perform this check in an instance. (Collect_Global_Items): Reimplemented. (Collect_Subprogram_Inputs_Outputs): Add support for generic parameters. (Create_Generic_Template): Removed. (Find_Related_Package_Or_Body): Moved to spec. (Find_Role): Add support for generic parameters and constants. (Get_Argument): Moved to spec. Rename parameter Spec_Id to Context_Id. (Match_Item): Add support for constants. (Preanalyze_Test_Case_Arg): Reimplemented. (Report_Extra_Clauses): Do not perform this check in an instance. (Report_Extra_Constituents): Do not perform this check in an instance. * sem_prag.ads (Collect_Subprogram_Inputs_Outputs): Update the comment on usage. (Find_Related_Package_Or_Body): Moved from body. (Get_Argument): Moved from body. * sem_util.adb Add with and use clauses for Sem_Ch12. (Corresponding_Spec_Of): Add support for packages and package bodies. (Create_Generic_Contract): New routine. (Is_Contract_Annotation): Reimplemented. (Is_Generic_Declaration_Or_Body): New routine. (Is_Package_Contract_Annotation): New routine. (Is_Subprogram_Contract_Annotation): New routine. * sem_util.ads (Corresponding_Spec_Of): Update the comment on usage. (Create_Generic_Contract): New routine. (Is_Generic_Declaration_Or_Body): New routine. (Is_Package_Contract_Annotation): New routine. (Is_Subprogram_Contract_Annotation): New routine. * sinfo.adb (Is_Generic_Contract_Pragma): New routine. (Set_Is_Generic_Contract_Pragma): New routine. * sinfo.ads Add new attribute Is_Generic_Contract_Pragma along with occurrences in nodes. (Is_Generic_Contract_Pragma): New routine along with pragma Inline. (Set_Is_Generic_Contract_Pragma): New routine along with pragma Inline. * treepr.adb (Print_Entity_Info): Output fields 36 to 41. 2015-05-12 Robert Dewar <dewar@adacore.com> * a-taster.ads: Minor comment fix: fix bad header, this is a pure RM unit. From-SVN: r223064
Arnaud Charlet committed
-
- 07 Jan, 2015 1 commit
-
-
* alloc.ads Alphabetize several declarations. Add constants Ignored_Ghost_Units_Initial and Ignored_Ghost_Units_Increment. * atree.adb Add with and use clauses for Opt. (Allocate_Initialize_Node): Mark a node as ignored Ghost if it is created in an ignored Ghost region. (Ekind_In): New variant. (Is_Ignored_Ghost_Node): New routine. (Set_Is_Ignored_Ghost_Node): New routine. * atree.adb Aplhabetize several subprograms declarations. Flag Spare0 is now known as Is_Ignored_Ghost_Node. (Ekind_In): New variant. (Is_Ignored_Ghost_Node): New routine. (Set_Is_Ignored_Ghost_Node): New routine. * einfo.adb: Flag 279 is now known as Contains_Ignored_Ghost_Code. (Contains_Ignored_Ghost_Code): New routine. (Set_Contains_Ignored_Ghost_Code): New routine. (Set_Is_Checked_Ghost_Entity, Set_Is_Ignored_Ghost_Entity): It is now possible to set this property on an unanalyzed entity. (Write_Entity_Flags): Output the status of flag Contains_Ignored_Ghost_Code. * einfo.ads New attribute Contains_Ignored_Ghost_Code along with usage in nodes. (Contains_Ignored_Ghost_Code): New routine along with pragma Inline. (Set_Contains_Ignored_Ghost_Code): New routine along with pragma Inline. * exp_ch3.adb Add with and use clauses for Ghost. (Freeze_Type): Capture/restore the value of Ghost_Mode on entry/exit. Set the Ghost_Mode in effect. (Restore_Globals): New routine. * exp_ch7.adb (Process_Declarations): Do not process a context that invoves an ignored Ghost entity. * exp_dbug.adb (Qualify_All_Entity_Names): Skip an ignored Ghost construct that has been rewritten as a null statement. * exp_disp.adb Add with and use clauses for Ghost. (Make_DT): Capture/restore the value of Ghost_Mode on entry/exit. Set the Ghost_Mode in effect. (Restore_Globals): New routine. * exp_util.adb (Requires_Cleanup_Actions): An ignored Ghost entity does not require any clean up. Add two missing cases that deal with block statements. * freeze.adb Add with and use clauses for Ghost. (Freeze_Entity): Capture/restore the value of Ghost_Mode on entry/exit. Set the Ghost_Mode in effect. (Restore_Globals): New routine. * frontend.adb Add with and use clauses for Ghost. Remove any ignored Ghost code from all units that qualify. * ghost.adb New unit. * ghost.ads New unit. * gnat1drv.adb Add with clause for Ghost. Initialize and lock the table in package Ghost. * lib.ads: Alphabetize several subprogram declarations. * lib-xref.adb (Output_References): Do not generate reference information for ignored Ghost entities. * opt.ads Add new type Ghost_Mode_Type and new global variable Ghost_Mode. * rtsfind.adb (Load_RTU): Provide a clean environment when loading a runtime unit. * sem.adb (Analyze): Capture/restore the value of Ghost_Mode on entry/exit as the node may set a different mode. (Do_Analyze): Capture/restore the value of Ghost_Mode on entry/exit as the unit may be withed from a unit with a different Ghost mode. * sem_ch3.adb Add with and use clauses for Ghost. (Analyze_Full_Type_Declaration, Analyze_Incomplete_Type_Decl, Analyze_Number_Declaration, Analyze_Private_Extension_Declaration, Analyze_Subtype_Declaration): Set the Ghost_Mode in effect. Mark the entity as Ghost when there is a Ghost_Mode in effect. (Array_Type_Declaration): The implicit base type inherits the "ghostness" from the array type. (Derive_Subprogram): The alias inherits the "ghostness" from the parent subprogram. (Make_Implicit_Base): The implicit base type inherits the "ghostness" from the parent type. * sem_ch5.adb Add with and use clauses for Ghost. (Analyze_Assignment): Set the Ghost_Mode in effect. * sem_ch6.adb Add with and use clauses for Ghost. (Analyze_Abstract_Subprogram_Declaration, Analyze_Procedure_Call, Analyze_Subprogram_Body_Helper, Analyze_Subprogram_Declaration): Set the Ghost_Mode in effect. Mark the entity as Ghost when there is a Ghost_Mode in effect. * sem_ch7.adb Add with and use clauses for Ghost. (Analyze_Package_Body_Helper, Analyze_Package_Declaration, Analyze_Private_Type_Declaration): Set the Ghost_Mode in effect. Mark the entity as Ghost when there is a Ghost_Mode in effect. * sem_ch8.adb Add with and use clauses for Ghost. (Analyze_Exception_Renaming, Analyze_Generic_Renaming, Analyze_Object_Renaming, Analyze_Package_Renaming, Analyze_Subprogram_Renaming): Set the Ghost_Mode in effect. Mark the entity as Ghost when there is a Ghost_Mode in effect. (Find_Type): Check the Ghost context of a type. * sem_ch11.adb Add with and use clauses for Ghost. (Analyze_Exception_Declaration): Set the Ghost_Mode in effect. Mark the entity as Ghost when there is a Ghost_Mode in effect. * sem_ch12.adb Add with and use clauses for Ghost. (Analyze_Generic_Package_Declaration, Analyze_Generic_Subprogram_Declaration): Set the Ghost_Mode in effect. Mark the entity as Ghost when there is a Ghost_Mode in effect. * sem_prag.adb Add with and use clauses for Ghost. (Analyze_Pragma): Ghost-related checks are triggered when there is a Ghost mode in effect. (Create_Abstract_State): Mark the entity as Ghost when there is a Ghost_Mode in effect. * sem_res.adb Add with and use clauses for Ghost. (Check_Ghost_Context): Removed. * sem_util.adb (Check_Ghost_Completion): Removed. (Check_Ghost_Derivation): Removed. (Incomplete_Or_Partial_View): Add a guard in case the entity has not been analyzed yet and does carry a scope. (Is_Declaration): New routine. (Is_Ghost_Entity): Removed. (Is_Ghost_Statement_Or_Pragma): Removed. (Is_Subject_To_Ghost): Removed. (Set_Is_Ghost_Entity): Removed. (Within_Ghost_Scope): Removed. * sem_util.adb (Check_Ghost_Completion): Removed. (Check_Ghost_Derivation): Removed. (Is_Declaration): New routine. (Is_Ghost_Entity): Removed. (Is_Ghost_Statement_Or_Pragma): Removed. (Is_Subject_To_Ghost): Removed. (Set_Is_Ghost_Entity): Removed. (Within_Ghost_Scope): Removed. * sinfo.ads Add a section on Ghost mode. * treepr.adb (Print_Header_Flag): New routine. (Print_Node_Header): Factor out code. Output flag Is_Ignored_Ghost_Node. * gcc-interface/Make-lang.in: Add dependency for unit Ghost. From-SVN: r219280
Hristian Kirtchev committed
-
- 01 Aug, 2014 1 commit
-
-
2014-08-01 Vincent Celier <celier@adacore.com> * make.adb (Await_Compile): Remove loop that was only needed for VMS. 2014-08-01 Robert Dewar <dewar@adacore.com> * a-calcon.ads, a-direct.adb, a-dirval-mingw.adb, a-dirval.adb, a-dirval.ads, a-except-2005.adb, a-excpol-abort.adb, a-numaux-darwin.ads, a-numaux.ads, bindgen.adb, bindusg.adb, einfo.adb, einfo.ads, err_vars.ads, errout.ads, errutil.adb, exp_ch3.adb, exp_ch4.adb, exp_ch7.adb, exp_ch7.ads, fname-uf.adb, fname.adb, fname.ads, freeze.adb, g-debpoo.adb, g-dirope.ads, g-excact.ads, g-expect.ads, g-socket.adb, g-socket.ads, g-sothco.ads, g-traceb.ads, gnat_rm.texi, gnatlink.adb, gnatls.adb, i-cstrea.adb, krunch.adb, krunch.ads, layout.adb, lib-util.adb, make.adb, mlib.adb, osint-b.adb, osint-b.ads, osint-c.adb, osint.adb, osint.ads, output.ads, par.adb, prj-conf.adb, prj-env.adb, prj-makr.adb, prj-nmsc.adb, prj.adb, prj.ads, repinfo.adb, rtsfind.adb, rtsfind.ads, s-excmac-gcc.ads, s-fatgen.adb, s-mastop.ads, s-parame-ae653.ads, s-parame-hpux.ads, s-parame-vxworks.ads, s-parame.ads, s-soflin.ads, s-stoele.adb, s-tasini.adb, s-taspri-dummy.ads, s-taspri-hpux-dce.ads, s-taspri-mingw.ads, s-taspri-posix-noaltstack.ads, s-taspri-posix.ads, s-taspri-solaris.ads, s-taspri-vxworks.ads, s-trasym.ads, sem_ch12.adb, sem_ch4.adb, sem_eval.adb, sem_intr.adb, sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_res.adb, sem_util.adb, sem_util.ads, sinfo.adb, sinfo.ads, sinput-c.adb, symbols.ads, targparm.adb, treepr.adb, types.ads, xr_tabls.adb, xr_tabls.ads: Remove VMS specific code and comments. 2014-08-01 Ed Schonberg <schonberg@adacore.com> * sem_ch5.adb (Analyze_Iterator_Specification): New procedure Check_Reverse_Iteration, to verify the legality of the Reverse indicator on various container types, and to detect illegal reverse iterations on containers that only supoort forward iteration. From-SVN: r213431
Arnaud Charlet committed
-
- 30 Jul, 2014 2 commits
-
-
2014-07-30 Bob Duff <duff@adacore.com> * exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call): New parameter Chain to be used in the allocator case. (Make_Build_In_Place_Call_In_Allocator): If the allocated object has tasks, wrap the code in a block that will activate them, including the usual finalization code to kill them off in case of exception or abort. 2014-07-30 Robert Dewar <dewar@adacore.com> * treepr.adb, treepr.ads; Reorganize documentation for new pp routines Remove renamings (don't work for gdb). (par): New synonym for p (avoid gdb ambiguities). * inline.adb, sem_ch6.adb, sem_ch13.adb: Minor reformatting. From-SVN: r213249
Arnaud Charlet committed -
2014-07-30 Bob Duff <duff@adacore.com> * exp_ch9.ads, sem_prag.adb, exp_ch4.adb, sem_ch13.adb: Minor comment fixes. * treepr.ads, treepr.adb (ppp): Make this debugging routine accept any type covered by Union_Id. From-SVN: r213248
Bob Duff committed
-
- 17 Jul, 2014 1 commit
-
-
2014-07-17 Robert Dewar <dewar@adacore.com> * sem_ch3.adb, a-ztexio.ads, exp_imgv.adb, casing.adb, casing.ads, einfo.ads, checks.adb, sem_ch12.adb, a-textio.ads, freeze.adb, repinfo.adb, exp_ch6.adb, sem_ch4.adb, a-witeio.ads, sem_ch8.adb, sem_warn.adb, exp_aggr.adb, exp_dist.adb, par-tchk.adb, s-fatgen.adb, treepr.adb, lib-xref.adb: Remove the word kludge from ada sources. From-SVN: r212726
Robert Dewar committed
-
- 25 Feb, 2014 1 commit
-
-
2014-02-25 Robert Dewar <dewar@adacore.com> * einfo.ads, einfo.adb (Has_Shift_Operator): New flag. * gnat_rm.texi: Document pragma Provide_Shift_Operators. * interfac.ads: Minor code reorganization (add pragma Compiler_Unit_Warning). * par-prag.adb: Add dummy entry for Provide_Shift_Operators. * sem_ch3.adb (Build_Derived_Numeric_Type): Copy Has_Shift_Operator flag. * sem_intr.adb (Check_Intrinsic_Subprogram): Make sure Check_Shift is always called (Check_Shift): Set Has_Shift_Operator. * sem_prag.adb: Implement pragma Provide_Shift_Operators. * snames.ads-tmpl: Add entries for pragma Provide_Shift_Operators Add entry for Name_Amount. * checks.adb (Selected_Range_Checks): When checking for a null range, make sure we use the base type, and not the subtype for deciding a range is null. * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Check for suspicious loop bound which is outside the range of the loop subtype. * gnat_ugn.texi: Add documentation section "Determining the Chosen Elaboration Order" * sem_ch13.adb (UC_Entry): Add field Act_Unit (Validate_Unchecked_Conversion): Store Act_Unit (Validate_Unchecked_Conversions): Test Warnings_Off in Act_Unit * treepr.adb: Minor reformatting. 2014-02-25 Arnaud Charlet <charlet@adacore.com> * usage.adb: Minor: fix typo. From-SVN: r208138
Arnaud Charlet committed
-
- 29 Jan, 2014 1 commit
-
-
2014-01-29 Robert Dewar <dewar@adacore.com> * a-except-2005.adb, a-except.adb, a-excpol-abort.adb, a-exstat.adb, ali.adb, a-numaux.ads, a-numaux-darwin.ads, a-numaux-libc-x86.ads, a-numaux-vms.ads, a-numaux-vxworks.ads, a-numaux-x86.ads, aspects.ads, a-taside.adb, a-teioed.adb, a-textio.adb, a-textio.ads, atree.adb, atree.ads, a-witeio.adb, a-witeio.ads, a-wtedit.adb, a-ztedit.adb, a-ztexio.adb, bcheck.adb, binde.adb, checks.adb, comperr.adb, cstand.adb, debug_a.adb, einfo.ads, errout.adb, erroutc.adb, eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb, exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb, exp_dbug.adb, exp_disp.adb, exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_util.adb, freeze.adb, frontend.adb, g-comlin.ads, g-mbdira.adb, gnat1drv.adb, gprep.adb, g-spipat.adb, i-cpp.ads, i-vxwork.ads, i-vxwork-x86.ads, krunch.ads, layout.adb, lib-load.adb, lib-writ.adb, lib-writ.ads, live.adb, namet.ads, osint.adb, osint-c.adb, output.ads, par.adb, par-ch10.adb, par-ch13.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb, prj.adb, repinfo.adb, rtsfind.adb, s-arit64.adb, s-asthan-vms-alpha.adb, s-asthan-vms-ia64.adb, s-bignum.adb, scans.adb, scng.adb, s-dimmks.ads, sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_cat.adb, sem_ch10.adb, sem_ch12.adb, sem_ch13.adb, sem_ch13.ads, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, sem_disp.adb, sem_elab.adb, sem_elim.adb, sem_eval.adb, sem_intr.adb, sem_prag.adb, sem_res.adb, sem_type.adb, sem_util.adb, sem_warn.adb, set_targ.adb, s-fatgen.adb, s-fatgen.ads, s-fileio.adb, s-imgcha.adb, s-imgrea.adb, sinfo.ads, sinput-c.adb, snames.ads-tmpl, s-os_lib.adb, sprint.adb, s-regpat.adb, s-secsta.adb, s-stalib.ads, s-stchop.adb, s-stoele.ads, stand.ads, s-taprop-solaris.adb, s-tasdeb-vms.adb, s-tasini.adb, s-tassta.adb, s-valdec.adb, s-valuti.adb, s-wchjis.adb, s-wchwts.adb, system.ads, system-vms_64.ads, system-vms-ia64.ads, treepr.adb, types.ads, uintp.adb, uname.adb, urealp.adb, usage.adb, vxaddr2line.adb: Minor reformatting. From-SVN: r207260
Robert Dewar committed
-
- 21 Jan, 2014 1 commit
-
-
2014-01-21 Javier Miranda <miranda@adacore.com> * exp_ch3.adb (Build_Init_Procedure): For derivations of interfaces, do not move the the initialization of the _parent field since such assignment is not generated. 2014-01-21 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Rewrite_Renamed_Operator): Do not replace entity with the operator it renames if we are within an expression of a pre/postcondition, because the expression will be reanalyzed at a later point, and the analysis of the renaming may affect the visibility of the operator when in an instance. 2014-01-21 Robert Dewar <dewar@adacore.com> * sinfo.ads, sinfo.adb: Change Do_Discriminant_Check to use new Flag1. Add this flag to type conversion nodes and assignment nodes. * treepr.adb: Deal properly with Flag 1,2,3. * treeprs.adt: Minor comment update. 2014-01-21 Robert Dewar <dewar@adacore.com> * sem_eval.adb (Compile_Time_Known_Value): Add Ignore_CRT parameter. * sem_eval.ads (Compile_Time_Known_Value): Add Ignore_CRT parameter, completely rewrite spec. 2014-01-21 Ed Schonberg <schonberg@adacore.com> * sem_ch10.adb (Install_Withed_Unit): If the unit is a subprogram instance that is inlined, it may have been rewritten as a wrapper package. In that case the unit that must be made visible is the related instance of the package. 2014-01-21 Arnaud Charlet <charlet@adacore.com> * exp_ch9.adb (Expand_N_Selective_Accept.Add_Accept): Refine previous change in codepeer mode. From-SVN: r206874
Arnaud Charlet committed
-
- 11 Apr, 2013 1 commit
-
-
2013-04-11 Ben Brosgol <brosgol@adacore.com> * gnat_ugn.texi: Minor clean ups. 2013-04-11 Robert Dewar <dewar@adacore.com> * nlists.ads, nlists.adb, treepr.adb, treepr.ads: Move debugging function p from Nlists to Treepr. 2013-04-11 Ed Schonberg <schonberg@adacore.com> * sem_disp.adb (Check_Dispatching_Context): If the context is a contract for a null procedure defer error reporting until postcondition body is created. * exp_ch13.adb (Expand_N_Freeze_Entity): If the entity is a null procedure, complete the analysis of its contracts so that calls within classwide conditions are properly rewritten as dispatching calls. From-SVN: r197794
Arnaud Charlet committed
-
- 29 Jan, 2013 1 commit
-
-
2013-01-29 Robert Dewar <dewar@adacore.com> * atree.ads, atree.adb (Node30): New function. (Set_Node30): New procedure. (Num_Extension_Nodes): Change to 5 (activate new fields/flags). * atree.h: Add macros for Field30 and Node30. * einfo.ads, einfo.adb: Move some fields to avoid duplexing. * treepr.adb (Print_Entity_Information): Print fields 30-35. 2013-01-29 Robert Dewar <dewar@adacore.com> * sem_prag.adb (Analyze_Pragma, case Interface): Consider to be a violation of No_Obsolescent_Features even in Ada 95. Also generates a warning in -gnatwj mode. (Analyze_Pragma, case Interface_Name): Generates a warning in -gnatwj mode. * gnat_ugn.texi: Additional documentation on -gnatwj and pragma Interface[_Name]. 2013-01-29 Vincent Celier <celier@adacore.com> * snames.ads-tmpl: Add new standard name Trailing_Switches. 2013-01-29 Ed Schonberg <schonberg@adacore.com> * sem_disp.adb (Check_Controlling_Type): If a designated type T of an anonymous access type is a limited view of a tagged type, it can be a controlling type only if the subprogram is in the same scope as T. 2013-01-29 Vincent Celier <celier@adacore.com> * gnatcmd.adb: Use the project where the config pragmas file is declared to get its path. 2013-01-29 Vincent Celier <celier@adacore.com> * prj-attr.adb: New attribute Linker'Trailing_Switches. From-SVN: r195535
Arnaud Charlet committed
-
- 17 Jul, 2012 2 commits
-
-
2012-07-17 Tristan Gingold <gingold@adacore.com> * treepr.adb, treepr.ads: Revert previous patch, unneeded. 2012-07-17 Robert Dewar <dewar@adacore.com> * s-assert.ads: Fix comments to make it clear that this is used for all assertions, not just pragma Assert. 2012-07-17 Jerome Guitton <guitton@adacore.com> * par_sco.ads: Minor typo fix. 2012-07-17 Gary Dismukes <dismukes@adacore.com> * layout.adb (Layout_Type): In the case where the target is AAMP, use 32 bits (a single pointer) rather than 64 bits for an anonymous access-to-subprogram type if the type is library-level and Is_Local_Anonymous_Access is True. 2012-07-17 Jose Ruiz <ruiz@adacore.com> * s-tassta.adb, s-tarest.adb (Create_Task, Create_Restricted_Task, Initialize): Add comments explaining that the CPU affinity value that is passed to the run-time library can be either Unspecified_CPU, to indicate that the task inherits the affinity of its activating task, or a value in the range of CPU_Range but no greater than Number_Of_CPUs. 2012-07-17 Javier Miranda <miranda@adacore.com> * exp_disp.adb (Make_DT): Remove decoration of Ada.Tags entities. (Make_Tags): Add decoration of Ada.Tags entities. 2012-07-17 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Check_Statement_Sequence): When locating the last significant statement in a sequence, ignore iserted nodes that typically come from expansion of controlled operations. 2012-07-17 Tristan Gingold <gingold@adacore.com> * gnat_rm.texi: Document foreign exceptions. From-SVN: r189568
Arnaud Charlet committed -
2012-07-17 Robert Dewar <dewar@adacore.com> * exp_ch9.adb: Minor code reorganization. * exp_ch3.adb: Minor code improvement. 2012-07-17 Tristan Gingold <gingold@adacore.com> * seh_init.c (__gnat_SEH_error_handler): Not compiled anymore on Windows 64 (+ SEH), as it is unused. 2012-07-17 Tristan Gingold <gingold@adacore.com> * treepr.ads (psloc): Declare. * treepr.adb (psloc): New debug procedure to print a sloc. (Print_Sloc): New procedure, from ... (Print_Node_Subtree): ... this. Call Print_Sloc. 2012-07-17 Javier Miranda <miranda@adacore.com> * sem_prag.adb (CPP_Class): Transform obsolescent pragma CPP_Class into CPP convention automatically. From-SVN: r189566
Arnaud Charlet committed
-
- 12 Dec, 2011 1 commit
-
-
2011-12-12 Thomas Quinot <quinot@adacore.com> * exp_disp.adb: Minor reformatting. 2011-12-12 Tristan Gingold <gingold@adacore.com> * gnatls.adb (Search_RTS): New procedure. (Scan_Ls_Arg): Move code that search the RTS. (Gnatls): search the RTS later. * prj-env.ads, prj-env.adb (Get_Runtime_Path): New function. 2011-12-12 Ed Falis <falis@adacore.com> * sysdep.c: Fix treatment of VxWorks task options so that run-times built with __SPE__ get option VX_SPE_TASK while others get VX_FP_TASK. 2011-12-12 Bob Duff <duff@adacore.com> * sem_type.adb, sem_type.ads, sem_ch4.adb, treepr.adb, treepr.ads: Minor cleanup and fiddling with debug printouts. 2011-12-12 Vincent Celier <celier@adacore.com> * prj-nmsc.adb (Get_Directories): For a non extending project, always get a declared object and/or exec directory if it already exists, even when there are no sources, but do not create them. 2011-12-12 Bob Duff <duff@adacore.com> * sem_res.adb (Resolve): Deal with the case where an abstract operator is called with operands of type universal_integer. 2011-12-12 Thomas Quinot <quinot@adacore.com> * par_sco.adb: Minor fix to dominance marker referencing WHILE decision. From-SVN: r182227
Arnaud Charlet committed
-
- 05 Dec, 2011 1 commit
-
-
2011-12-05 Bob Duff <duff@adacore.com> * sem_ch4.adb: Minor comment fix. 2011-12-05 Robert Dewar <dewar@adacore.com> * gnat_ugn.texi: Add documentation for -gnatw.e. 2011-12-05 Bob Duff <duff@adacore.com> * treepr.adb (pn): Print something useful for Elmt_Ids. Add Write_Eol to 'when others' case, so the output will be seen immediately in gdb. 2011-12-05 Ed Schonberg <schonberg@adacore.com> * lib-writ.adb (Output_Main_Program_Line): A generic subprogram is never a main program. 2011-12-05 Thomas Quinot <quinot@adacore.com> * par_sco.adb: Various minor adjustments to dominance markers generation. 2011-12-05 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Analyze_Expression_Function): If the function is a completion, generate a body reference for its defining entity, before rewriting the node as a body. * sem_util.adb (Defining_Entity): Add entry for expression function. From-SVN: r182006
Arnaud Charlet committed
-
- 29 Aug, 2011 1 commit
-
-
2011-08-29 Yannick Moy <moy@adacore.com> * gnat1drv.adb (Adjust_Global_Switches): Restore expansion of tagged types and dispatching calls in Alfa mode. * lib-xref-alfa.adb (Collect_ALFA): Rewrite computation of correspondance between body and spec scopes, to reuse utility functions (Traverse_Declarations_Or_Statements): Protect access to body for stub by testing the presence of the library unit for the body * sem_ch6.adb (Set_Actual_Subtypes): take into account that in Alfa mode the expansion of accept statements is skipped * sem_util.adb, sem_util.ads (Unique_Entity): New function returning the unique entity corresponding to the one returned by Unique_Defining_Entity applied to the enclosing declaration of the argument. 2011-08-29 Bob Duff <duff@adacore.com> * treepr.ads: Improve debugging facilities. pn(x) no longer crashes in gdb when x is not a node (it can be a node list, name_id, etc). pp is an alias for pn. ppp is an alias for pt. 2011-08-29 Javier Miranda <miranda@adacore.com> * exp_aggr.adb (Expand_Record_Aggregate): Use the top-level enclosing aggregate to take a consistent decision on the need to convert into assignments aggregates that initialize constant objects. 2011-08-29 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch4.adb (Expand_Allocator_Expression): Add a call to Build_Allocate_Deallocate_Proc in order to handle allocation of non-controlled objects on subpools. * impunit.adb: Remove s-finmas and s-spsufi since they were never meant to be end-user visible. * s-finmas.adb: Add with and use clause for System.HTable. Add an instantiation of Simple_HTable which provides a mapping between the address of a controlled object and the corresponding Finalize_Address used to clean up the object. The table is used when a master is operating in heterogeneous mode. (Attach): Explain why the input node is not verified on being already attached. (Delete_Finalize_Address): New routine. (Detach): Add pragma Assert which ensures that a node is already attached. (Finalize): Add local variable Cleanup. Rewrite the iteration scheme since nodes are no longer removed on traversal. Explain why node detachment is undesirable in this case. (Get_Finalize_Address): New routine. (Hash): New routine. (Is_Empty_List): Removed. (pm): Renamed to Print_Master. Add output for discriminant Is_Homogeneous. Comment reformatting. (Set_Finalize_Address (Address, Finalize_Address_Ptr)): New routine. * s-finmas.ads: Various comments additions / improvements. Type Finalization_Master has a discriminant which determines the mode of operation. (Delete_Finalize_Address): New routine. (Get_Finalize_Address): New routine. (pm): Renamed to Print_Master. (Set_Finalize_Address (Address, Finalize_Address_Ptr)): New routine. * s-stposu.adb: Add with clause for System.Address_Image; Add with and use clause for System.IO. (Allocate_Any_Controlled): Add machinery to set TSS primitive Finalize_Address depending on the mode of allocation and the mode of the master. (Deallocate_Any_Controlled): Remove the relation pair object - Finalize_Address regardless of the master mode. Add comment explaining the reason. (Detach): Ensure that fields Prev and Next are null after detachment. (Finalize_Pool): Remove local variable Next_Ptr. Rewrite the iteration scheme to check whether the list of subpools is empty. There is no longer need to store the next subpool or advance the current pointer. (Is_Empty_List): New routine. (Print_Pool): New routine. (Print_Subpool): New routine. * s-stposu.ads: Various comments additions / improvements. Field Master of type Root_Subpool is now a heterogeneous collection. (Print_Pool): New routine. (Print_Subpool): New routine. 2011-08-29 Ed Schonberg <schonberg@adacore.com> * exp_ch5.adb (Expand_N_Iterator_Loop): Implement Ada2012 loop iterator forms, using aspects of container types. * sem_ch3.adb (Find_Type_Name): Preserve Has_Delayed_Aspects and Has_Implicit_Dereference flags, that may be set on the partial view. * sem_ch4.adb (Process_Overloaded_Indexed_Component): Prefix may be a container type with an indexing aspect. (Analyze_Quantified_Expression): Analyze construct with expansion disabled, because it will be rewritten as a loop during expansion. (Try_Container_Indexing): The prefix itself may be a container type with an indexing aspect, as with a vector of vectors. * sem_ch5.adb (Analyze_Iteration_Scheme): In a generic context, analyze the original doamin of iteration, for name capture. (Analyze_Iterator_Specification): If the domain is an expression that needs finalization, create a separate declaration for it. For an iterator with "of" retrieve default iterator info from aspect of container type. For "in" iterator, retrieve type of Iterate function. * sem_ch13.adb (Check_Iterator_Function): Fix typo. (Check_Aspect_At_End_Of_Declaration): Make type unfrozen before analysis, to prevent spurious errors about late attributes. * sprint.adb: Handle quantified expression with either loop or iterator specification. * a-convec.ads, a-convec.adb: Iterate function returns a reversible iterator. From-SVN: r178235
Arnaud Charlet committed
-
- 19 Oct, 2010 1 commit
-
-
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
Arnaud Charlet committed
-
- 11 Oct, 2010 2 commits
-
-
2010-10-11 Robert Dewar <dewar@adacore.com> * g-htable.ads (Get_First): New procedural version for Simple_HTable (Get_Next): New procedural version for Simple_HTable * s-htable.adb (Get_First): New procedural version for Simple_HTable (Get_Next): New procedural version for Simple_HTable * s-htable.ads (Get_First): New procedural version for Simple_HTable (Get_Next): New procedural version for Simple_HTable 2010-10-11 Ed Schonberg <schonberg@adacore.com> * sem_aggr.adb (Propagate_Discriminants): To gather the components of a variant part, use the association list of the subaggregate, which already includes the values of the needed discriminants. 2010-10-11 Robert Dewar <dewar@adacore.com> * aspects.ads, aspects.adb: Changes to accomodate aspect delay (Tree_Write): New procedure. * atree.ads, atree.adb: Flag3 is now Has_Aspects and applies to all nodes. * atree.h: Flag3 is now Has_Aspects and applies to all nodes * debug.adb: Add debug flag gnatd.A * einfo.adb (Has_Delayed_Aspects): New flag (Get_Rep_Item_For_Entity): New function * einfo.ads (Has_Delayed_Aspects): New flag (Get_Rep_Item_For_Entity): New function * exp_ch13.adb (Expand_N_Freeze_Entity): Insert delayed aspects into tree. * exp_ch3.adb, exp_ch6.adb, exp_ch9.adb, exp_disp.adb: New calling sequence for Freeze_Entity. * freeze.ads, freeze.adb (Freeze_Entity): Takes node rather than source ptr. All calls are changed to this new interface. (Freeze_And_Append): Same change (Freeze_Entity): Evaluate deferred aspects * sem_attr.adb: New calling sequence for Freeze_Entity (Eval_Attribute): Don't try to evaluate attributes of unfrozen types when we are in spec expression preanalysis mode. * sem_ch10.adb: New calling sequence for Freeze_Entity * sem_ch11.adb: Simplify analysis of aspect specifications now that the flag Has_Aspects applies to all nodes (no need to save aspects). * sem_ch12.adb: Simplify analysis of aspect specifications now that the flag Has_Aspects applies to all nodes (no need to save aspects). * sem_ch13.adb (Analyze_Aspect_Specifications): Major rewrite to accomodate delaying aspect evaluation to the freeze point. (Duplicate_Clause): Simplify using Get_Rep_Item_For_Entity, and also accomodate delayed aspects. (Rep_Item_Too_Late): Deal with delayed aspects case * sem_ch13.ads (Rep_Item_Too_Late): Document handling of delayed aspects * sem_ch3.adb (Analyze_Subtype_Declaration): Make sure that generic actual types are properly frozen (this is needed because of the new check in Eval_Attribute that declines to evaluate attributes for unfrozen types). Simplify analysis of aspect specifications now that the flag Has_Aspects applies to all nodes (no need to save aspects). * sem_ch3.ads (Preanalyze_Spec_Expression): Note use for delayed aspects * sem_ch5.adb: Simplify analysis of aspect specifications now that the flag Has_Aspects applies to all nodes (no need to save aspects). New calling sequence for Freeze_Entity. * sem_ch9.adb, sem_ch7.adb, sem_ch6.adb: Simplify analysis of aspect specifications now that the flag Has_Aspects applies to all nodes (no need to save aspects). New calling sequence for Freeze_Entity * sem_prag.adb (Check_Duplicate_Pragma): Simplify using Get_Rep_Item_For_Entity (Get_Pragma_Arg): Moved to Sinfo * sinfo.ads, sinfo.adb (Aspect_Rep_Item_: New field (Is_Delayed_Aspect): New flag (Next_Rep_Item): Document use for aspects (Get_Pragma_Arg): Moved here from Sem_Prag * sprint.adb (Sprint_Aspect_Specifications): Now called after semicolon is output and removes semicolon (simplifies interface). (Sprint_Node_Actual): Simplify handling of aspects now that Has_Aspects applies to any node. * tree_gen.adb: Write contents of Aspect_Specifications hash table * tree_in.adb: Read and initialize Aspect_Specifications hash table * treepr.adb (Print_Node): Print Has_Aspects flag (Print_Node): Print Aspect_Specifications in Has_Aspects set * xtreeprs.adb: Remove obsolete references to Flag1,2,3 From-SVN: r165300
Arnaud Charlet committed -
2010-10-11 Arnaud Charlet <charlet@adacore.com> * sem_prag.adb (Check_Interrupt_Or_Attach_Handler): Do not emit error for AI05-0033 in CodePeer mode. 2010-10-11 Robert Dewar <dewar@adacore.com> * atree.h, atree.ads, atree.adb (Flag3): New flag (replaces Unused_1) * csinfo.adb: Aspect_Specifications is a new special field * einfo.adb (Flag3): New unused flag * exp_util.adb (Insert_Actions): Add processing for N_Aspect_Specification. * sem.adb: Add entry for N_Aspect_Specification. * sinfo.ads, sinfo.adb (N_Aspect_Specification): New node (Has_Aspect_Specifications): New flag (Permits_Aspect_Specifications): New function (Aspect_Specifications): New function (Set_Aspect_Specifications): New procedure * sprint.adb (Sprint_Node): Put N_At_Clause in proper alpha order (Sprint_Node): Add dummy entry for N_Aspect_Specification * treepr.adb (Flag3): New flag to be listed 2010-10-11 Vincent Celier <celier@adacore.com> * adaint.c: Minor reformatting. From-SVN: r165279
Arnaud Charlet committed
-
- 23 Jun, 2010 2 commits
-
-
2010-06-23 Olivier Hainque <hainque@adacore.com> * einfo.adb (Has_Foreign_Convention): Consider Intrinsic with Interface_Name as foreign. These are GCC builtin imports for which Ada specific processing doesn't apply. 2010-06-23 Thomas Quinot <quinot@adacore.com> * sem_ch12.adb: Minor reformatting. 2010-06-23 Ed Schonberg <schonberg@adacore.com> * sem_util.adb (Is_VMS_Operator): Use scope of system extension to determine whether an intrinsic subprogram is VMS specific. 2010-06-23 Hristian Kirtchev <kirtchev@adacore.com> * treepr.adb (Print_Entity_Info): Output the contents of Field28 if it is present in the entity. From-SVN: r161262
Arnaud Charlet committed -
2010-06-23 Robert Dewar <dewar@adacore.com> * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Properly handle checking returns in generic case. (Check_Missing_Return): New procedure. 2010-06-23 Robert Dewar <dewar@adacore.com> * bindgen.adb, switch-b.adb: Minor reformatting. 2010-06-23 Javier Miranda <miranda@adacore.com> * frontend.adb (Frontend): Add call to initialize the new package SCIL_LL. * exp_ch7.adb (Wrap_Transient_Expression): Remove call to Adjust_SCIL_Node. (Wrap_Transient_Statement): Remove call to Adjust_SCIL_Node. * sem_ch5.adb (Analyze_Iteration_Scheme.Process_Bounds): Remove call to Adjust_SCIL_Node. * exp_util.adb (Insert_Actions): Remove code for N_SCIL_Dispatch_Table_Object_Init and N_SCIL_Tag_Init nodes. (Remove_Side_Effects): Remove calls to Adjust_SCIL_Node. * sinfo.adb (SCIL_Entity, SCIL_Tag_Value): Remove checks on N_SCIL_Tag_Init and N_SCIL_Dispatch_Table_Object_Init in the assertion. (SCIL_Related_Node, Set_SCIL_Related_Node): Removed. * sinfo.ads (SCIL_Related_Node): Field removed. (N_SCIL_Dispatch_Table_Object_Init): Node removed. (N_SCIL_Tag_Init): Node removed. * sem_scil.ads, sem_scil.adb (Adjust_SCIL_Node): Removed. (Check_SCIL_Node): New implementation. (Find_SCIL_Node): Removed. * sem.adb (Analyze): Remove management of N_SCIL_Dispatch_Table_Object_Init and N_SCIL_Tag_Init nodes. * sem_util.adb (Insert_Explicit_Dereference): Remove call to Adjust_SCIL_Node. * exp_ch4.adb (Expand_N_In): Code cleanup: remove call to Set_SCIL_Related_Node and avoid adding the SCIL node before the referenced node using Insert_Action because this is not longer required. (Expand_Short_Circuit_Operator): Remove call to SCIL node. * exp_ch6.adb (Expand_Call): Remove call to Adjust_SCIL_Node. * sem_ch4.adb (Analyze_Type_Conversion): Remove call to Adjust_SCIL_Node * exp_disp.adb (Expand_Dispatching_Call): Minor code reorganization because we no longer require to generate the SCIL node before the call. (Make_DT): Remove generation of SCI_Dispatch_Table_Object_Init node. Remove calls to Set_SCIL_Related_Node and avoid adding the SCIL nodes before the referenced node using Insert_Action because this is not longer required. * atree.adb (Allocate_Initialize_Node, Replace, Rewrite): Add call to update the SCIL_Node field. * sprint.adb (Sprint_Node_Actual): Remove code for N_SCIL_Dispatch_Table_Object_Init and N_SCIL_Tag_Init nodes. * treepr.adb (Print_Node): Print the SCIL node field (if available). * exp_ch3.adb (Build_Init_Procedure): Remove generation of SCIL_Tag_Init nodes. * scil_ll.ads, scil_ll.adb: New files. From-SVN: r161244
Arnaud Charlet committed
-
- 10 Jul, 2009 1 commit
-
-
2009-07-10 Arnaud Charlet <charlet@adacore.com> * i-cexten.ads (bool): New type. 2009-07-10 Robert Dewar <dewar@adacore.com> * sinfo.ads (N_Short_Circuit): New definition * sem_ch13.adb, sem_ch6.adb, sem_eval.adb, sem_res.adb, treepr.adb: Minor code reorganization (use N_Short_Circuit) From-SVN: r149467
Arnaud Charlet committed
-
- 01 Aug, 2008 1 commit
-
-
2008-08-01 Doug Rupp <rupp@adacore.com> * gnat_rm.texi: Document new mechanism Short_Descriptor. * types.ads (Mechanism_Type): Modify range for new Short_Descriptor mechanism values. * sem_prag.adb (Set_Mechanism_Value): Enhance for Short_Descriptor mechanism and Short_Descriptor mechanism values. * snames.adb (preset_names): Add short_descriptor entry. * snames.ads: Add Name_Short_Descriptor. * types.h: Add new By_Short_Descriptor mechanism values. * sem_mech.adb (Set_Mechanism_Value): Enhance for Short_Descriptor mechanism and Short_Descriptor mechanism values. * sem_mech.ads (Mechanism_Type): Add new By_Short_Descriptor mechanism values. (Descriptor_Codes): Modify range for new mechanism values. * treepr.adb (Print_Entity_Enfo): Handle new By_Short_Descriptor mechanism values. * gcc-interface/decl.c (gnat_to_gnu_entity): Handle By_Short_Descriptor. (gnat_to_gnu_param): Handle By_Short_Descriptor. * gcc-interface/gigi.h (build_vms_descriptor64): Remove prototype. (build_vms_descriptor32): New prototype. (fill_vms_descriptor): Remove unneeded gnat_actual parameter. * gcc-interface/trans.c (call_to_gnu): Removed unneeded gnat_actual argument in call fill_vms_descriptor. * gcc-interface/utils.c (build_vms_descriptor32): Renamed from build_vms_descriptor and enhanced to hande Short_Descriptor mechanism. (build_vms_descriptor): Renamed from build_vms_descriptor64. (convert_vms_descriptor32): New function. (convert_vms_descriptor64): New function. (convert_vms_descriptor): Rewrite to handle both 32bit and 64bit descriptors. * gcc-interface/utils2.c (fill_vms_descriptor): Revert previous changes, no longer needed. From-SVN: r138473
Doug Rupp committed
-
- 13 Apr, 2008 1 commit
-
-
gcc/ada/ * sfn_scan.adb, sfn_scan.ads, sinfo.ads, sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput.ads, snames.ads, sprint.adb, stand.ads, stringt.ads, styleg.adb, styleg.ads, stylesw.adb, stylesw.ads, switch.ads, sysdep.c, table.adb, table.ads, targparm.ads, tb-gcc.c, tbuild.ads, tracebak.c, trans.c, tree_io.adb, treepr.adb, types.adb, types.ads, uintp.adb, uintp.ads, utils.c, utils2.c, validsw.ads, vms_conv.adb, vms_conv.ads, vms_data.ads, widechar.adb, widechar.ads, xeinfo.adb, xgnatugn.adb, xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads, xsinfo.adb: Fix comment typos. From-SVN: r134243
Ralf Wildenhues committed
-
- 13 Dec, 2007 1 commit
-
-
2007-12-06 Robert Dewar <dewar@adacore.com> * treepr.ads, treepr.adb: (pl): implement use of positive value shorthands From-SVN: r130869
Robert Dewar committed
-
- 10 Sep, 2007 1 commit
-
-
2007-09-10 Robert Dewar <dewar@adacore.com> * exp_atag.ads, exp_atag.adb, mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, ali.adb, ali.ads, ali-util.adb, ali-util.ads, atree.h, back_end.adb, back_end.ads, bcheck.adb, bcheck.ads, binde.adb, binde.ads, binderr.adb, binderr.ads, bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads, butil.adb, butil.ads, checks.adb, checks.ads, clean.adb, clean.ads, comperr.adb, comperr.ads, cstand.adb, cstand.ads, debug_a.adb, debug_a.ads, elists.h, errout.adb, erroutc.ads, errutil.adb, errutil.ads, err_vars.ads, eval_fat.adb, eval_fat.ads, exp_sel.ads, exp_sel.adb, exp_aggr.adb, exp_aggr.ads, expander.adb, expander.ads, exp_attr.ads, exp_ch10.ads, exp_ch11.adb, exp_ch12.adb, exp_ch12.ads, exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads, exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads, exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads, exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads, exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads, exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads, exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads, exp_smem.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb, exp_vfpt.ads, fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads, fname-uf.adb, fname-uf.ads, frontend.adb, frontend.ads, get_targ.adb, get_targ.ads, gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads, gnatbl.c, gnatchop.adb, gnatclean.adb, gnatcmd.adb, gnatcmd.ads, gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads, gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb, gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb, gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb, gprep.adb, gprep.ads, hlo.adb, hlo.ads, impunit.adb, impunit.ads, inline.adb, inline.ads, itypes.adb, itypes.ads, layout.adb, layout.ads, lib-load.adb, lib-load.ads, lib-util.adb, lib-util.ads, lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads, live.adb, live.ads, make.adb, make.ads, makeutl.ads, makeutl.adb, makeusg.adb, makeusg.ads, mdll.adb, mdll.ads, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads, memroot.adb, memroot.ads, mlib.adb, mlib.ads, mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, namet.h, nmake.adt, osint.adb, osint.ads, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads, par.adb, par.ads, par-ch10.adb, par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb, prep.adb, prep.ads, prepcomp.adb, prepcomp.ads, prj.adb, prj.ads, prj-attr.adb, prj-attr.ads, prj-com.ads, prj-dect.adb, prj-dect.ads, prj-err.adb, prj-err.ads, prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads, restrict.adb, restrict.ads, rtsfind.adb, rtsfind.ads, scn.adb, scn.ads, scng.adb, scng.ads, sdefault.ads, sem.ads, sem_aggr.ads, sem_attr.adb, sem_case.adb, sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads, sem_ch11.adb, sem_ch11.ads, sem_ch12.ads, sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.ads, sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads, sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads, sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads, sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads, sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads, sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads, sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads, sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads, sfn_scan.ads, sinfo-cn.adb, sinfo-cn.ads, sinput-c.adb, sinput-c.ads, sinput-d.adb, sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb, sinput-p.ads, snames.h, sprint.adb, sprint.ads, stringt.h, style.ads, styleg.adb, styleg.ads, styleg-c.adb, styleg-c.ads, stylesw.adb, stylesw.ads, switch.adb, switch.ads, switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb, switch-m.ads, symbols.adb, symbols.ads, targparm.adb, tbuild.adb, tbuild.ads, tempdir.adb, tempdir.ads, tree_gen.adb, tree_gen.ads, treepr.adb, treepr.ads, treeprs.adt, ttypef.ads, ttypes.ads, types.h, uintp.h, urealp.h, usage.adb, usage.ads, validsw.adb, validsw.ads, vxaddr2line.adb, xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads, xsinfo.adb, xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb, xgnatugn.adb, gprmake.adb, makegpr.ads, makegpr.adb, prj-attr-pm.ads, prj-attr-pm.adb, mlib-tgt-lynxos.adb, mlib-tgt-darwin.adb, symbols-vms.adb, symbols-processing-vms-alpha.adb, symbols-processing-vms-ia64.adb, mlib-tgt-specific.adb, mlib-tgt-specific.ads, mlib-tgt-vms.adb, mlib-tgt-vms.ads: Replace headers with GPL v3 headers. From-SVN: r128332
Robert Dewar committed
-
- 14 Aug, 2007 1 commit
-
-
2007-08-14 Robert Dewar <dewar@adacore.com> Gary Dismukes <dismukes@adacore.com> Ed Schonberg <schonberg@adacore.com> Thomas Quinot <quinot@adacore.com> * a-stzsup.adb, nlists.adb, lib-util.adb, treepr.adb, a-stwisu.adb, a-strsup.adb: Fix warnings for range tests optimized out. * exp_ch4.adb (Expand_N_In): Add warnings for range tests optimized out. (Get_Allocator_Final_List): For the case of an anonymous access type that has a specified Associated_Final_Chain, do not go up to the enclosing scope. (Expand_N_Type_Conversion): Test for the case of renamings of access parameters when deciding whether to apply a run-time accessibility check. (Convert_Aggr_In_Allocator): Use Insert_Actions to place expanded aggregate code before allocator, and ahead of declaration for temporary, to prevent access before elaboration when the allocator is an actual for an access parameter. (Expand_N_Type_Conversion): On an access type conversion involving an access parameter, do not apply an accessibility check when the operand's original node was an attribute other than 'Access. We now create access conversions for the expansion of 'Unchecked_Access and 'Unrestricted_Access in certain cases and clearly accessibility should not be checked for those. * exp_ch6.ads, exp_ch6.adb (Add_Call_By_Copy_Code): For an actual that includes a type conversion of a packed component that has been expanded, recover the original expression for the object, and use this expression in the post-call assignment statement, so that the assignment is made to the object and not to a back-end temporary. (Freeze_Subprogram): In case of primitives of tagged types not defined at the library level force generation of code to register the primitive in the dispatch table. In addition some code reorganization has been done to leave the implementation clear. (Expand_Call): When expanding an inherited implicit conversion, preserve the type of the inherited function after the intrinsic operation has been expanded. * exp_ch2.ads, exp_ch2.adb (Expand_Entry_Parameter.In_Assignment_Context): An implicit dereference of an entry formal appearing in an assignment statement does not assign to the formal. (Expand_Current_Value): Instead of calling a routine to determine whether the prefix of an attribute reference should be optimized or not, prevent the optimization of such prefixes all together. * lib-xref.adb (Generate_Reference.Is_On_LHS): An indexed or selected component whose prefix is known to be of an access type is an implicit dereference and does not assign to the prefix. From-SVN: r127411
Robert Dewar committed
-
- 06 Jun, 2007 1 commit
-
-
2007-04-20 Robert Dewar <dewar@adacore.com> * a-reatim.adb: Documentation addition * g-cgideb.adb: Minor code reorganization * tree_io.adb, treepr.adb, cstand.adb, krunch.adb, par.adb, mdll-utl.adb, par-ch5.adb, par-tchk.adb, s-exctab.ads, s-memory.ads, s-osprim.ads, s-restri.ads, s-soflin.ads: Minor reformatting. * debug.ads, debug.adb (Get_Debug_Flag_K): Remove unused obsolete function. Change name New_Scope to Push_Scope (Get_Debug_Flag_K): Remove unused obsolete function. * exp_ch8.adb, inline.adb, sem_ch8.ads: Change name New_Scope to Push_Scope. * makeusg.adb: Update Copyright notice Add line for switch -aP * makeusg.adb: Fix wording of some usage messages * s-assert.adb (Raise_Assert_Failure): Add call to Debug_Raise_Assert_Failure. * s-unstyp.ads (type Packed_Bytes2): Change alignment to use 'Min (2, Standard'Alignment) for compatibility with AAMP (where alignment is restricted to 1). * s-wchjis.adb: Remove use of System.Pure_Exceptions * tbuild.ads, tbuild.adb (Make_Implicit_Exception_Handler): Set the node location to No_Location when we're not debugging the expanded code. From-SVN: r125478
Robert Dewar committed
-
- 06 Apr, 2007 1 commit
-
-
2007-04-06 Robert Dewar <dewar@adacore.com> Arnaud Charlet <charlet@adacore.com> * a-diroro.ads: Inserted the pragma Unimplemented_Unit * bindgen.adb (Gen_Output_File_Ada): Generate pragma Ada_95 at start of files Add mention of -Sev (set initialize_scalars option from environment variable at run time) in gnatbind usage message. * elists.ads, elists.adb: (Append_Unique_Elmt): New procedure * fname-uf.ads: Minor comment fix * osint.ads: Change pragma Elaborate to Elaborate_All * par-load.adb: Add documentation. * sem_cat.ads, sem_cat.adb: Minor code reorganization * s-parint.ads (RCI_Locator) : Add 'Version' generic formal * s-secsta.ads: Extra comments * s-soflin.ads: Minor comment fixes * s-stratt.ads (Block_Stream_Ops_OK): Removed. * s-wchcon.ads: Minor comment addition * treepr.adb: Minor change in message (Print_Name,Print_Node): Make these debug printouts more robust: print "no such..." instead of crashing on bad input. From-SVN: r123606
Robert Dewar committed
-
- 31 Oct, 2006 1 commit
-
-
2006-10-31 Robert Dewar <dewar@adacore.com> Ed Schonberg <schonberg@adacore.com> * treepr.adb: Use new subtype N_Membership_Test * checks.ads, checks.adb: Add definition for Validity_Check (Range_Or_Validity_Checks_Suppressed): New function (Ensure_Valid): Test Validity_Check suppressed (Insert_Valid_Check): Test Validity_Check suppressed (Insert_Valid_Check): Preserve Do_Range_Check flag (Validity_Check_Range): New procedure (Expr_Known_Valid): Result of membership test is always valid (Selected_Range_Checks): Range checks cannot be applied to discriminants by themselves. Disabling those checks must also be done for task types, where discriminants may be used for the bounds of entry families. (Apply_Address_Clause_Check): Remove side-effects if address expression is non-static and is not the name of a declared constant. (Null_Exclusion_Static_Checks): Extend to handle Function_Specification. Code cleanup and new error messages. (Enable_Range_Check): Test for some cases of suppressed checks (Generate_Index_Checks): Suppress index checks if index checks are suppressed for array object or array type. (Apply_Selected_Length_Checks): Give warning for compile-time detected length check failure, even if checks are off. (Ensure_Valid): Do not generate a check on an indexed component whose prefix is a packed boolean array. * checks.adb: (Alignment_Checks_Suppressed): New function (Apply_Address_Clause_Check): New procedure, this is a completely rewritten replacement for Apply_Alignment_Check (Get_E_Length/Get_E_First_Or_Last): Add missing barrier to ensure that we request a discriminal value only in case of discriminants. (Apply_Discriminant_Check): For Ada_05, only call Get_Actual_Subtype for assignments where the target subtype is unconstrained and the target object is a parameter or dereference (other aliased cases are known to be unconstrained). From-SVN: r118248
Robert Dewar committed
-
- 15 Nov, 2005 1 commit
-
-
2005-11-14 Robert Dewar <dewar@adacore.com> * a-secain.adb, a-slcain.adb, a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.adb, a-strhas.adb, a-chzla1.ads, a-chzla9.ads, a-stzbou.adb, a-stzbou.ads, a-stzfix.adb, a-stzhas.adb, a-stzmap.adb, a-stzmap.ads, a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads, a-stzunb.adb, a-stzunb.ads, a-szuzha.adb, a-szuzha.ads, a-szuzti.adb, a-szuzti.ads, a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb, a-ztcstr.adb, a-ztcstr.ads, a-ztdeau.adb, a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb, a-ztedit.ads, a-ztenau.ads, a-ztenio.adb, a-ztenio.ads, a-ztexio.adb, a-ztexio.ads, a-ztfiio.adb, a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads, a-ztflio.adb, a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb, a-ztinau.ads, a-ztinio.adb, a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads, a-zttest.adb, g-enblsp-vms-alpha.adb, g-enblsp-vms-alpha.adb, g-enblsp-vms-ia64.adb, g-enblsp-vms-ia64.adb, system-linux-hppa.ads, a-chacon.adb, a-chacon.ads, a-wichun.adb, a-wichun.ads, a-zchuni.adb, a-zchuni.ads, g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb, system-hpux-ia64.ads, g-soccon-unixware.ads, g-soliop-unixware.ads, g-soccon-interix.ads, g-soliop-solaris.ads, g-eacodu-vms.adb, g-expect-vms.adb, g-socthi-vms.adb, g-soliop-mingw.ads, a-intnam-unixware.ads, a-intnam-lynxos.ads, a-intnam-tru64.ads, a-intnam-aix.ads, a-intnam-linux.ads, a-intnam-linux.ads, a-intnam-dummy.ads, a-numaux-libc-x86.ads, a-intnam-interix.ads, a-intnam-solaris.ads, a-calend-vms.adb, a-calend-vms.ads, a-intnam-vms.ads, a-calend-mingw.adb, a-intnam-mingw.ads, a-intnam-vxworks.ads, a-numaux-vxworks.ads, system-unixware.ads, system-linux-ia64.ads, a-intnam-freebsd.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads, system-linux-x86_64.ads, a-stunha.adb, a-cgaaso.ads, a-cgaaso.adb, a-chtgop.adb, a-cgcaso.adb, a-cgarso.adb, a-cohata.ads, a-crbtgk.adb, a-crbltr.ads, a-coprnu.adb, a-rbtgso.adb, a-intnam-darwin.ads, system-darwin-ppc.ads, gprmake.adb, makegpr.ads, system-tru64.ads, system-aix.ads, system-solaris-x86.ads, system-irix-o32.ads, s-interr-sigaction.adb, system-irix-n32.ads, s-parame-mingw.adb, system-hpux.ads, s-traceb-hpux.adb, system-linux-x86.ads, s-inmaop-dummy.adb, system-os2.ads, system-interix.ads, system-solaris-sparc.ads, system-solaris-sparcv9.ads, s-inmaop-vms.adb, s-mastop-vms.adb, expander.adb, expander.ads, s-gloloc-mingw.adb, system-mingw.ads, system-vms-zcx.ads, s-osinte-fsu.adb, s-traceb-mastop.adb, a-exextr.adb, a-exstat.adb, a-filico.ads, a-finali.ads, a-interr.ads, a-intsig.adb, a-intsig.ads, a-except.ads, a-numaux-x86.ads, a-astaco.adb, a-calend.adb, a-calend.ads, a-chahan.adb, a-chahan.ads, a-chlat9.ads, a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads, a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads, a-elchha.adb, a-decima.adb, a-decima.ads, a-diocst.ads, a-direio.adb, a-direio.ads, a-excach.adb, a-excach.adb, a-exctra.ads, ali-util.adb, a-ngcefu.adb, a-ngcoty.adb, a-ngcoty.ads, a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-numaux.ads, a-reatim.ads, a-sequio.adb, a-sequio.ads, a-siocst.ads, a-ssicst.ads, a-stmaco.ads, a-storio.adb, a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb, a-strmap.adb, a-strmap.ads, a-strsea.adb, a-strsea.ads, a-strsup.adb, a-strsup.ads, a-strunb.adb, a-strunb.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads, a-stwisu.adb, a-stwisu.ads, a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads, a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb, a-sytaco.ads, a-tasatt.adb, a-taside.adb, a-taside.ads, a-teioed.adb, a-textio.adb, a-textio.ads, a-ticoau.adb, a-ticoau.ads, a-ticoio.adb, a-tideau.adb, a-tideio.adb, a-tienau.adb, a-tienio.adb, a-tifiio.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb, a-tiinio.adb, a-timoau.adb, a-timoio.adb, a-timoio.ads, a-tiocst.ads, a-titest.adb, atree.adb, a-witeio.adb, a-witeio.ads, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcstr.ads, a-wtdeau.adb, a-wtdeio.adb, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb, a-wtenio.adb, a-wtfiio.adb, a-wtflio.adb, a-wtgeau.adb, a-wtinau.adb, a-wtinio.adb, a-wtmoau.adb, a-wtmoio.adb, a-wttest.adb, back_end.adb, bindgen.adb, butil.adb, butil.ads, checks.ads, cio.c, comperr.adb, csets.ads, cstand.adb, debug.ads, elists.ads, errno.c, errout.adb, errout.ads, erroutc.adb, erroutc.ads, errutil.adb, errutil.ads, errutil.ads, err_vars.ads, eval_fat.adb, exp_ch11.adb, exp_ch11.ads, exp_ch2.adb, exp_ch7.ads, exp_imgv.ads, exp_pakd.adb, exp_prag.adb, exp_prag.ads, exp_tss.adb, exp_tss.ads, exp_vfpt.ads, fe.h, fmap.adb, freeze.ads, frontend.adb, frontend.ads, g-arrspl.adb, g-arrspl.ads, g-awk.adb, g-awk.ads, g-boumai.ads, g-calend.adb, g-calend.ads, g-catiio.adb, g-comlin.adb, g-comlin.ads, g-comlin.ads, g-comlin.ads, g-comver.adb, g-crc32.adb, g-crc32.ads, g-ctrl_c.ads, g-curexc.ads, g-debpoo.ads, g-debuti.adb, g-diopit.adb, g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads, g-excact.adb, g-excact.ads, g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.ads, g-flocon.ads, g-hesorg.ads, g-io.adb, g-locfil.ads, g-md5.adb, g-md5.ads, g-md5.ads, g-moreex.adb, g-signal.ads, g-signal.adb, gnatbind.ads, gnatchop.adb, gnatcmd.adb, gnatfind.adb, gnatlbr.adb, gnatmake.ads, gnatmem.adb, gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-pehage.adb, g-pehage.ads, gprep.ads, g-regexp.adb, g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.ads, g-semaph.adb, g-socthi.adb, g-soliop.ads, g-spipat.adb, g-spipat.ads, g-sptabo.ads, g-sptain.ads, g-sptavs.ads, g-string.ads, g-tasloc.adb, g-tasloc.ads, g-trasym.adb, g-trasym.ads, i-fortra.adb, i-fortra.ads, inline.adb, layout.adb, live.adb, make.ads, makeutl.ads, makeutl.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.ads, memroot.ads, memtrack.adb, mlib.ads, mlib-fil.adb, mlib-fil.ads, mlib-prj.ads, mlib-utl.adb, mlib-utl.ads, nlists.adb, nlists.ads, osint.adb, osint.ads, osint-c.adb, osint-l.adb, osint-l.ads, osint-m.ads, output.adb, par.adb, par.adb, par.ads, par-ch11.adb, par-ch12.adb, par-ch2.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb, par-tchk.adb, prep.adb, prepcomp.adb, prepcomp.ads, prj-attr.ads, prj-com.ads, prj-dect.adb, prj-dect.ads, prj-env.ads, prj-err.ads, prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.ads, prj-pars.adb, prj-pars.ads, prj-part.ads, prj-pp.ads, prj-proc.ads, prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-util.adb, prj-util.ads, rtsfind.adb, sem.adb, sem.ads, sem_case.adb, sem_case.ads, sem_ch11.adb, sem_ch4.adb, sem_ch6.ads, sem_ch7.ads, sem_dist.ads, sem_elab.ads, sem_elim.ads, sem_eval.ads, sem_intr.ads, sem_maps.adb, sem_maps.ads, sem_maps.ads, sem_res.ads, sem_type.ads, sfn_scan.adb, sfn_scan.ads, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads, s-inmaop.ads, sinput.adb, sinput.ads, s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads, s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads, s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads, s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads, s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads, s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads, s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads, s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads, s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads, s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads, s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads, s-pack60.adb, s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads, s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads, s-parint.adb, s-parint.adb, s-parint.ads, sprint.ads, s-purexc.ads, s-restri.ads, s-restri.adb, s-scaval.adb, s-scaval.ads, s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads, stand.ads, s-tasuti.adb, s-traceb.adb, s-traceb.ads, stringt.adb, stringt.ads, styleg.ads, s-valboo.adb, s-valboo.ads, s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads, s-valint.adb, s-valint.ads, s-valint.ads, s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads, s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads, s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads, s-valwch.ads, s-veboop.adb, s-veboop.ads, s-vercon.adb, s-vercon.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb, s-wchstw.adb, s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb, s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb, s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb, s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, symbols.adb, symbols.ads, table.ads, targparm.adb, targparm.ads, tb-alvms.c, tb-alvxw.c, tbuild.adb, tree_io.ads, treepr.adb, treeprs.adt, ttypef.ads, ttypes.ads, types.adb, uintp.adb, uintp.ads, uname.ads, urealp.ads, usage.ads, validsw.ads, vxaddr2line.adb, widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads, xsinfo.adb, xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb, a-dirval.ads, a-dirval.adb, a-dirval-mingw.adb, a-direct.ads, a-direct.adb, indepsw.ads, prj-attr-pm.ads, system-linux-ppc.ads, a-numaux-darwin.ads, a-numaux-darwin.adb, a-swuwha.ads, a-stunha.ads: Minor reformatting From-SVN: r107016
Robert Dewar committed
-