aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sinfo.ads
AgeCommit message (Collapse)AuthorFilesLines
2009-09-16[multiple changes]Arnaud Charlet1-0/+16
2009-09-16 Thomas Quinot <quinot@adacore.com> * freeze.adb, exp_intr.adb (Expand_Intrinsic_Call): Leave calls to intrinsics untouched (to be expanded later on by gigi) if an external name has been specified. (Freeze_Entity): Do not generate a default external name for imported subprograms with convention Intrinsic (so that the above code can identify the case where an external name has been explicitly provided). * s-oscons-tmplt.c: Quote TARGET_OS early so that it is not erroneously replaced by something else due to an existing #define clause. 2009-09-16 Ed Schonberg <schonberg@adacore.com> * sinfo.ads, sinfo.adb (Is_Accessibility_Actual): New flag on Parameter_Association node, created for the extra actual generated for an access parameter of a function that dispatches on result, to prevent double generation of such actuals when the call is rewritten is a dispatching call. * exp_ch6.adb (Expand_Call): Set Is_Accessibility_Actual when needed. * exp_disp.adb (Expand_Dispatching_Call): Do not transfer extra actuals that carry this flag when rewriting the original call as a dispatching call, after propagating the controlling tag. 2009-09-16 Vincent Celier <celier@adacore.com> * prj-nmsc.adb (Add_Source): New parameter Source_Dir_Rank to be put in the source data. (Check_File): New parameter Source_Dir_Rank, to check if a duplicate source is allowed. (Find_Source_Dirs): New parameter Rank to be recorded with the source directories. (Search_Directories): Call Check_File with the rank of the directory * prj.adb (Project_Empty): Add new component Source_Dir_Ranks (Free): Free also Number_Lists (Reset): Init also Number_Lists * prj.ads (Number_List_Table): New dynamic table for lists of numbers (Source_Data): New component Source_Dir_Rank. Remove component Known_Order_Of_Source_Dirs, no longer needed. (Project_Data): New component Source_Dir_Ranks (Project_Tree_Data): New components Number_Lists From-SVN: r151749
2009-07-28[multiple changes]Arnaud Charlet1-9/+10
2009-07-28 Emmanuel Briot <briot@adacore.com> * prj.adb, prj.ads (Compute_All_Imported_Projects): Make sure the importing project does not end up in the list, in the case of extending projects. * make.adb, makeutl.adb, makeutl.ads (File_Not_A_Source_Of): Moved to makeutl.ads, for better sharing with gprbuild. 2009-07-28 Arnaud Charlet <charlet@adacore.com> * gnat_ugn.texi: Fix typo. 2009-07-28 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Build_Derived_Concurrent_Type): Handle properly a derivation that renames some discriminants and constrain others. * exp_ch9.adb (Build_Protected_Subprogram_Call): If the type of the prefix is a derived untagged type, convert to the root type to conform to the signature of the protected operations. 2009-07-28 Robert Dewar <dewar@adacore.com> * sinfo.ads: Update comments. * exp_attr.adb: Minor reformatting From-SVN: r150152
2009-07-28gnat1drv.adb (Adjust_Global_Switches): Disable generation of SCIL nodes if ↵Javier Miranda1-49/+97
we are not generating code. 2009-07-28 Javier Miranda <miranda@adacore.com> * gnat1drv.adb (Adjust_Global_Switches): Disable generation of SCIL nodes if we are not generating code. * frontend.adb (Check_SCIL_Node): New subprogram. Used to check attribute SCIL_Related_Node of SCIL dispatching nodes. (Check_SCIL_Nodes): New instantiation of Traverse_Proc. * sinfo.ads (Is_SCIL_Node,Set_Is_SCIL_Node): Removed (SCIL_Nkind,Set_SCIL_Nkind): Removed. (SCIL_Entity): Update documentation. (SCIL_Related_Node): Update documentation. (SCIL_Controlling_Tag): New attribute. (SCIL_Target_Prim): Update documentation. (N_Null_Statement): Remove attributes associated with SCIL nodes. (N_SCIL_Dispatch_Table_Object_Init): New node. (N_SCIL_Dispatch_Table_Tag_Init): New node. (N_SCIL_Dispatching_Call): New node. (N_SCIL_Tag_Init): New node. * sinfo.adb (Is_SCIL_Node,Set_Is_SCIL_Node): Removed (SCIL_Nkind,Set_SCIL_Nkind): Removed. (SCIL_Controlling_Tag/Set_SCIL_Controlling_Tag): New subprogram. (SCIL_Entity,Set_SCIL_Entity): Applicable only to SCIL nodes. (SCIL_Related_Node,Set_SCIL_Related_Node): Applicable only to SCIL nodes (SCIL_Target_Prim,Set_SCIL_Target_Prim): Applicable only to N_SCIL_Dispatching_Call nodes. * sem.adb (Analyze): No need to analyze SCIL nodes. * sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): New subprogram (Next_Non_SCIL_Node): New subprogram * sem_ch4.adb (Analyze_Type_Conversion): Adjust relocated SCIL dispatching nodes. * sem_ch5.adb (Analyze_Iteration_Scheme): Adjust relocated SCIL dispatching node. * sem_util.adb (Insert_Explicit_Dereference): Adjust relocated SCIL dispatching node. * exp_ch3.adb (Build_Array_Init_Proc): Skip SCIL nodes when processing null statement nodes. (Build_Init_Procedure): Generate new SCIL node. * exp_ch4.adb (Expand_N_And_Then): Adjust relocated SCIL dispatching node. * exp_ch6.adb (Is_Null_Procedure): Skip SCIL nodes. Required because they are currently implemented as special N_Null_Statement nodes. * exp_ch7.adb (Wrap_Transient_Statement): If the relocated node is a procedure call then check if some SCIL node references it and needs readjustment. * exp_disp.ads (SCIL_Node_Kind): Removed. (Adjust_SCIL_Node): New subprogram. (Find_SCIL_Node): New subprogram. (Get_SCIL_Node_Kind): Removed. (New_SCIL_Node): Removed. * exp_disp.adb (Adjust_SCIL_Node): New subprogram (Expand_Dispatching_Call): Generate new SCIL dispatching node including decoration of its new controlling_tag attribute. (Get_SCIL_Node_Kind): Removed. (Find_SCIL_Node): New subprogram. (Make_Secondary_DT): Generate new SCIL nodes. (Make_Tags): Generate new SCIL nodes. (New_SCIL_Node): Removed. * exp_util.adb (Insert_Actions): Handle SCIL nodes. (Remove_Side_Effects): Check if relocated nodes require readjustment of some SCIL dispatching node. * gcc-interface/trans.c (gnat_to_gnu): Do nothing with new SCIL nodes. From-SVN: r150149
2009-07-23[multiple changes]Arnaud Charlet1-35/+39
2009-07-23 Sergey Rybin <rybin@adacore.com> * gnat_ugn.texi: Update doc on Misnamed_Identifiers rule. 2009-07-23 Javier Miranda <miranda@adacore.com> * sinfo.ads, sinfo.adb (SCIL_Entity/Set_SCIL_Entity): new subprograms (Entity/Set_Entity): not available in N_Null_Statement nodes (Is_Scil_Node): renamed as Is_SCIL_Node (Scil_Nkind): renamed as SCIL_Nkind (Scil_Related_Node): renamed as SCIL_Related_Node (Scil_Target_Prim): renamed as SCIL_Target_Prim (Set_Is_Scil_Node): Renamed as Set_Is_SCIL_Node (Set_Scil_Related_Node): Renamed as Set_SCIL_Related_Node (Set_Scil_Target_Prim): Renamed as Set_SCIL_Target_Prim Update documentation * exp_disp.ads (Scil_Node_Kind): Renamed as SCIL_Node_Kind (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind (New_Scil_Node): Renamed as New_SCIL_Node * exp_disp.adb Update all occurrences of New_Scil_Node to New_SCIL_Node. (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind (New_Scil_Node): Renamed as New_SCIL_Node * exp_ch3.adb Update occurrence of New_Scil_Node to New_SCIL_Node. 2009-07-23 Robert Dewar <dewar@adacore.com> * sem_prag.adb: No_Return is an Ada 2005 pragma, not a GNAT pragma * snames.ads-tmpl: No_Return is an Ada 2005 pragma, not a GNAT pragma * einfo.adb: Minor reformatting From-SVN: r149984
2009-07-23checks.adb (Apply_Arithmetic_Overflow_Check): Add comments cross-referencing ↵Robert Dewar1-16/+19
the new related code in... 2009-07-23 Robert Dewar <dewar@adacore.com> * checks.adb (Apply_Arithmetic_Overflow_Check): Add comments cross-referencing the new related code in Exp_Ch4.Expand_N_Type_Conversion. * exp_ch4.adb (Expand_N_Type_Conversion): Avoid unnecessary overflows * exp_disp.adb, exp_disp.ads, sinfo.ads: Minor reformatting. Add comment. From-SVN: r149983
2009-07-23sinfo.ads (Is_Scil_Node, [...]): Add missing documentation.Javier Miranda1-7/+31
2009-07-23 Javier Miranda <miranda@adacore.com> * sinfo.ads (Is_Scil_Node, Scil_Nkind, Scil_Related_Node, Scil_Target_Prim, N_Has_Entity): Add missing documentation. * exp_disp.ads (Scil_Node_Kind): Ditto. * exp_disp.adb (Make_DT, Make_Tags): Ditto. * exp_ch3.adb (Build_Init_Procedure): Ditto. From-SVN: r149982
2009-07-23exp_ch5.adb (Expand_N_Assignment_Statement): Do left-side validity check ↵Robert Dewar1-0/+8
right away so it does not get skipped for early... 2009-07-23 Robert Dewar <dewar@adacore.com> * exp_ch5.adb (Expand_N_Assignment_Statement): Do left-side validity check right away so it does not get skipped for early returns, e.g. array assignments. (Expand_N_Assignment_Statement): Don't propagate Is_Known_Valid to left-side unless we really know the value is valid. * errout.adb, exp_ch3.adb, exp_disp.ads, sinfo.ads, exp_disp.adb: Minor reformatting. Minor code reorganization. Add comments. From-SVN: r149978
2009-07-23[multiple changes]Arnaud Charlet1-0/+37
2009-07-23 Gary Dismukes <dismukes@adacore.com> * sem_ch6.adb (Check_Return_Subtype_Indication): Replace type equality with test of coverage, to allow specific type objects in extended returns of class-wide functions. Remove now-unnecessary special-case tests that allowed this in certain cases of expanded extended returns. 2009-07-23 Javier Miranda <miranda@adacore.com> * sinfo.ads,sinfo.adb (Entity/Set_Entity): Attribute available in N_Null_Statements (for SCIL nodes). (Is_Scil_Node/Set_Is_Scil_Node): New attribute (for SCIL nodes). (Scil_Nkind/Set_Scil_Nkind): New attribute (for SCIL nodes). (Scil_Related_Node/Set_Scil_Related_Node): New attribute (for SCIL nodes). (Scil_Target_Prim/Set_Scil_Target_Prim): New attribute (for SCIL nodes). * exp_disp.adb (Expand_Dispatching_Call): Add generation of SCIL node associated with dispatching call. (Get_Scil_Node_Kind): New function that returns the kind of SCIL node. (Make_DT, Make_Tags): Add generation of SCIL nodes associated with initialization of dispatch tables and initialization of tags. (New_Scil_Node): New function that creates a new SCIL node. (Build_Init_Procedure): Add generation of SCIL node associated with the initialization of tags done in the IP subprogram. 2009-07-23 Ed Schonberg <schonberg@adacore.com> * errout.adb (Error_Msg_NEL): If the entity in the initial message has Warnings_Off, do not emit continuation messages. * sem_ch10.adb: Set Is_Compilation_Unit on generated child subprogram spec. 2009-07-23 Emmanuel Briot <briot@adacore.com> * ali.adb: Minor comment update 2009-07-23 Vasiliy Fofanov <fofanov@adacore.com> * s-win32.ads (HANDLE): Define to be the same size as address type. Fix copyright. 2009-07-23 Olivier Hainque <hainque@adacore.com> * g-sse.ads: New file. Root of the SSE facilities trees, with general description and common declarations. * g-ssvety.ads: New file. Expose user level SSE vector types. * impunit.adb (Non_Imp_File_Names_95): Register new units. * gcc-interface/Makefile.in (x86 32/64 linux, win32): Add EXTRA_GNATRTL_NONTASKING_OBJS entries for SSE units. 2009-07-23 Ben Brosgol <brosgol@adacore.com> * gnat_ugn.texi: Wordsmithing. From-SVN: r149974
2009-07-22[multiple changes]Arnaud Charlet1-0/+16
2009-07-22 Thomas Quinot <quinot@adacore.com> * sem_elab.adb (Insert_Elab_Check): When relocating an overloaded expression to insert an elab check using a conditional expression, be sure to carry the original list of interpretations to the new location. 2009-07-22 Gary Dismukes <dismukes@adacore.com> * gnat1drv.adb: Fix spelling error. 2009-07-22 Javier Miranda <miranda@adacore.com> * sem_type.ads, sem_type.adb (In_Generic_Actual): Leave this subprogram at the library level and fix a hidden bug in its implementation: its functionality for renaming objects was broken because N_Object_Renaming_Declarations nodes are not a subclass of N_Declaration nodes (as documented in sinfo.ads). * sem_util.adb (Check_Dynamically_Tagged_Expression): Include in this check nodes that are actuals of generic instantiations. 2009-07-22 Ed Schonberg <schonberg@adacore.com> * sinfo.ads, sinfo.adb (Pending_Context): New flag to indicate that the context of a compilation unit is being analyzed. Used to detect circularities created by with_clauses that are not detected by the loading machinery. * sem_ch10.adb (Analyze_Compilation_Unit): Set Pending_Context before analyzing the context of the current compilation unit, to detect possible circularities created by with_clauses. From-SVN: r149925
2009-07-20[multiple changes]Arnaud Charlet1-0/+19
2009-07-20 Robert Dewar <dewar@adacore.com> * vms_data.ads: Minor reformatting * einfo.ads, einfo.adb (Parent_Subtype): Now allowed on record subtype, applies to base type. (Parent_Subtype): Now allowed on record subtype, applies to base type * exp_ch5.adb (Expand_Assign_Record): Handle Componentwise_Assignment for case of fully repped tagged type. (Make_Tag_Ctrl_Assignment): Set Componentwise_Assignment and avoid tag save/restore for fully repped tagged type case. * exp_util.ads, exp_util.adb (Is_Fully_Repped_Tagged_Type): New function * fe.h (Is_Fully_Repped_Tagged_Type): New function * sem_ch13.adb (Analyze_Recorrd_Representation_Clause): Check for overlap of tagged type components with parent type if parent type is fully repped. * sinfo.ads, sinfo.adb (Componentwise_Assignment): New flag * sem_res.adb (Check_No_Direct_Boolean_Operators): Remove handling of comparisons. (Resolve_Comparison_Operators): Remove No_Direct_Boolean_Operators check (Resolve_Equality_Op): Remove No_Direct_Boolean_Operators check * gnat_rm.texi: Restriction No_Direct_Boolean_Operators includes only logical operators (AND/OR/XOR), not comparison operators. * sprint.ads: Minor reformatting 2009-07-20 Ed Schonberg <schonberg@adacore.com> * sem_intr.adb (Check_Intrinsic_Call): For Import_Value and related intrinsics, check that argument is a string literal, rather than checking for staticness. From-SVN: r149811
2009-07-15[multiple changes]Arnaud Charlet1-1/+1
2009-07-15 Sergey Rybin <rybin@adacore.com> * tree_in.ads, tree_io.ads: Add pragma Warnings Off/On for with clause to System.OS_Lib to avoid warnings. 2009-07-15 Robert Dewar <dewar@adacore.com> * sinfo.ads, make.adb, par.ads, par.adb, sem_warn.adb: Minor reformatting. 2009-07-15 Thomas Quinot <quinot@adacore.com> * g-socthi-mingw.adb: Minor comment addition * g-socthi-mingw.ads (WSAStartup): First argument is a WORD not an int. From-SVN: r149668
2009-07-13[multiple changes]Arnaud Charlet1-1/+0
2009-07-13 Robert Dewar <dewar@adacore.com> * output.adb: Minor comment addition for last change * sinfo.ads: Minor reformatting 2009-07-13 Vasiliy Fofanov <fofanov@adacore.com> * adaint.c (__gnat_portable_no_block_spawn): on Windows, return -1 when spawn failed like on all other targets. 2009-07-13 Ed Schonberg <schonberg@adacore.com> * exp_ch7.adb: Indicate origin of temporary for transient expression. From-SVN: r149584
2009-07-13[multiple changes]Arnaud Charlet1-0/+12
2009-07-13 Thomas Quinot <quinot@adacore.com> * s-oscons-tmplt.c: Add comment. 2009-07-13 Robert Dewar <dewar@adacore.com> * sinfo.adb, sinfo.ads, sem_util.adb, atree.adb, atree.ads: Minor reformatting. Minor code reorganization (add 9 argument version of Nkind_In). * impunit.adb: Remove s-os_lib from list of system extensions. * sem_util.ads: Minor reformatting * output.adb: Add warnings off/on around System.OS_Lib. From-SVN: r149583
2009-07-13par-ch3.adb (P_Discrete_Choice_List): Choice can only be simple expression ↵Robert Dewar1-8/+23
if extensions permitted. 2009-07-13 Robert Dewar <dewar@adacore.com> * par-ch3.adb (P_Discrete_Choice_List): Choice can only be simple expression if extensions permitted. * par-ch4.adb (P_Membership_Test): New procedure (implement membership set tests). (P_Relation): Use P_Membership_Test * par.adb (P_Membership_Test): New procedure (implement membership set tests). * sinfo.ads, sinfo.adb (N_In, N_Not_In) Add Alternatives field for sets. * sprint.adb (Sprint_Node): Handle set form for membership tests. From-SVN: r149556
2009-07-10[multiple changes]Arnaud Charlet1-2/+9
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
2009-07-09[multiple changes]Arnaud Charlet1-1/+1
2009-07-09 Emmanuel Briot <briot@adacore.com> * prj-nmsc.adb (Find_Sources): Avoid error messages from gprbuild from multi-unit files. 2009-07-09 Thomas Quinot <quinot@adacore.com> * freeze.adb: Minor reformatting * exp_ch3.adb: Minor comment fix. * sinfo.ads: Minor comment fix 2009-07-09 Ed Schonberg <schonberg@adacore.com> * exp_ch4.adb (Expand_N_Conditional_Expression): Set Related_Expression. From-SVN: r149411
2009-07-07scng.adb: Minor reformatttingRobert Dewar1-5/+33
2009-07-07 Robert Dewar <dewar@adacore.com> * scng.adb: Minor reformattting * par-ch2.adb (Scan_Pragma_Argument_Association): Pragma argument association allows conditional expression without parens. * par-ch4.adb (P_Name): Attribute arguments can be conditional expressions without enclosing parentheses, and also as parameters, indexing expressions etc. (P_Conditional_Expression): New procedure (P_Expression_If_OK): New procedure * par.adb (P_Conditional_Expression): New procedure (P_Expression_If_OK): New procedure * sem_ch4.adb (Analyze_Conditional_Expression): Allow for two argument form of conditional expression. * sem_res.adb (Resolve_Conditional_Expression): Deal with supplying missing True argument if ELSE argument missing. * sinfo.adb (Is_Elsif): New flag * sinfo.ads (N_Conditional_Expression): This node is now a syntactic part of the language, and the documentation is modified accordingly. (Is_Elsif): New flag From-SVN: r149316
2009-04-29sinfo.ads, sinfo.adb: New attribute Next_Implicit_With...Ed Schonberg1-0/+19
2009-04-29 Ed Schonberg <schonberg@adacore.com> * sinfo.ads, sinfo.adb: New attribute Next_Implicit_With, to chain with_clauses generated for the same unit through rtsfind, and that appear in the context of different units. * rtsfind.adb: New attribute First_Implicit_With, component of the Unit_Record that stores information about a unit loaded through rtsfind. From-SVN: r146951
2009-04-23gimplify.c (gimplify_modify_expr_rhs): Do not do a direct assignment from ↵Eric Botcazou1-10/+4
the constructor either if the target is volatile. * gimplify.c (gimplify_modify_expr_rhs) <VAR_DECL>: Do not do a direct assignment from the constructor either if the target is volatile. ada/ * einfo.ads (Is_True_Constant): Lift restriction on atomic objects. * sinfo.ads (Object Declaration): Likewise. (Assignment Statement): Likewise. * freeze.adb (Expand_Atomic_Aggregate): Remove useless test. Do not force Is_True_Constant to false on the temporary. (Freeze_Entity): Do not force Is_True_Constant to false on names on the RHS of object declarations. * gcc-interface/trans.c (lvalue_required_p) <N_Object_Declaration>: New case. Return 1 if the object is atomic. <N_Assignment_Statement>: Likewise. From-SVN: r146652
2009-04-22lib-load.adb: MInor reformattingRobert Dewar1-2/+2
2009-04-22 Robert Dewar <dewar@adacore.com> * lib-load.adb: MInor reformatting * lib-load.ads: Minor reformatting * sinfo.ads: Minor reformatting From-SVN: r146557
2009-04-22exp_pakd.adb: Minor comment fixes.Bob Duff1-12/+9
2009-04-22 Bob Duff <duff@adacore.com> * exp_pakd.adb: Minor comment fixes. * sinfo.ads, par-load.adb, sem_ch10.adb, lib-load.ads, lib-load.adb sem_ch12.adb: Change the meaning of the Library_Unit attribute to include units containing instantiations, as well as units that are generic instantiations. * sem.adb: Include dependents and corresponding specs/bodies in the unit walk. * gcc-interface/Make-lang.in: sem now depends on s-bitops, because of the packed array of Booleans. From-SVN: r146556
2009-04-20[multiple changes]Arnaud Charlet1-2/+2
2009-04-20 Robert Dewar <dewar@adacore.com> * sinfo.ads: Minor comment fixes * exp_disp.adb: Minor reformatting * gnat1drv.adb: Minor reformatting * output.adb: Minor reformatting * s-vxwext-kernel.ads: Minor reformatting * sem.ads: Minor reformatting * sem.adb: Minor reformatting * sem_elim.adb: Minor reformatting * uname.ads: Minor reformatting 2009-04-20 Eric Botcazou <ebotcazou@adacore.com> * init.c (__gnat_adjust_context_for_raise): On x86{-64}/Linux, add a small dope of 4 words to the adjustment to the stack pointer. 2009-04-20 Thomas Quinot <quinot@adacore.com> * xoscons.adb: generate C header s-oscons.h in addition to s-oscons.ads. * socket.c: On VMS, use s-oscons.h. * sem_ch3.adb: Minor reformatting * exp_ch9.adb: Minor reformatting From-SVN: r146401
2009-04-20Update comments.Arnaud Charlet1-18/+15
From-SVN: r146372
2009-04-17[multiple changes]Arnaud Charlet1-1/+1
2009-04-17 Thomas Quinot <quinot@adacore.com> * sinfo.ads, exp_aggr.adb, exp_aggr.ads: Minor reformatting * exp_ch7.adb: Minor reformatting 2009-04-17 Bob Duff <duff@adacore.com> * exp_ch4.adb (Expand_Allocator_Expression): In an initialized allocator, check that the expression of the qualified expression obeys the constraints of the subtype of the qualified expression. 2009-04-17 Thomas Quinot <quinot@adacore.com> * sprint.adb (Write_Itype): Add handling of enumeration subtypes. From-SVN: r146239
2009-04-16[multiple changes]Arnaud Charlet1-8/+18
2009-04-16 Emmanuel Briot <briot@adacore.com> * prj-nmsc.adb (Path_Name_Of): fix memory leak 2009-04-16 Robert Dewar <dewar@adacore.com> * sinfo.ads (Backwards_OK, Forwards_OK): Clarify documentation 2009-04-16 Vincent Celier <celier@adacore.com> * fmap.adb (Initialize): Show the current line when the mapping file is detected as "incorrectly formatted". 2009-04-16 Robert Dewar <dewar@adacore.com> * sem_ch12.adb: Minor reformatting * sem_ch5.adb: Minor comment addition * sem_util.adb: Minor reformatting * sinput-p.adb: Minor reformatting Add missing pragma Warnings (On) From-SVN: r146152
2009-04-15[multiple changes]Arnaud Charlet1-1/+1
2009-04-15 Pascal Obry <obry@adacore.com> * adaint.h (__gnat_unlink): Add spec. (__gnat_rename): Likewise. 2009-04-15 Vincent Celier <celier@adacore.com> * prj-nmsc.adb: Minor spelling error corrections in error messages 2009-04-15 Robert Dewar <dewar@adacore.com> * sinfo.ads: Minor comment update * opt.ads: Minor comment updates * checks.adb (Enable_Overflow_Check): Do not set Do_Overflow_Check for modular type. 2009-04-15 Ed Schonberg <schonberg@adacore.com> * exp_disp.ads, exp_disp.adb (Register_Primitive): Is now a function that generates the code needed to update a dispatch table when a primitive operation is declared with a subprogram body without previous spec. Insertion of the generated code is responsibility of the caller. (Make_DT): When building static tables, append the code created by Register_Primitive to update a secondary table after it has been constructed. * exp_ch3.adb, exp_ch6.adb: use new version of Register_Primitive. * sem_disp.adb (Check_Dispatching_Operation): Call Register_Primitive on an overriding operation that implements an interface operation only if not building static dispatch tables. 2009-04-15 Hristian Kirtchev <kirtchev@adacore.com> * a-caldel-vms.adb (To_Duration): Declare a "safe" end of time which does not cause overflow when converted to Duration. Use the safe value as the maximum allowable time delay.. 2009-04-15 Jerome Lambourg <lambourg@adacore.com> * g-comlin.adb (Set_Command_Line): When adding a switch with attached parameter, specify that the delimiter is NUL, otherwise "-j2" will be translated to "-j 2". 2009-04-15 Bob Duff <duff@adacore.com> * rtsfind.adb (Maybe_Add_With): Split out procedure to add implicit with_clauses, to avoid code duplication. Change this processing so we always add a with_clause on the main unit if needed. From-SVN: r146102
2009-04-10[multiple changes]Arnaud Charlet1-0/+7
2009-04-10 Robert Dewar <dewar@adacore.com> * einfo.ads, einfo.adb (Low_Bound_Tested): New name for Low_Bound_Known * sem_prag.adb (Analyze_Pragma, case Check): Remove check for lower bound tested, since this is now done more generally in Sem_Res. * sem_res.adb (Resolve_Comparison_Op): Add call to Check_Lower_Bound_Tested. (Resolve_Equality_Op): Add call to Check_Lower_Bound_Tested * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): New procedure (Low_Bound_Tested): New name for Low_Bound_Known flag * exp_ch5.adb: Minor reformatting * exp_ch4.adb: Add comments on copying the Comes_From_Source flag for allocators * sinfo.ads: Add comments on copying the Comes_From_Source flag for allocators * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Copy Comes_From_Source flag from old allocator to new one. 2009-04-10 Ed Schonberg <schonberg@adacore.com> * sem_ch6.ads: Address missing documentation query 2009-04-10 Vincent Celier <celier@adacore.com> * prj-attr.adb: Add new Linker attributes Max_Command_Line_Length, Response_File_Format and Response_File_Switches. * prj-nmsc.adb (Process_Linker): Process new attributes Max_Command_Line_Length, Response_File_Format and Response_File_Switches. * prj.ads (Response_File_Format): New enumeration type (Project_Configuration): New componants Max_Command_Line_Length, Resp_File_Format and Resp_File_Options. * snames.ads-tmpl: Add new standard names for linking response files for gprbuild: GNU, None, Object_List, Option_List, Max_Command_Line_Length, Response_File_Format and Response_File_Switches. 2009-04-10 Geert Bosch <bosch@adacore.com> * system-aix.ads, system-darwin-ppc.ads, system-darwin-x86.ads, system-freebsd-x86.ads, system-hpux.ads, system-hpux-ia64.ads, system-irix-n32.ads, system-irix-o32.ads, system-linux-alpha.ads, system-linux-hppa.ads, system-linux-ia64.ads, system-linux-ppc.ads, system-linux-s390.ads, system-linux-s390x.ads, system-linux-sh4.ads, system-linux-sparc.ads, system-linux-x86_64.ads, system-linux-x86.ads, system-mingw.ads, system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads, system-vms_64.ads, system-vms.ads, system-vms-ia64.ads, system-vms-zcx.ads, system-vxworks-arm.ads, system-vxworks-m68k.ads, system-vxworks-mips.ads, system-vxworks-ppc.ads, system-vxworks-sparcv9.ads, system-vxworks-x86.ads (Backend_Overflow_Checks): Set to True. From-SVN: r145924
2009-04-10[multiple changes]Arnaud Charlet1-1/+2
2009-04-10 Bob Duff <duff@adacore.com> * rtsfind.ads: Minor code change: make RE_Unit_Table constant. * rtsfind.adb: Minor comment changes, and remove useless code. * sinfo.ads: Add ??? comment. 2009-04-10 Vincent Celier <celier@adacore.com> * vms_data.ads: Add missing GNAT SYNC VMS qualifiers -main= and -U From-SVN: r145914
2009-04-10[multiple changes]Arnaud Charlet1-0/+9
2009-04-10 Robert Dewar <dewar@adacore.com> * gnat_rm.texi: Document that postconditions are tested on implicit returns. * sem_aux.adb: Minor reformatting 2009-04-10 Gary Dismukes <dismukes@adacore.com> * itypes.adb (Create_Null_Excluding_Itype): Apply Base_Type when setting Etype. * par-ch3.adb (P_Access_Type_Definition): Set new attribute Null_Exclusion_In_Return_Present when an access-to-function type has a result type with an explicit not null. * sem_ch3.adb (Access_Subprogram_Definition): If a null exclusion is given on the result type, then create a null-excluding itype for the function. * sem_ch6.adb (Analyze_Return_Type): Create a null-excluding itype in the case where a null exclusion is imposed on a named access type. (Analyze_Subprogram_Specification): Push and pop the scope of the function around the call to Analyze_Return_Type in the case of no formals, for consistency with handling when formals are present (Process_Formals does this). Ensures that any itype created for the return type will be associated with the proper scope. * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): If a null exclusion is given on a generic function's result type, then create a null-excluding itype for the generic function. (Instantiate_Object): Set Null_Exclusion_Present of a constant created for an actual for a formal in object according to the setting on the formal. Ensures null exclusion checks are done when the association is elaborated. * sinfo.ads: Add new flag Null_Exclusion_In_Return_Present on N_Access_Function_Definition. * sinfo.adb: Add Get_ and Set_ operations for Null_Exclusion_In_Return_Present. From-SVN: r145912
2009-04-09Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.Jakub Jelinek1-13/+11
From-SVN: r145841
2009-04-07checks.adb (Determine_Range): Add Assume_Valid parameterRobert Dewar1-3/+17
2009-04-07 Robert Dewar <dewar@adacore.com> * checks.adb (Determine_Range): Add Assume_Valid parameter * checks.ads (Determine_Range): Add Assume_Valid parameter * errout.adb (Error_Msg_NEL): Use Suppress_Loop_Warnings rather than Is_Null_Loop to suppress warnings in a loop body. * exp_ch4.adb: (Rewrite_Comparison): Major rewrite to accomodate invalid values * exp_ch5.adb: (Expand_N_Loop_Statement): Delete loop known not to execute * opt.ads: (Assume_No_Invalid_Values): Now set to False, and as documented, this fully enables the proper handling of invalid values. * sem_attr.adb: New calling sequence for Is_In_Range * sem_ch5.adb: (Analyze_Iteration_Scheme): Accomodate possible invalid values in determining if a loop range is null. * sem_eval.adb: (Is_In_Range): Add Assume_Valid parameter (Is_Out_Of_Range): Add Assume_Valid_Parameter (Compile_Time_Compare): Major rewrite to accomodate invalid values and also to do more accurate and complete range analysis, catching more cases. * sem_eval.ads: (Is_In_Range): Add Assume_Valid parameter (Is_Out_Of_Range): Add Assume_Valid_Parameter * sem_util.adb: New calling sequence for Is_In_Range * sinfo.adb: (Suppress_Loop_Warnings): New flag * sinfo.ads: (Is_Null_Loop): Update documentation (Suppress_Loop_Warnings): New flag * gnat_ugn.texi: Document -gnatB switch From-SVN: r145672
2008-09-14a-crbtgk.adb, [...]: Fix typos in comments.Ralf Wildenhues1-2/+2
gcc/ada/ * a-crbtgk.adb, a-direct.ads, a-tasatt.adb, ali.ads, bindgen.adb, checks.adb, einfo.ads, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb, exp_ch4.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb, exp_dbug.ads, exp_disp.adb, exp_dist.adb, exp_pakd.adb, exp_util.adb, g-alveop.ads, g-comlin.adb, g-comlin.ads, g-diopit.adb, g-socket.ads, gcc-interface/decl.c, gcc-interface/gigi.h, gcc-interface/trans.c, lib-load.adb, lib-xref.ads, make.adb, mlib-prj.adb, nlists.ads, opt.ads, par-ch10.adb, par-ch5.adb, par.adb, s-os_lib.ads, s-oscons-tmplt.c, s-parint.ads, s-regpat.ads, s-shasto.ads, s-stausa.ads, s-taprop-vms.adb, sem.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_elim.adb, sem_prag.adb, sem_util.adb, sem_util.ads, sem_warn.adb, sinfo.ads, styleg.adb, vms_data.ads: Fix typos in comments. * gnathtml.pl: Fix typos. From-SVN: r140356
2008-06-03Makefile.in (common_tools): Fix typos in $(exeext) extension.Ralf Wildenhues1-1/+1
gcc/ada/ * Makefile.in (common_tools): Fix typos in $(exeext) extension. * gnat_ugn.texi (Style Checking) (Adding the Results of Compiler Checks to gnatcheck Output) (Example of Binder Output File): Fix typos. * ali.ads, einfo.ads, exp_ch4.adb, exp_ch6.adb, exp_dbug.ads, exp_dist.adb, exp_smem.adb, g-socket.ads, s-osinte-rtems.ads, s-shasto.ads, s-stausa.adb, s-stausa.ads, sem_cat.adb, sem_ch12.adb, sem_ch3.adb, sem_ch4.adb, sem_ch6.adb, sem_ch8.adb, sem_util.ads, sinfo.ads, utils.c: Fix typos in comments. * sem_ch6.adb, vms_data.ads: Fix typos in strings. From-SVN: r136329
2008-05-26* sinfo.ads: Minor reformattingArnaud Charlet1-2/+2
From-SVN: r135915
2008-05-20g-byorma.adb, [...]: Update comments.Robert Dewar1-6/+7
2008-05-20 Robert Dewar <dewar@adacore.com> * g-byorma.adb, gnatlink.adb, prepcomp.adb, sinfo.ads, sem_ch12.adb: Update comments. Minor reformatting. * exp_ch2.adb: Typo * s-unstyp.ads: Fixed some typos in comments. From-SVN: r135651
2008-04-14vms_data.ads: Fix typo in constant.Ralf Wildenhues1-1/+1
gcc/ada/ * vms_data.ads: Fix typo in constant. * gen-soccon.c: Fix typo in error string. * gnat_rm.texi (Pragma Optimize_Alignment, Pragma Postcondition): Fix typos. * a-calcon.ads, a-calend-vms.adb, a-calend.adb, a-crdlli.ads, bcheck.adb, checks.adb, einfo.ads, errout.adb, erroutc.adb, erroutc.ads, exp_attr.adb, exp_ch11.adb, exp_ch2.adb, exp_ch5.adb, exp_ch9.adb, exp_ch9.ads, exp_pakd.adb, exp_util.adb, fmap.adb, g-soccon-linux-mips.ads, g-soccon-rtems.ads, g-timsta.adb, g-timsta.ads, lib-writ.ads, mlib-tgt-specific-linux.adb, mlib-tgt-specific-tru64.adb, s-interr-vxworks.adb, s-interr.adb, s-osinte-lynxos.ads, s-rident.ads, s-taprop-solaris.adb, s-tassta.adb, s-win32.ads, sem_aggr.adb, sem_attr.ads, sem_ch10.adb, sem_ch13.ads, sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_prag.ads, sem_res.adb, sem_util.adb, sem_util.ads, sinfo.ads: Fix typos in comments. From-SVN: r134291
2008-04-13sfn_scan.adb, [...]: Fix comment typos.Ralf Wildenhues1-39/+39
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
2008-04-08alloc.ads: Add entries for Obsolescent_Warnings tableRobert Dewar1-63/+110
2008-04-08 Robert Dewar <dewar@adacore.com> Bob Duff <duff@adacore.com> Gary Dismukes <dismukes@adacore.com> Ed Schonberg <schonberg@adacore.com> * alloc.ads: Add entries for Obsolescent_Warnings table * einfo.ads, einfo.adb: Minor reformatting. (Is_Discriminal): New subprogram. (Is_Prival): New subprogram. (Is_Protected_Component): New subprogram. (Is_Protected_Private): Removed. (Object_Ref, Set_Object_Ref): Removed. (Prival, Set_Prival): Change assertion. (Privals_Chain, Set_Privals_Chain): Removed. (Prival_Link, Set_Prival_Link): New subprogram. (Protected_Operation, Set_Protected_Operation): Removed. (Protection_Object, Set_Protection_Object): New subprogram. (Write_Field17_Name): Remove case for Object_Ref. (Write_Field20_Name): Add case for Prival_Link. (Write_Field22_Name): Remove case for Protected_Operation, Privals_Chain. Add case for Protection_Object. (Can_Use_Internal_Rep): Make this into a [base type only] attribute, so clients (Overlays_Constant): New flag (Is_Constant_Object): New predicate (Is_Standard_Character_Type): New predicate (Optimize_Alignment_Space): New flag (Optimize_Alignment_Time): New flag (Has_Postconditions): New flag (Obsolescent_Warrning): Field removed (Spec_PPC_List): New field (Relative_Deadline_Variable, Set_Relative_Deadline_Variable): Add subprograms to get and set the relative deadline associated to a task. * exp_attr.adb (May_Be_External_Call): Account for the case where the Access attribute is part of a named parameter association. (Expand_Access_To_Protected_Op): Test for the attribute occurring within an init proc and use that directly as the scope rather than traversing up to the protected operation's enclosing scope. Only apply assertion on Is_Open_Scopes in the case the scope traversal is done. For the init proc case use the address of the first formal (_init) as the protected object reference. Implement Invalid_Value attribute (Expand_N_Attribute_Reference): Case Attribute_Unrestricted_Access. contents of the dispatch table there is no need to duplicate the itypes associated with record types (i.e. the implicit full view of private types). Implement Enum_Val attribute (Expand_N_Attribute_Reference, case Old): Properly handle appearence within _Postconditions procedure (Expand_N_Attribute_Reference, case Result): Implement new attribute * exp_ch5.adb (Expand_N_Simple_Return_Statement): Handle case in which a return statement calls a function that is not available in configurable runtime. (Analyze_If_Statement): don't optimize simple True/False cases in -O0 (Expand_Non_Function_Return): Generate call to _Postconditions proc (Expand_Simple_Function_Return): Ditto * frontend.adb: Add call to Sem_Aux.Initialize * sem_aux.ads, sem_aux.adb: New file. * par-prag.adb: Add entries for pragmas Precondition/Postcondition Add new Pragma_Relative_Deadline. Add support for pragmas Check and Check_Policy * sem_attr.ads, sem_attr.adb (Check_Not_CPP_Type): New subprogram. (Check_Stream_Attribute): Add missing check (not allowed in CPP types) (Analyze_Attribute): In case of attributes 'Alignment and 'size add missing check because they are not allowed in CPP tagged types. Add Sure parameter to Note_Possible_Modification calls Add implementation of Invalid_Value attribute Implement new attribute Has_Tagged_Values Implement Enum_Val attribute (Analyze_Attribute, case Range): Set Name_Req True for prefix of generated attributes. (Analyze_Attribute, case Result): If prefix of the attribute is overloaded, it always resolves to the enclosing function. (Analyze_Attribute, case Result): Properly deal with analysis when Postconditions are not active. (Resolve_Attribute, case Result): Properly deal with appearence during preanalysis in spec. Add processing for attribute Result * sem_ch6.ads, sem_ch6.adb (Check_Overriding_Indicator): Code cleanup for operators. (Analyze_Subprogram_Body): Install private_with_clauses when the body acts as a spec. (Check_Inline_Pragma): recognize an inline pragma that appears within the subprogram body to which it applies. (Analyze_Function_Return): Check that type of the expression of a return statement in a function with a class-wide result is not declared at a deeper level than the function. (Process_PPCs): Deal with enabling/disabling, using PPC_Enabled flag (Verify_Overriding_Indicator): Handle properly subprogram bodies for user- defined operators. (Install_Formals): Moved to spec to allow use from Sem_Prag for analysis of precondition/postcondition pragmas. (Analyze_Subprogram_Body.Last_Real_Spec_Entity): New name for Last_Formal, along with lots of comments on what this is about (Analyze_Subprogram_Body): Fix case where we move entities from the spec to the body when there are no body entities (now possible with precondition and postcondition pragmas). (Process_PPCs): New procedure (Analyze_Subprogram_Body): Add call to Process_PPCs * sem_ch8.adb (Use_One_Type): refine warning on a redundant use_type clause. (Pop_Scope): Restore Check_Policy_List on scope exit (Push_Scope): Save Check_Policy_List on scope entry Change name In_Default_Expression => In_Spec_Expression Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve (Analyze_Object_Renaming): Allow 'Reference as object (Analyze_Pragma, case Restriction_Warnings): Call GNAT_Pragma (Process_Restrictions_Or_Restriction_Warnings): Check for bad spelling of restriction identifier. Add Sure parameter to Note_Possible_Modication calls * sem_prag.ads, sem_prag.adb (Analyze_Pragma, case Stream_Convert): Don't check for primitive operations when calling Rep_Item_Too_Late. (Process_Import_Or_Interface): Do not place flag on formal subprograms. (Analyze_Pragma, case Export): If the entity is a deferred constant, propagate information to full view, which is the one elaborated by the back-end. (Make_Inline): the pragma is effective if it applies to an internally generated subprogram declaration for a body that carries the pragma. (Analyze_Pragma, case Optimize_Alignment): Set new flag Optimize_Alignment_Local. (Analyze_PPC_In_Decl_Part): New procedure (Get_Pragma_Arg): Moved to outer level (Check_Precondition_Postcondition): Change to allow new visibility rules for package spec (Analyze_Pragma, case Check_Policy): Change placement rules to be same as pragma Suppress/Unsuppress. Change name In_Default_Expression => In_Spec_Expression Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve (Check_Precondition_Postcondition): Do proper visibility preanalysis for the case of these pragmas appearing in the spec. (Check_Enabled): New function (Initialize): New procedure (Tree_Read): New procedure (Tree_Write): New procedure (Check_Precondition_Postcondition): New procedure Implement pragmas Check and Check_Policy Merge Assert processing with Check * sem_warn.adb (Warn_On_Known_Condition): Handle pragma Check New warning flag -gnatw.e * sinfo.ads, sinfo.adb (Has_Relative_Deadline_Pragma): New function returning whether a task (or main procedure) has a pragma Relative_Deadline. (Set_Has_Relative_Deadline_Pragma): Procedure to indicate that a task (or main procedure) has a pragma Relative_Deadline. Add Next_Pragma field to N_Pragma node (PPC_Enabled): New flag (Next_Pragma): Now used for Pre/Postcondition processing * snames.h, snames.ads, snames.adb: New standard name Inherit_Source_Path Add entry for 'Invalid_Value attribute Add entry for new attribute Has_Tagged_Values Add entry for Enum_Val attribute Add new standard names Aggregate, Configuration and Library. Add _Postconditions Add _Result Add Pragma_Precondition Add Pragma_Postcondition Add Attribute_Result New standard name Archive_Builder_Append_Option (Preset_Names): Add _relative_deadline and relative_deadline definitions There was also a missing non_preemptive_within_priorities. (Get_Pragma_Id, Is_Pragma_Name): Add support for pragma Relative_Deadline. Add support for pragmas Check and Check_Policy * tree_gen.adb: Call Sem_Aux.Tree_Write * tree_in.adb: Call Sem_Aux.Tree_Read * exp_ch11.adb (Expand_N_Raise_Statement): New Build_Location calling sequence * exp_intr.adb (Expand_Source_Info): New Build_Location calling sequence * exp_prag.adb (Expand_Pragma_Relative_Deadline): New procedure. (Expand_N_Pragma): Call the appropriate procedure for expanding pragma Relative_Deadline. (Expand_Pragma_Check): New procedure * sinput.ads, sinput.adb (Build_Location_String): Now appends to name buffer. * sinfo.adb (PPC_Enabled): New flag From-SVN: r134010
2008-03-26sem_ch11.adb: Fix No_Exception_Restriction violation for SJLJRobert Dewar1-11/+28
2008-03-26 Robert Dewar <dewar@adacore.com> * sem_ch11.adb: Fix No_Exception_Restriction violation for SJLJ * sinfo.ads, sinfo.adb (From_At_End): New flag From-SVN: r133576
2007-12-13atree.adb (Flag231..Flag247): New functionsRobert Dewar1-31/+127
2007-12-06 Robert Dewar <dewar@adacore.com> * atree.adb (Flag231..Flag247): New functions (Set_Flag231..Set_Flag247): New procedures (Basic_Set_Convention): Rename Set_Convention to be Basic_Set_Convention (Nkind_In): New functions Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List * exp_ch6.adb (Expand_Call): Use new flag Has_Pragma_Inline_Always instead of obsolete function Is_Always_Inlined (Register_Predefined_DT_Entry): Initialize slots of the second secondary dispatch table. Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List (Expand_N_Function_Call): Remove special provision for stack checking. * exp_util.ads, exp_util.adb (Is_Predefined_Dispatching_Operation): Include _Disp_Requeue in the list of predefined operations. (Find_Interface_ADT): Modified to fulfill the new specification. Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List * par-ch4.adb, nlists.ads, nlists.adb: Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List * sinfo.ads, sinfo.adb: (Nkind_In): New functions Fix location of flag for unrecognized pragma message * sem_ch7.adb: Use Nkind_In From-SVN: r130820
2007-10-15s-taprop-solaris.adb, [...]: Minor reformatting.Robert Dewar1-1/+1
2007-10-15 Robert Dewar <dewar@adacore.com> * s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb, s-taprop-posix.adb, a-calend-vms.adb, a-calend.adb, a-nuflra.adb, a-tigeau.adb, a-wtgeau.adb, checks.adb, bindgen.adb, eval_fat.adb, exp_fixd.adb, fmap.adb, freeze.adb, g-awk.adb, g-calend.adb, g-diopit.adb, g-expect.adb, gnatchop.adb, gnatlink.adb, g-spipat.adb, g-thread.adb, make.adb, mdll.adb, mlib.adb, mlib-prj.adb, osint.adb, par-ch3.adb, prj.adb, prj-makr.adb, sem_prag.adb, sem_type.adb, s-fatgen.adb, s-fileio.adb, sinfo.ads, sinput-d.adb, s-taasde.adb, s-tasdeb.ads, s-tasren.adb, s-tassta.adb, s-tpobop.adb, s-tposen.adb, stylesw.adb, types.ads, uintp.adb, validsw.adb, makegpr.adb, a-rbtgso.adb, a-crbtgo.adb, a-coorse.adb, a-convec.adb, a-coinve.adb, a-cohama.adb, a-ciorse.adb, a-cihama.adb, a-cidlli.adb, a-chtgop.adb, a-cdlili.adb, a-cdlili.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cohase.adb, a-ciorma.adb, a-coorma.adb, a-ztgeau.adb, symbols-vms.adb, a-crdlli.adb, a-calari.adb, a-calfor.adb, s-os_lib.adb, s-regpat.adb, a-ngrear.adb: Minor reformatting. Add Unreferenced and Warnings (Off) pragmas for cases of variables modified calls where they are IN OUT or OUT parameters and the resulting values are not subsequently referenced. In a few cases, we also remove redundant code found by the new warnings. * ug_words, vms_data.ads, usage.adb, sem_util.adb, sem_util.ads, sem_warn.adb, sem_warn.ads, sem_res.adb, sem_ch7.adb, sem_ch8.adb, sem_ch5.adb, opt.ads, lib-xref.adb, lib-xref.ads, exp_smem.adb, sem_ch11.adb, exp_ch6.adb, einfo.ads, einfo.adb: implement a new warning controlled by -gnatw.o that warns on cases of out parameter values being ignored. From-SVN: r129318
2007-09-26einfo.adb (Is_Thunk): New attribute applicable to subprograms.Javier Miranda1-11/+39
2007-09-26 Javier Miranda <miranda@adacore.com> Gary Dismukes <dismukes@adacore.com> * einfo.adb (Is_Thunk): New attribute applicable to subprograms. True for thunks associated with interface types. * einfo.ads: Improve documentatation of Is_Internal (Is_Thunk): New attribute applicable to subprograms. True for thunks associated with interface types. Extensive comment fixes regarding flags that appear in all entities. The documentation is now consistent for all such flags (there were a number of errors in the documentation in this regard). * exp_attr.adb (Expand_N_Attribute_Reference): Minor code cleanup. * exp_ch6.adb (Make_Build_In_Place_Call_*): Return immediately if any of these procedures are passed a function call that already has build-in-place actuals (testing new flag Is_Expanded_Build_In_Place_Call). Set the flag on the function call in the case where processing continues. (Expand_Call): If the call is generated from a thunk body then we propagate the extra actuals associated with the accessibility level of the access type actuals. * sem_ch6.adb (Analyze_Subprogram_Body): Set the Protected_Formal field of each extra formal of a protected operation to reference the corresponding extra formal of the subprogram denoted by the operation's Protected_Body_Subprogram. * sinfo.ads, sinfo.adb (Is_Expanded_Build_In_Place_Call): New flag on N_Function_Call nodes. From-SVN: r128786
2007-08-31[multiple changes]Arnaud Charlet1-2/+2
2007-08-31 Vincent Celier <celier@adacore.com> * fmap.ads: Minor comment updates 2007-08-31 GNAT Script <nobody@adacore.com> * Make-lang.in: Makefile automatically updated 2007-08-31 Bob Duff <duff@adacore.com> * sinfo.ads: Minor comment fix. 2007-08-31 Thomas Quinot <quinot@adacore.com> * stand.ads: (Standard_Debug_Renaming_Type): Make comment consistent with implementation. Documentation cleanup only. 2007-08-31 Sergey Rybin <rybin@adacore.com> * vms_data.ads: Add new qualifier /STMT_NAME_ON_NEW_LINE for the new gnatpp '--separate-stmt-name' option. Add new qualifier /USE_ON_NEW_LIN for the new gnatpp '--use-on-new-line' option. * gnat_ugn.texi: Add description for the new gnatpp '--separate-stmt-name' and '--use-on-new-line' options. From-SVN: r127984
2007-08-16sem_res.adb (Comes_From_Predefined_Lib_Unit): New.Hristian Kirtchev1-5/+16
2007-08-16 Hristian Kirtchev <kirtchev@adacore.com> Bob Duff <duff@adacore.com> Nicolas Setton <setton@adacore.com> * sem_res.adb (Comes_From_Predefined_Lib_Unit): New. (Resolve): Alphabetize local variables. Add new variable From_Lib. When the statement which is being resolved comes from a predefined library unit, all non-predefined library interpretations are skipped. (Resolve_Op_Concat): If string concatenation was folded in the parser, but the "&" is user defined, give an error, because the folding would be wrong. * sinfo.ads, sinfo.adb (Is_Folded_In_Parser): New flag to indicate that the parser has folded a long sequence of concatenations of string literals. * trans.c (Handled_Sequence_Of_Statements_to_gnu): Mark "JMPBUF_SAVE" and "JMP_BUF" variables as artificial. (N_String_Literal): Do not use alloca for very long string literals. Use xmalloc/free instead. Otherwise the stack might overflow. * utils.c (init_gigi_decls): Mark "JMPBUF_T" type as created by the compiler. From-SVN: r127550
2007-08-14[multiple changes]Arnaud Charlet1-29/+38
2007-08-14 Geert Bosch <bosch@adacore.com> * i-forbla.ads, i-forbla.adb, a-ngcoar.adb, a-ngcoar.ads, i-forlap.ads, s-gearop.adb, s-gecobl.adb, s-gecobl.ads, s-gerela.adb, s-gerela.ads: Add required linker pragmas for automatically linking with the gnalasup linear algebra support library, and the systems math library. Rename cdot to cdotu and zdot to zdotu. Update header comment to describe purpose of package. 2007-08-14 Thomas Quinot <quinot@adacore.com> * exp_ch7.adb (Find_Final_List): For an anonymous access type that has an explicitly specified Associated_Final_Chain, use that list. (Expand_N_Package_Body): Build dispatch tables of library level tagged types. (Expand_N_Package_Declaration): Build dispatch tables of library level tagged types. Minor code cleanup. 2007-08-14 Vincent Celier <celier@adacore.com> * gnatchop.adb (Terminate_Program): Remove exception and use Types.Terminate_Program instead. * osint.ads, osint.adb (Current_Exit_Status): New global variable (Find_Program_Name): Added protection against empty name. (OS_Exit_Through_Exception): New procedure * s-os_lib.ads, s-os_lib.adb (OS_Exit): New procedure body (OS_Exit_Default): New procedure that contains the previous implementation of procedure OS_Exit. (Final_Value): Remove obsolete Interix stuff. 2007-08-14 Thomas Quinot <quinot@adacore.com> * g-socket.ads: Reorganize example code so that it also works on Windows XP. 2007-08-14 Tristan Gingold <gingold@adacore.com> * g-trasym.ads: AIX now supports symbolic backtraces. 2007-08-14 Ed Schonberg <schonberg@adacore.com> * lib-load.adb (From_Limited_With_Chain): Always scan the stack of units being loaded to detect circularities. A circularity may be present even if the current chain of pending units to load starts from a limited_with_clause. * lib-load.ads: Change profile of Load_Unit to use a with_clause rather than a boolean flag, in order to detect circularities in with_clauses. * par-load.adb: Use current with_clause in calls to Load_Unit, rather than propagating the From_Limited_With flag, in order to handle properly circularities involving with_clauses. 2007-08-14 Nicolas Setton <setton@adacore.com> * link.c (FreeBSD): Add "const" keyword where needed, to eliminate warnings. 2007-08-14 Arnaud Charlet <charlet@adacore.com> * Makefile.in: GNATRTL_LINEARALGEBRA_OBJS: New variable holding objects to build for libgnala. libgnat: Add rules to build libgnala.a (LIBGNAT_TARGET_PAIRS for VxWorks): Remove s-osinte-vxworks.adb from target pairs of the VxWorks 6 kernel runtime, use it only for VxWorks 5. Add s-osinte-vxworks-kernel.adb to the target pairs of the kernel run-time lib for VxWorks 6, which would provide a different implementation for Task_Cont and Task_Stop than the VxWorks 5 version. x86-solaris section (EH_MECHANISM): Set to -gcc, as this port is now running ZCX by default. Add g-sttsne-locking to LynxOS version. Remove g-sttsne-vxworks.ads; use g-sttsne-locking.ads instead. On x86/darwin, use a-numaux-x86.ad? and system-darwin-x86.ads. * system-darwin-x86.ads: New file. * Make-lang.in: Delete files before copying onto them, so if they are read-only, the copy won't fail. Update dependencies 2007-08-14 Pascal Obry <obry@adacore.com> * mdll-fil.adb, * mdll.adb: Implement a more consistent libraries naming scheme. 2007-08-14 Vincent Celier <celier@adacore.com> * mlib-utl.adb (Gcc_Name): Change from constant String to String_Access (Gcc): Initialize Gcc_Name at the first call 2007-08-14 Ed Schonberg <schonberg@adacore.com> * sem_ch7.adb (Analyze_Package_Specification): Do not install private with_clauses of the enclosing unit when analyzing the package specification of a nested instance. 2007-08-14 Hristian Kirtchev <kirtchev@adacore.com> * sinfo.ads, sinfo.adb (Is_Coextension, Set_Is_Coextension): Removed. (Is_Dynamic_Coextension, Set_Is_Dynamic_Coextension): New routines. Remove flag Is_Coextension. Add flag Is_Dynamic_Coextension. Update the layout of N_Allocator. 2007-08-14 Thomas Quinot <quinot@adacore.com> * rtsfind.adb (Check_RPC): Add PCS version check. * gnatvsn.ads, gnatvsn.adb: Add PCS version. (Gnat_Free_Software): New function. * sem_dist.ads, sem_dist.adb (Get_PCS_Version): New subprogram. Returns the PCS_Version value from s-parint, used to check that it is consistent with what exp_dist expects. * s-parint.ads (PCS_Version): New entity for checking consistency between exp_dist and PCS. * gen-soccon.c: (SO_REUSEPORT): New constant. 2007-08-14 Hristian Kirtchev <kirtchev@adacore.com> * a-calfor.adb (Image (Duration; Boolean)): Change type of local variable Sub_Second to Duration in order to accomodate a larger range of arithmetic operations. 2007-08-14 Bob Duff <duff@adacore.com> * g-sttsne-locking.ads: Move comments from spec to body. * g-sttsne-locking.adb: Move comments from spec to body. * g-sttsne-vxworks.ads: Removed. * g-sttsne-vxworks.adb: Removed. From-SVN: r127467
2007-06-06exp_util.ads, [...] (Expand_Subtype_From_Expr): In Ada2005...Ed Schonberg1-51/+93
2007-04-20 Ed Schonberg <schonberg@adacore.com> * exp_util.ads, exp_util.adb (Expand_Subtype_From_Expr): In Ada2005, an object of a limited type can be initialized with a call to a function that returns in place. If the limited type has unknown discriminants, and the underlying type is a constrained composite type, build an actual subtype from the function call, as is done for private types. (Side_Effect_Free): An expression that is the renaming of an object or whose prefix is the renaming of a object, is not side-effect free because it may be assigned through the renaming and its value must be captured in a temporary. (Has_Controlled_Coextensions): New routine. (Expand_Subtype_From_Expr): Do nothing if type is a limited interface, as is done for other limited types. (Non_Limited_Designated_Type): new predicate. (Make_CW_Equivalent_Type): Modified to handle class-wide interface objects. Remove all handling of with_type clauses. * par-ch10.adb: Remove all handling of with_type clauses. * lib-load.ads, lib-load.adb (Load_Main_Source): Do not get the checksum if the main source could not be parsed. (Loat_Unit): When processing a child unit, determine properly whether the parent unit is a renaming when the parent is itself a child unit. Remove handling of with_type clauses. * sinfo.ads, sinfo.adb (Is_Static_Coextension): New function. (Set_Is_Static_Coextension): New procedure. (Has_Local_Raise): New function (Set_Has_Local_Raise): New procedure (Renaming_Exception): New field (Has_Init_Expression): New flag (Delay_Finalize_Attach): Remove because flag is obsolete. (Set_Delay_Finalize_Attach): Remove because flag is obsolete. Remove all handling of with_type clauses. (Exception_Junk): Can now be set in N_Block_Statement From-SVN: r125410
2007-04-06sinfo.ads, sinfo.adb (Coextensions): New element list for allocators...Ed Schonberg1-36/+253
2007-04-06 Ed Schonberg <schonberg@adacore.com> Robert Dewar <dewar@adacore.com> * sinfo.ads, sinfo.adb (Coextensions): New element list for allocators, to chain nested components that are allocators for access discriminants of the enclosing object. Add N_Push and N_Pop nodes New field Exception_Label added (Local_Raise_Statements): New field in N_Exception_Handler_Node (Local_Raise_Not_OK): New flag in N_Exception_Handler_Node (Is_Coextension): New flag for allocators, to mark allocators that correspond to access discriminants of dynamically allocated objects. (N_Block_Statement): Document the fact that the corresponding entity can be an E_Return_Statement. (Is_Coextension): New flag for allocators. Remove all code for DSP option * sprint.ads, sprint.adb: Display basic information for class_wide subtypes. Add handling of N_Push and N_Pop nodes From-SVN: r123600
2006-10-31sinfo.ads, sinfo.adb (Set_Synchronized_Present, [...]): Add ↵Robert Dewar1-102/+1759
Formal_Derived_Type_Definition and Private_Extension_Declaration to the... 2006-10-31 Robert Dewar <dewar@adacore.com> Ed Schonberg <schonberg@adacore.com> Bob Duff <duff@adacore.com> * sinfo.ads, sinfo.adb (Set_Synchronized_Present, Synchronized_Present): Add Formal_Derived_Type_Definition and Private_Extension_Declaration to the list of assertions. (Is_Entry_Barrier_Function): New flag (Has_Self_Reference): New flag on aggregates, to indicate that they contain a reference to the enclosing type, inserted through a default initialization. (Next_Rep_Item): Move from Node4 to Node5. (Entity): Add this field for N_Attribute_Definition_Clause. (Comes_From_Extended_Return_Statement): New flag on N_Return_Statement (N_Return_Object_Declaration): Remove this node kind. We now use N_Object_Declaration instead. (Actual_Designated_Subtype): Move to a different place to make room in N_Extended_Return_Statement. (Procedure_To_Call): Move to a different place to make room in N_Extended_Return_Statement. (Return_Type): Removed this field to make room in return statements (both kinds). (Return_Statement_Entity): New field in return statements, in part to replace Return_Type, and in part to support the fact that return statements are now pushed on the scope stack during semantic analysis. (Return_Object_Declarations): New field to support extended return statements. (N_Extended_Return_Statement): New node for extended_return_statement nonterminal. (N_Return_Object_Declaration): New node for part of extended_return_statement nonterminal. Needed because all the necessary fields won't fit in N_Extended_Return_Statement. Generic_associations now carry the Box_Present flag, to indicate a default for an actual in a partially parametrized formal package. * snames.h, snames.ads, snames.adb: Add definition for Validity_Check (Preset_Names): Add entries for Priority_Specific_Dispatching pragma and for the new predefined dispatching policies: EDF_Across_Priorities, Non_Preemptive_Within_Priorities, and Round_Robin_Within_Priorities. Introduce new name Stub_Type for implementation defined attribute. Add pragma Preelaborable_Initialization Add entry for Priority attribute. Add Pragma_Wide_Character_Encoding (Get_Convention_Name): Given a convention id, this function returns the corresponding name id from the names table. From-SVN: r118313
2006-02-15exp_attr.adb (Expand_N_Attribute_Reference, [...]): If attribute ↵Robert Dewar1-1/+5
Mechanism_Code is applied to renamed subprogram... 2006-02-13 Robert Dewar <dewar@adacore.com> * exp_attr.adb (Expand_N_Attribute_Reference, case Mechanism_Code): If attribute Mechanism_Code is applied to renamed subprogram, modify prefix to point to base subprogram. Max/Min attributes now violate Restriction No_Implicit_Conditionals * sinfo.ads: Document that Mechanism_Code cannot be applied to renamed subprograms so that the front-end must replace the prefix appropriately. From-SVN: r111058
2005-12-09einfo.adb (Itype_Printed): New flagRobert Dewar1-773/+759
2005-12-05 Robert Dewar <dewar@adacore.com> Ed Schonberg <schonberg@adacore.com> Gary Dismukes <dismukes@adacore.com> Javier Miranda <miranda@adacore.com> Hristian Kirtchev <kirtchev@adacore.com> * einfo.adb (Itype_Printed): New flag (Is_Limited_Type): Derived types do not inherit limitedness from interface progenitors. (Is_Return_By_Reference_Type): Predicate does not apply to limited interfaces. * einfo.ads (Itype_Printed): New flag Move Is_Wrapper_Package to proper section Add missing Inline for Is_Volatile * output.ads, output.adb (Write_Erase_Char): New procedure (Save/Restore_Output_Buffer): New procedures (Save/Restore_Output_Buffer): New procedures * sprint.ads, sprint.adb (Write_Itype): Handle case of record itypes Add missing support for anonymous access type (Write_Id): Insert calls to Write_Itype (Write_Itype): New procedure to output itypes * par-ch12.adb (P_Formal_Derived_Type_Definition): In Ada 2005, handle use of "limited" in declaration. * sinfo.ads, sinfo.adb: Formal derived types can carry an explicit "limited" indication. * sem_ch3.adb: Add with and use of Targparm. (Create_Component): If Frontend_Layout_On_Target is True and the copied component does not have a known static Esize, then reset the size and positional fields of the new component. (Analyze_Component_Declaration): A limited component is legal within a protected type that implements an interface. (Collect_Interfaces): Do not add to the list the interfaces that are implemented by the ancestors. (Derived_Type_Declaration): If the parent of the full-view is an interface perform a transformation of the tree to ensure that it has the same parent than the partial-view. This simplifies the job of the expander in order to generate the correct object layout, and it is needed because the list of interfaces of the full-view can be given in any order. (Process_Full_View): The parent of the full-view does not need to be a descendant of the parent of the partial view if both parents are interfaces. (Analyze_Private_Extension_Declaration): If declaration has an explicit "limited" the parent must be a limited type. (Build_Derived_Record_Type): A derived type that is explicitly limited must have limited ancestor and progenitors. (Build_Derived_Type): Ditto. (Process_Full_View): Verify that explicit uses of "limited" in partial and full declarations are consistent. (Find_Ancestor_Interface): Remove function. (Collect_Implemented_Interfaces): New procedure used to gather all implemented interfaces by a type. (Contain_Interface): New function used to check whether an interface is present in a list. (Find_Hidden_Interface): New function used to determine whether two lists of interfaces constitute a set equality. If not, the first differing interface is returned. (Process_Full_View): Improve the check for the "no hidden interface" rule as defined by AI-396. From-SVN: r108295