summaryrefslogtreecommitdiff
path: root/gcc/ada/lib-xref.adb
Commit message (Collapse)AuthorAgeFilesLines
* 2014-01-20 Robert Dewar <dewar@adacore.com>charlet2014-01-201-2/+4
| | | | | | | | | | | | | | | | | | | | | | * checks.adb: Make warnings on exceptions into errors in GNATprove mode. * errout.adb: Implement [ and ] insertion characters. * errout.ads: Document new [ and ] insertion characters. * sem_ch12.adb, restrict.adb, frontend.adb, exp_ch7.adb: Minor addition of ??? comment. * lib-xref.adb, exp_util.adb, gnat1drv.adb: Minor reformatting * exp_ch4.adb, sem_ch3.adb, sem_ch4.adb, sem_ch6.adb, sem_elab.adb, sem_eval.adb, sem_res.adb, sem_util.adb, sem_attr.adb, sem_aggr.adb: Make warnings on exceptions into errors in GNATprove mode. * sem_dim.adb: Minor reformatting throughout Quote [ and ] in error messages. 2014-01-20 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb: Code clean up. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206841 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-20 Yannick Moy <moy@adacore.com>charlet2014-01-201-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * adabkend.adb, ali-util.adb, errout.adb, exp_ch7.adb, * exp_dbug.adb, freeze.adb, lib-xref.adb, restrict.adb, * sem_attr.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, * sem_prag.adb, sem_res.adb, sem_util.adb Rename SPARK_Mode into GNATprove_Mode. * sem_ch13.adb: Remove blank. * exp_spark.adb, exp_spark.ads (Expand_SPARK_Call): Only replace subprograms by alias for renamings, not for inherited primitive operations. * exp_util.adb (Expand_Subtype_From_Expr): Apply the expansion in GNATprove mode. (Remove_Side_Effects): Apply the removal in GNATprove mode, for the full analysis of expressions. * expander.adb (Expand): Call the light SPARK expansion in GNATprove mode. (Expander_Mode_Restore, Expander_Mode_Save_And_Set): Ignore save/restore actions for Expander_Active flag in GNATprove mode, similar to what is done in ASIS mode. * frontend.adb (Frontend): Generic bodies are instantiated in GNATprove mode. * gnat1drv.adb (Adjust_Global_Switches): Set operating mode to Check_Semantics in GNATprove mode, although a light expansion is still performed. (Gnat1drv): Set Back_End_Mode to Declarations_Only in GNATprove mode, and later on special case the GNATprove mode to continue analysis anyway. * lib-writ.adb (Write_ALI): Always generate ALI files in GNATprove mode. * opt.adb, opt.ads (Full_Expander_Active): Make it equivalent to Expander_Active. (SPARK_Mode): Renamed as GNATprove_Mode. * sem_aggr.adb (Aggregate_Constraint_Checks): Add checks in the tree in GNATprove_Mode. * sem_ch12.adb (Analyze_Package_Instantiation): Always instantiate body in GNATprove mode. (Need_Subprogram_Instance_Body): Always instantiate body in GNATprove mode. * sem_ch3.adb (Constrain_Index, Process_Range_Expr_In_Decl): Make sure side effects are removed in GNATprove mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206805 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-10-15 Robert Dewar <dewar@adacore.com>charlet2013-10-151-2/+16
| | | | | | | | | | | | | | | | | | | | | * sem_prag.adb, exp_ch11.adb, a-except-2005.adb, a-except-2005.ads: Minor reformatting. 2013-10-15 Eric Botcazou <ebotcazou@adacore.com> * targparm.ads: Fix minor typo in comment. 2013-10-15 Ed Schonberg <schonberg@adacore.com> * lib-xref.adb: handle full views that are derived from private types. * sem_util.adb (Build_Elaboration_Entity): Do nothing in ASIS mode: the elaboration entity is not in the source, and plays no role in semantic analysis. Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203594 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-10-10 Hristian Kirtchev <kirtchev@adacore.com>charlet2013-10-101-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * einfo.adb: Remove Integrity_Level from the node usage list. (Has_Option): Update the implementation to match the new terminology. (Has_Property): Renamed to Has_Option. (Integrity_Level): Removed. (Is_External_State): New routine. (Is_Input_Only_State): Use Has_Option to determine whether a state is Input_Only. (Is_Input_State): Renamed to Is_Input_Only_State. (Is_Output_Only_State): Use Has_Option to determine whether a state is Output_Only. (Is_Output_State): Renamed to Is_Output_Only_State. (Is_Volatile_State): Use Has_Option to determine whether a state is volatile. (Set_Integrity_Level): Removed. (Write_Field8): Remove the entry for Integrity_Level. * einfo.ads: Remove Integrity_Level along with its documentation and usage in nodes. Rename Is_Input_State to Is_Input_Only_State. Rename Is_Output_State to Is_Output_Only_State. Update the documentation of Is_Volatile_State. Update the node structure of E_Abstract_Entity. (Integrity_Level): Removed along with pragma Inline. (Is_External_State): New routine. (Is_Input_State): Renamed to Is_Input_Only_State. (Is_Output_State): Renamed to Is_Output_Only_State. (Set_Integrity_Level): Removed along with pragma Inline. * sem_prag.adb (Analyze_Pragma): Update the checks regarding global items and abstract state modes. Update the implementation of pragma Abstract_State to reflect the new rules and terminology. * snames.ads-tmpl: Remove the predefined name for Integrity level. Add new predefined names for Input_Only, Non_Volatile, Output_Only and Part_Of. 2013-10-10 Ed Schonberg <schonberg@adacore.com> * lib-xref.adb (Generate_Reference): Do not generate a reference within a _postcondition procedure: a proper source reference has already been generated when pre- analyzing the original aspect specification, and the use of a formal in a pre/postcondition should not count as a proper use in a subprogram body. 2013-10-10 Robert Dewar <dewar@adacore.com> * sem_eval.adb (Why_Non_Static): Fix bomb for deferred constant case git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203360 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-07-05 Claire Dross <dross@adacore.com>charlet2013-07-051-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | * a-cfdlli.ads: Add preconditions when needed. 2013-07-05 Robert Dewar <dewar@adacore.com> * sem_ch8.adb: Minor reformatting. 2013-07-05 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Access_Subprogram_Declaration): Use Generate_Reference_To_Formals. * lib-xref.adb (Generate_Reference_To_Formals): In the case of access to subprograms, the formals are found in the designated subprogram type. 2013-07-05 Robert Dewar <dewar@adacore.com> * gnat_ugn.texi: Document that comments can be lined up with previous non-blank line. * styleg.adb (Check_Comment): Allow indentation to match previous non-blank line (Same_Column_As_Previous_Line): New function git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200705 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-04-24 Yannick Moy <moy@adacore.com>charlet2013-04-241-18/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | * adabkend.adb, ali-util.adb, ali.adb, debug.adb, errout.adb, errout.ads, erroutc.adb, exp_ch3.adb, exp_ch4.adb, exp_ch6.adb, exp_ch7.adb, exp_dbug.adb, exp_util.adb, expander.adb, freeze.adb, gnat1drv.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads, opt.adb, opt.ads, restrict.adb, sem_aggr.adb, sem_attr.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_eval.adb, sem_prag.adb, sem_res.adb, sem_util.adb: Everything with name 'Alfa' renamed in 'SPARK'. Update comments. Renaming of units with name 'Alfa', renamed with 'SPARK' instead. * exp_alfa.adb: renamed exp_spark.adb. * exp_alfa.ads: renamed exp_spark.ads. * get_alfa.adb: renamed get_spark_xrefs.adb. * get_alfa.ads: renamed get_spark_xrefs.ads. * lib-xref-alfa.adb: renamed lib-xref-spark_specific.adb. * put_alfa.adb: renamed put_spark_xrefs.adb. * put_alfa.ads: renamed put_spark_xrefs.ads. * alfa.adb: renamed spark_xrefs.adb. * alfa.ads: renamed spark_xrefs.ads. * alfa_test.adb: renamed spark_xrefs_test.adb. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198234 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-04-12 Robert Dewar <dewar@adacore.com>charlet2013-04-121-5/+3
| | | | | | | | | | | | | | | | | | | | * namet.adb, namet.ads: Minor addition (7 arg version of Nam_In). * exp_prag.adb, sem_ch3.adb, sem_intr.adb, sem_type.adb, exp_util.adb, sem_aux.adb, exp_ch9.adb, sem_ch7.adb, sem_ch10.adb, sem_prag.adb, par-ch2.adb, tbuild.adb, rtsfind.adb, freeze.adb, sem_util.adb, sem_res.adb, sem_attr.adb, exp_ch2.adb, prj-makr.adb, sem_elab.adb, exp_ch4.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, par-prag.adb, prj-nmsc.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb, par-util.adb, sem_eval.adb, exp_intr.adb, sem_ch13.adb, exp_cg.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb: Minor code reorganization (use Nam_In). 2013-04-12 Doug Rupp <rupp@adacore.com> * init.c: Don't clobber condition code on VMS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197917 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-04-12 Robert Dewar <dewar@adacore.com>charlet2013-04-121-0/+17
| | | | | | | | | | | | | | | | | * checks.adb, sem_elab.adb, repinfo.adb, sem_ch4.adb, restrict.adb, restrict.ads: Minor reformatting. 2013-04-12 Ed Schonberg <schonberg@adacore.com> * lib-xref.adb: Retrieve original name of classwide type if any. 2013-04-12 Thomas Quinot <quinot@adacore.com> * exp_ch11.ads: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197910 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-04-11 Robert Dewar <dewar@adacore.com>charlet2013-04-111-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * atree.h: Add declarations for Flag255-Flag289 Fix declaration of Field30 (was wrong, but no effect, since not yet referenced by back end) Add declarations for Field31-Field35 Add declarations for Node31-Node35. * einfo.ads, einfo.adb (Has_Invariants): No longer applies to procedures. (Has_Predicates): No longer applies to functions. (Is_Predicate_Function): New flag. (Is_Predicate_Function_M): New flag. (Is_Invariant_Procedure): New flag. (Predicate_Function_M): New function. (Set_Predicate_Function_M): New procedure. * exp_ch11.adb (Expand_N_Raise_Expression): Take care of special case of appearing in predicate used for membership test. * exp_ch3.adb (Insert_Component_Invariant_Checks): Set Is_Invariant_Procedure flag. * exp_ch4.adb (Expand_Op_In): Call special predicate function that takes care of raise_expression nodes in the predicate. * exp_util.ads, exp_util.adb (Make_Predicate_Call): Add argument Mem for membership case. * sem_ch13.adb (Build_Predicate_Functions): New name for Build_Predicate_Function. Major rewrite to take care of raise expression in predicate for membership tests. * sem_res.adb (Resolve_Actuals): Include both predicate functions in defense against infinite predicate function loops. * sinfo.ads, sinfo.adb (Convert_To_Return_False): New flag. 2013-04-11 Robert Dewar <dewar@adacore.com> * sem_prag.adb: Minor reformatting. 2013-04-11 Ed Schonberg <schonberg@adacore.com> * lib-xref.adb: Generate reference for component of anonymous access type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197766 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-01-02 Robert Dewar <dewar@adacore.com>charlet2013-01-021-3/+3
| | | | | | | | | | | | | | | | | | | | | | * checks.adb, exp_ch4.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb, exp_disp.adb, exp_dist.adb, exp_intr.adb, exp_prag.adb, exp_util.adb, freeze.adb, gnat1drv.adb, inline.adb, layout.adb, lib-xref.adb, par-ch10.adb, par-labl.adb, par-load.adb, par-util.adb, restrict.adb, sem_ch13.adb, sem_ch4.adb, sem_ch6.adb, sem_dim.adb, sem_elab.adb, sem_res.adb, sem_warn.adb, sinput-l.adb: Add tags to warning messages. * sem_ch6.ads, warnsw.ads, opt.ads: Minor comment updates. 2013-01-02 Robert Dewar <dewar@adacore.com> * err_vars.ads: Minor comment fix. 2013-01-02 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb: Refine predicate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194787 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-10-02 Robert Dewar <dewar@adacore.com>charlet2012-10-021-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | * exp_ch4.adb (Expand_N_Op_Expon): Use expression with actions for x ** 4. 2012-10-02 Ed Schonberg <schonberg@adacore.com> * sem_ch5.adb: (Analyze_Iterator_Specification): If container has a variable indexing aspect, the element is a variable and is modifiable in the loop. This check is also performed when the loop is expanded, but it must be done in semantic analysis when expansion is disabled, for example for ASIS usage. 2012-10-02 Ed Schonberg <schonberg@adacore.com> * lib-xref.adb (Generate_Reference): If a child subprogram has no previous spec, treat a reference to its formals (such as a parameter association) as coming from source in order to generate the proper references and enable gps navigation between reference and declaration. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@191965 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-12 Robert Dewar <dewar@adacore.com>charlet2012-06-121-1/+1
| | | | | | | | | | | | * xref_lib.adb, sem_ch13.adb, lib-xref.adb: Minor reformatting. 2012-06-12 Javier Miranda <miranda@adacore.com> * lib-xref.ads Adding missing documentation. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188439 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-12 Hristian Kirtchev <kirtchev@adacore.com>charlet2012-06-121-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_ch7.adb (Create_Finalizer): Add the exception reraise mechanism at the very end of the finalizer statements. This placement ensures that all objects are finalized, the secondary stack mark released and aborts undeferred before propagating an exception. 2012-06-12 Ed Schonberg <schonberg@adacore.com> * sem_ch10.adb (Remove_Unit_From_Visibility): if the unit is a wrapper package. remove from visibility the original subprogram instance. 2012-06-12 Javier Miranda <miranda@adacore.com> * sem_prag.adb (Process_Convention): Generate reference to entity exported to foreign language. Needed for GPS navigation. * xref_lib.adb (Parse_Identifier_Info): Parse exported entities. * lib-xref (Output_References): Output exported entities. 2012-06-12 Pascal Obry <obry@adacore.com> * prj-attr.adb: Add install package and corresponding attributes. * snames.ads-tmpl (Name_Active): New constant. (Name_Exec_Subdir): Likewise. (Name_Install): Likewise. (Name_Lib_Subdir): Likewise. (Name_Project_Subdir): Likewise. (Name_Sources_Subdir): Likewise. 2012-06-12 Bob Duff <duff@adacore.com> * sem_res.adb (Check_Infinite_Recursion): Suppress spurious warning on recursion after "raise with ...". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188438 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-25 Robert Dewar <dewar@adacore.com>charlet2012-04-251-3/+3
| | | | | | | | | | | | | | | | | | | | | | | * sem_ch3.adb, csinfo.adb, lib-writ.adb, sem_ch12.adb, lib-xref.adb: Minor reformatting. 2012-04-25 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch9.adb: Rename Lock_Free_Sub_Type to Lock_Free_Subprogram. Remove type Subprogram_Id. Rename LF_Sub_Table to Lock_Free_Subprogram_Table. (Allow_Lock_Free_Implementation): Renamed to Allows_Lock_Free_Implementation. Update the comment on lock-free restrictions. Code clean up and restructuring. (Build_Lock_Free_Protected_Subprogram_Body): Update the profile and related comments. Code clean up and restructuring. (Build_Lock_Free_Unprotected_Subprogram_Body): Update the profile and related comments. Code clean up and restructuring. (Comp_Of): Removed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186828 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-25 Vincent Celier <celier@adacore.com>charlet2012-04-251-3/+7
| | | | | | | | | | | | | | | | | | * sem_ch12.adb (Inherit_Context): Compare library units, not names of units, when checking if a unit is already in the context. 2012-04-25 Thomas Quinot <quinot@adacore.com> * sem_ch3.adb: Reverse_Storage_Order must be propagated to untagged derived record types. 2012-04-25 Ed Schonberg <schonberg@adacore.com> * lib-xref.adb: Adjust position of end label. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186827 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-04-02 Robert Dewar <dewar@adacore.com>charlet2012-04-021-3/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * s-atopri.ads: Minor reformatting. 2012-04-02 Thomas Quinot <quinot@adacore.com> * sem_util.adb: Minor reformatting, minor code cleanup. 2012-04-02 Ed Schonberg <schonberg@adacore.com> * lib-xref.adb (Generate_Reference): For a reference to an operator symbol, set the sloc to point to the first character of the operator name, and not to the initial quaote. (Output_References): Ditto for the definition of an operator symbol. 2012-04-02 Vincent Celier <celier@adacore.com> * ali.adb (Scan_Ali): Recognize Z lines. Set Implicit_With_From_Instantiation to True in the With_Record for Z lines. * ali.ads (With_Record): New Boolean component Implicit_With_From_Instantiation, defaulted to False. * csinfo.adb: Indicate that Implicit_With_From_Instantiation is special * lib-writ.adb (Write_ALI): New array Implicit_With. (Collect_Withs): Set Implicit_With for the unit is it is not Yes. (Write_With_Lines): Write a Z line instead of a W line if Implicit_With is Yes for the unit. * sem_ch12.adb (Inherit_Context): Only add a unit in the context if it is not there yet. * sinfo.ads: New flag Implicit_With_From_Instantiation (Flag12) added. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186079 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-03-30 Robert Dewar <dewar@adacore.com>charlet2012-03-301-24/+13
| | | | | | | | | * lib-xref.adb, lib-xref-alfa.adb: Minor reformatting & code reorganization. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186003 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-03-30 Yannick Moy <moy@adacore.com>charlet2012-03-301-20/+38
| | | | | | | | | | | | | | * lib-xref-alfa.adb (Generate_Dereference): Use Get_Code_Unit instead of Get_Source_Unit to get file for reference. (Traverse_Compilation_Unit): Do not add scopes for generic units. * lib-xref.adb (Generate_Reference): Use Get_Code_Unit instead of Get_Source_Unit to get file for reference. * sem_ch12.adb (Analyze_Package_Instantiation): Enable instantiation in Alfa mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186002 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-03-30 Hristian Kirtchev <kirtchev@adacore.com>charlet2012-03-301-25/+23
| | | | | | | | | | | | | | | | | | | | | * exp_ch7.adb (Process_Declarations): Replace the call to Is_Null_Access_BIP_Func_Call with Is_Secondary_Stack_BIP_Func_Call. Update the related comment. * exp_util.adb (Is_Null_Access_BIP_Func_Call): Removed. (Is_Secondary_Stack_BIP_Func_Call): New routine. (Requires_Cleanup_Actions): Replace the call to Is_Null_Access_BIP_Func_Call with Is_Secondary_Stack_BIP_Func_Call. Update the related comment. * exp_util.ads (Is_Null_Access_BIP_Func_Call): Removed. (Is_Secondary_Stack_BIP_Func_Call): New routine. 2012-03-30 Yannick Moy <moy@adacore.com> * lib-xref-alfa.adb, lib-xref.adb: Code clean ups. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186001 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-11-21 Robert Dewar <dewar@adacore.com>charlet2011-11-211-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | * frontend.adb (Frontend): Capture restrictions from config files * lib-load.adb (Load_Unit): Save/set/restore restriction pragma information * lib-xref.adb (Generate_Reference): Fix handling of obsolescent references. This was noticed during debugging, but it is not known if it causes real bugs. * restrict.ads, restrict.adb: New routines to save/set/restore non-partition-wide restrictions. * s-rident.ads: Comment changes for new handling of No_Elaboration_Code * sem.adb (Sem): Save/Set/Restore non-partition-wide restrictions * sem_ch10.adb (Analyze_Compilation_Unit): Remove incomplete attempt to save/restore non-partition-wide restrictions (now this work is all done in Sem). * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): Special handling for restriction No_Elaboration_Code. 2011-11-21 Robert Dewar <dewar@adacore.com> * gnat_ugn.texi: Document new handling of restrictions pragmas. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181566 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-10-13 Robert Dewar <dewar@adacore.com>charlet2011-10-131-3/+3
| | | | | | | | | | | | | | | | | * exp_ch5.adb, sem_ch3.adb, impunit.adb, impunit.ads, sem_type.adb, prj-proc.adb, exp_ch9.adb, s-regpat.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, freeze.adb, sem_attr.adb, sem_attr.ads, gnatlink.adb, par-ch6.adb, exp_ch6.adb, sem_ch4.adb, sem_ch6.adb, sem_ch8.adb, par-util.adb, sem_ch13.adb, lib-xref.adb, g-trasym.adb, g-trasym.ads, exp_aggr.adb, s-taprop-posix.adb: Minor reformatting. 2011-10-13 Geert Bosch <bosch@adacore.com> * s-gearop.adb: Minor comment additions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179907 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-10-13 Thomas Quinot <quinot@adacore.com>charlet2011-10-131-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * par-ch2.adb, par.adb, par-util.adb, par-ch3.adb (Check_Future_Identifier): New subprogram, factors duplicated code from Par.Ch2.P_Identifier and Par.Ch3.P_Defining_Identifier. 2011-10-13 Thomas Quinot <quinot@adacore.com> * s-taprop-posix.adb (Initialize): Always raise Storage_Error if we fail to initialize CV attributes or CV. 2011-10-13 Thomas Quinot <quinot@adacore.com> * s-tasren.adb (Timed_Selective_Wait, case Accept_Alternative_Selected): Use Defer_Abort_Nestable, since we know abortion is already deferred. 2011-10-13 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch3.adb (Build_Class_Wide_Master): Moved to exp_ch9. (Build_Master_Renaming (function)): Removed. (Build_Master_Renaming (procedure)): Moved to exp_ch9. (Expand_Full_Type_Declaration): Alphabetize variables. Reformatting of code and comments. Rewrite the section on processing of anonymous access-to-task types in record components. * exp_ch3.ads (Build_Class_Wide_Master): Moved to exp_ch9. (Build_Master_Renaming): Moved to exp_ch9. * exp_ch9.adb (Build_Class_Wide_Master): Moved from exp_ch3. (Build_Master_Entity): Add formal parameter Use_Current. Reformatting of code and comments. (Build_Master_Renaming): Moved from exp_ch3. * exp_ch9.ads (Build_Class_Wide_Master): Moved from exp_ch3. Update comment on usage. (Build_Master_Entity): Add formal parameter Use_Current. Update comment on usage. (Build_Master_Renaming): Moved from exp_ch3. * sem_ch3.adb (Access_Definition): Remove redundant code to create a _master and a renaming. 2011-10-13 Ed Schonberg <schonberg@adacore.com> * lib-xref.adb: Do no emit reference to overridden operation, if it is internally generated. 2011-10-13 Vincent Celier <celier@adacore.com> * bindgen.adb: Remove any processing related to g-trasym * Makefile.rtl: Add g-trasym.o to GNATRTL_NONTASKING_OBJS * mlib-prj.adb: Remove any processing related to g-trasym. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179898 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-19 Steve Baird <baird@adacore.com>charlet2011-09-191-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * snames.ads-tmpl: Move declaration of Name_Annotate into range of configuration pragma names so that Is_Configuration_Pragma_Name will return True for Name_Annotate. Make corresponding change in Pragma_Id enumeration type. This is needed to allow an Annotate pragma to occur in a configuration pragma file (typically, a gnat.adc file). * gnat_ugn.texi: Add Annotate to the list of configuration pragmas. * gnat_rm.texi: Note that pragma Annotate may be used as a configuration pragma. 2011-09-19 Ed Schonberg <schonberg@adacore.com> * a-cbmutr.adb, a-cbmutr.ads, a-cimutr.adb, a-cimutr.ads, a-comutr.adb, a-comutr.ads: Add iterator machinery for multiway trees. 2011-09-19 Yannick Moy <moy@adacore.com> * exp_alfa.adb, exp_alfa.ads (Expand_Alfa_N_In): New function for expansion of set membership. (Expand_Alfa): Call expansion for N_In and N_Not_In nodes. * exp_ch4.adb, exp_ch4.ads (Expand_Set_Membership): Make procedure visible for use in Alfa expansion. * sem_ch5.adb (Analyze_Iterator_Specification): Introduce loop variable in Alfa mode. 2011-09-19 Thomas Quinot <quinot@adacore.com> * s-osinte-darwin.ads: Change SIGADAABRT on Darwin to SIGABRT. 2011-09-19 Thomas Quinot <quinot@adacore.com> * exp_ch9.adb: Minor reformatting. 2011-09-19 Hristian Kirtchev <kirtchev@adacore.com> * freeze.adb (Build_Renamed_Body): Generic subprograms instantiations cannot be poperly inlined by the compiler, do not set the Body_To_Inline attribute in such cases. * sem_ch12.adb (Analyze_Subprogram_Instantiation): Inherit all inlining-related flags from the generic subprogram declaration. 2011-09-19 Thomas Quinot <quinot@adacore.com> * exp_dist.adb, rtsfind.ads, sem_util.adb, sem_util.ads (Build_Stub_Type): Remove, instead copy components from System.Partition_Interface.RACW_Stub_Type. (RPC_Receiver_Decl): Remainder of code from old Build_Stub_Type routine. (Copy_Component_List): New subprogram. 2011-09-19 Yannick Moy <moy@adacore.com> * lib-xref.adb (Generate_Reference): Ignore references to constants in Standard. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178962 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-19 Robert Dewar <dewar@adacore.com>charlet2011-09-191-5/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * err_vars.ads, errout.ads: Minor reformatting. 2011-09-19 Robert Dewar <dewar@adacore.com> * aspects.ads (Impl_Defined_Aspects): New array * lib-writ.adb (No_Dependences): New name for No_Dependence * restrict.adb (No_Dependences): New name for No_Dependence (Check_Restriction_No_Specification_Of_Aspect): New procedure. (Set_Restriction_No_Specification_Of_Aspect): New procedure (Restricted_Profile_Result): New variable (No_Specification_Of_Aspects): New variable (No_Specification_Of_Aspect_Warning): New variable * restrict.ads (No_Dependences): New name for No_Dependence (Check_Restriction_No_Specification_Of_Aspect): New procedure (Set_Restriction_No_Specification_Of_Aspect): New procedure * s-rident.ads: Add restriction No_Implementation_Aspect_Specifications, this is also added to the No_Implementation_Extensions profile. * sem_ch13.adb (Analyze_Aspect_Specifications): Check No_Implementation_Defined_Aspects (Analyze_Aspect_Specifications): Check No_Specification_Of_Aspect * sem_prag.adb (Analyze_Aspect_Specifications): Check No_Implementation_Aspects (Analyze_Aspect_Specifications): Check No_Specification_Of_Aspect * snames.ads-tmpl (Name_No_Specification_Of_Aspect): New name 2011-09-19 Yannick Moy <moy@adacore.com> * lib-xref.adb (Generate_Reference): Take into account multiple renamings for Alfa refs. 2011-09-19 Thomas Quinot <quinot@adacore.com> * g-socthi-mingw.adb: Minor reformatting. 2011-09-19 Yannick Moy <moy@adacore.com> * gnat1drv.adb (Adjust_Global_Switches): Set tagged type expansion to False in mode Alfa 2011-09-19 Pascal Obry <obry@adacore.com> * mingw32.h: Remove obsolete code needed for old versions of MingW. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178959 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-19 Robert Dewar <dewar@adacore.com>charlet2011-09-191-0/+27
| | | | | | | | | | | | | | * sem_aggr.adb, lib-writ.ads, s-restri.ads, sem_ch6.adb, exp_aggr.adb: Minor reformatting. 2011-09-19 Yannick Moy <moy@adacore.com> * lib-xref.adb (Generate_Reference): Change entity referenced to underlying object if any, or else reference to the HEAP. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178956 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-06 Ed Schonberg <schonberg@adacore.com>charlet2011-09-061-0/+10
| | | | | | | | | | | | | | | * lib-xref.adb (OK_To_Set_Referenced): A reference to a formal in a parameter association must not set the Referenced flag on the formal. * prj-nmsc.adb (Check_File_Naming_Schemes): Remove useless formal 2011-09-06 Hristian Kirtchev <kirtchev@adacore.com> * gnat_rm.texi: Add a section on attribute Descriptor_Size git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178587 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-06 Robert Dewar <dewar@adacore.com>charlet2011-09-061-1/+1
| | | | | | | | | | | | | * ali.adb, sem_ch13.adb, lib-xref.adb: Minor reformatting. 2011-09-06 Pascal Obry <obry@adacore.com> * s-osinte-linux.ads, s-oscons-tmplt.c: Use oscons to define sigset_t types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178578 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-06 Robert Dewar <dewar@adacore.com>charlet2011-09-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | * g-socket.adb: Minor reformatting 2011-09-06 Javier Miranda <miranda@adacore.com> * ali.adb (Scan_ALI): Add missing support to load references of entities imported from other languages. * ali.ads (Xref_Record): Adding new fields to store the language and name of an imported entity. * lib-xref.adb (Output_Import_Export_Info): Fix typo in comment. 2011-09-06 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb (Analyze_Pragma, case Type_Invariant): A type invariant is allowed on a full type declaration if it is the completion of a private declarations. * sem_ch13.adb (Analyze_Aspect_Specifications): An invariant aspect is allowed on a full type declaration in the private part of a package. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178577 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-02 Robert Dewar <dewar@adacore.com>charlet2011-09-021-4/+9
| | | | | | | | | | | | | | | * lib-xref.adb: Minor reformatting 2011-09-02 Vincent Celier <celier@adacore.com> * bindusg.adb, clean.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb, gnatls.adb, gnatname.adb, gnatxref.adb, gprep.adb, makeusg.adb: Add --version and --help in usage. * switch.ads, switch.adb (Display_Usage_Version_And_Help): New procedure git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178454 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-02 Bob Duff <duff@adacore.com>charlet2011-09-021-1/+5
| | | | | | | | | | | | | | | | | | | | | * lib-xref.adb: (Hash): Avoid use of 'Mod attribute, because old compilers don't understand it. 2011-09-02 Gary Dismukes <dismukes@adacore.com> * exp_attr.adb (Expand_N_Attribute_Reference): Pass the underlying subtype rather than its base type on the call to Build_Record_Or_Elementary_Input_Function, so that any constraints on a discriminated subtype will be available for doing the check required by AI05-0192. * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): If the prefix subtype of the 'Input attribute is a constrained discriminated subtype, then check each constrained discriminant value against the corresponding value read from the stream. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178453 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-02 Robert Dewar <dewar@adacore.com>charlet2011-09-021-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_util.adb, sem_ch10.adb, sem_attr.adb, s-htable.adb, g-comlin.adb, g-comlin.ads, lib-xref-alfa.adb, lib-xref.adb: Minor reformatting. 2011-09-02 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch3.adb: (Set_Anonymous_Type): Associate the itype of an inherited component with the enclosing derived type. Code reformatting. 2011-09-02 Gary Dismukes <dismukes@adacore.com> * checks.adb: (Determine_Range): Add test of OK1 to prevent the early return done when overflow checks are enabled, since comparisons against Lor and Hir should not be done when OK1 is False. 2011-09-02 Gary Dismukes <dismukes@adacore.com> * exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call): Add new formal Master_Exp. When present, add that expression to the call as an extra actual. (Make_Build_In_Place_Call_In_Object_Declaration): Add variable Fmaster_Actual and in the case of a BIP call initializing a return object of an enclosing BIP function set it to a new reference to the implicit finalization master formal of the enclosing function. Fmaster_Actual is then passed to the new formal Master_Exp on the call to Add_Finalization_Master_Actual_To_Build_ In_Place_Call. Move initializations of Enclosing_Func to its declaration. 2011-09-02 Thomas Quinot <quinot@adacore.com> * csets.ads: Minor reformatting 2011-09-02 Hristian Kirtchev <kirtchev@adacore.com> * exp_aggr.adb: (Get_Constraint_Association): Add code to retrieve the full view of a private type coming from an instantiation. * exp_ch4.adb: (Current_Anonymous_Master): Reimplement the search loop to iterate over the declarations rather than use the First_Entity / Next_Entity scheme. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178438 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-02 Bob Duff <duff@adacore.com>charlet2011-09-021-177/+285
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * einfo.adb: (Has_Xref_Entry): Do not call Implementation_Base_Type. Lib.Xref has been rewritten to avoid the need for it, and it was costly. * s-htable.ads,s-htable.adb: (Present,Set_If_Not_Present): New functions in support of efficient xref. * lib-xref-alfa.adb: Misc changes related to Key component of type Xref_Entry. * lib-xref.adb: (Add_Entry,etc): Speed improvement. (New_Entry): Call Implementation_Base_Type, because Has_Xref_Entry no longer does. This is the one place where it is needed. 2011-09-02 Johannes Kanig <kanig@adacore.com> * g-comlin.adb (Getopt): New optional argument Concatenate to have similar interface as the other Getopt function. 2011-09-02 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch4.adb: (Expand_Allocator_Expression): Do not generate a call to Set_Finalize_Address if there is no allocator available. * exp_util.adb: (Build_Allocate_Deallocate_Proc): Account for a case of allocator expansion where the allocator is not expanded but needs a custom allocate routine. Code reformatting. (Is_Finalizable_Transient): Remove local variables Has_Rens and Ren_Obj. Code reformatting. (Is_Renamed): Renamed to Is_Aliased. Add code to detect aliasing through the use of 'reference. * sem_ch4.adb: (Analyze_Allocator): Detect allocators generated as part of build-in-place expansion. They are intentionally marked as coming from source, but their parents are not. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178436 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-31 Jose Ruiz <ruiz@adacore.com>charlet2011-08-311-5/+5
| | | | | | | | | | | | | | | | | | * s-taprop-linux.adb (Set_Task_Affinity): Avoid the use of anonymous access types. * affinity.c (__gnat_set_affinity_mask): Declare index variable. 2011-08-31 Yannick Moy <moy@adacore.com> * sem_ch8.adb (Analyze_Subprogram_Renaming): Refine expander test in full-expander test. Minor reformatting, renaming ALFA in Alfa (we dropped acronym) * einfo.adb (Primitive_Operations): Correctly return list of primitive operations in a case where it returned previously No_Elist. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178358 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-29 Robert Dewar <dewar@adacore.com>charlet2011-08-291-83/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_ch10.adb, a-coorse.adb, exp_dist.adb, exp_ch3.adb: Minor reformatting. * gcc-interface/Make-lang.in: Update dependencies. 2011-08-29 Yannick Moy <moy@adacore.com> * alfa.ads (Name_Of_Heap_Variable): New constant name. * lib-xref-alfa.adb, lib-xref.adb, lib-xref.ads (Drefs): New global table to hold dereferences. (Add_ALFA_Xrefs): Take into account dereferences as special reads/writes to the variable "HEAP". (Enclosing_Subprogram_Or_Package): Move subprogram here. (Generate_Dereference): New procedure to store a read/write dereferencew in the table Drefs. * put_alfa.adb (Put_ALFA): Use different default than (0,0) used for the special "HEAP" var. * sem_ch4.adb (Analyze_Explicit_Dereference): Store read dereference in ALFA mode. * sem_util.adb (Note_Possible_Modification): Store write dereference in ALFA mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178252 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-05 Robert Dewar <dewar@adacore.com>charlet2011-08-051-1/+2
| | | | | | | | | | | | | | | | * par_sco.adb, sem_ch3.adb, scos.ads, a-iteint.ads, sem_ch12.adb, a-cimutr.adb, a-cimutr.ads, sem_util.ads, sem_res.adb, a-fihema.adb, sem_ch4.adb, lib-xref-alfa.adb, exp_disp.adb, a-comutr.adb, a-comutr.ads, lib-xref.adb: Minor reformatting. 2011-08-05 Robert Dewar <dewar@adacore.com> * sem_ch11.adb (Analyze_Raise_Statement): Kill assignment to formal warning if there is an exception handler present. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177451 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-05 Pascal Obry <obry@adacore.com>charlet2011-08-051-1/+15
| | | | | | | | | | | | | | | | | | | | | | * a-iteint.ads: Fix copyright year. 2011-08-05 Thomas Quinot <quinot@adacore.com> * par_sco.adb (Traverse_Declarations_Or_Statements): Do not generate a statement SCO for a USE clause or a representation clause. 2011-08-05 Yannick Moy <moy@adacore.com> * lib-xref-alfa.adb (Collect_ALFA): generate the proper relation between body and spec for stub. (Detect_And_Add_ALFA_Scope): take into account subprogram stub * lib-xref.adb (Enclosing_Subprogram_Or_Package): in the case of a pragma precondition or postcondition, for which the enclosing subprogram or package in the AST is not the desired one, return empty. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177450 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-03 Eric Botcazou <ebotcazou@adacore.com>charlet2011-08-031-561/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnat_ugn.texi: Document -Wstack-usage. * gcc-interface/misc.c (enumerate_modes): Add guard for ghost FP modes. 2011-08-03 Thomas Quinot <quinot@adacore.com> * sem_prag.adb Issue an error (not a warning) when a C++ type does not have keyword LIMITED. 2011-08-03 Yannick Moy <moy@adacore.com> * alfa.adb, alfa.ads, alfa_test.adb: New files. * ali.adb (Known_ALI_Lines): add 'C' lines (SCO) and 'F' lines (ALFA) (Scan_ALI): do not issue a fatal error if parsing known lines after Xref section (does not happen in compiler, only if code directly calls Scan_ALI). * get_alfa.adb, get_alfa.ads: New files. * lib-writ.adb, lib-writ.ads (Write_ALI): output ALFA information if needed. * lib-xref-alfa.adb: New file. * lib-xref.adb, lib-xref.ads (Xref_Entry): redefine information needed in cross-references for ALFA. Push ALFA treatments in separated local package. (Enclosing_Subpragram_Or_Package): treat specially subprogram identifiers. Return entity of package body instead of spec. Return Empty for a scope with no location. (Generate_Reference): adapt to new components for ALFA information. Remove the need for D references on definitions. (Is_Local_Reference): moved to ALFA local package (Output_References): extract subfunction as Extract_Source_Name (Output_Local_References): remove procedure, replaced by filtering of cross-references in package ALFA and printing in Put_ALFA. (Write_Entity_Name): remove procedure * lib.adb, lib.ads (Extract_Source_Name): extract here function to print exact name of entity as it appears in source file (Unit_Ref_Table): make type public for use in Lib.Xref.ALFA * put_alfa.adb, put_alfa.ads: New files. * xref_lib.adb (Search_Xref): protect read of cross-references against reading other sections of the ALI file, in gnatxref (Search): protect read of cross-references against reading other sections of the ALI file, in gnatfind. * gcc-interface/Make-lang.in: Update dependencies. 2011-08-03 Thomas Quinot <quinot@adacore.com> * sem_ch3.adb: Minor reformatting. 2011-08-03 Jose Ruiz <ruiz@adacore.com> * s-inmaop-vxworks.adb (Setup_Interrupt_Mask): Do nothing instead of raising an exception. 2011-08-03 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Set_String_Literal_Subtype): if index type is an integer type, always use 1 as the lower bound or string, even if lower bound of context is not static, to handle properly null strings in a non-static context. 2011-08-03 Bob Duff <duff@adacore.com> * sem_prag.adb (Resolve_Aggregate): An array aggregate with 'others' is always legal on the right-hand side of an assignment statement; there is always an applicable index constraint in this case. Therefore, the check for Pkind = N_Assignment_Statement is now unconditional -- it doesn't depend on whether Is_Constrained (Typ). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177239 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-02 Robert Dewar <dewar@adacore.com>charlet2011-08-021-38/+38
| | | | | | | | | | * sem_ch3.adb, exp_atag.ads, get_scos.adb, get_scos.ads, exp_disp.adb, lib-xref.adb, lib-xref.ads: Update comments. Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177169 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-02 Robert Dewar <dewar@adacore.com>charlet2011-08-021-48/+612
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_res.adb: Minor reformatting. * sem_prag.adb: Minor reformatting. 2011-08-02 Javier Miranda <miranda@adacore.com> * exp_atag.adb, exp_atags.ads (Build_Common_Dispatching_Select_Statement): Replace argument DT_Ptr by the tagged type Entity. Required to use this routine in the VM targets since we do not have available the Tag entity in the VM platforms. * exp_ch6.adb (Expand_N_Subprogram_Body): Do not invoke Build_VM_TSDs if package Ada.Tags has not been previously loaded. * exp_ch7.adb (Expand_N_Package_Declaration, Expand_N_Package_Body): Do not invoke Build_VM_TSDs if package Ada.Tags has not been previously loaded. * sem_aux.adb (Enclosing_Dynamic_Scope): Add missing support to handle the full view of enclosing scopes. Required to handle enclosing scopes that are synchronized types whose full view is a task type. * exp_disp.adb (Build_VM_TSDs): Minor code improvement to avoid generating and analyzing lists with empty nodes. (Make_Disp_Asynchronous_Select_Body): Add support for VM targets. (Make_Disp_Conditional_Select_Body): Add support for VM targets. (Make_Disp_Get_Prim_Op_Kind): Add support for VM targets. (Make_Disp_Timed_Select_Body): Add support for VM targets. (Make_Select_Specific_Data_Table): Add support for VM targets. (Make_VM_TSD): Generate code to initialize the SSD structure of the TSD. 2011-08-02 Yannick Moy <moy@adacore.com> * lib-writ.adb (Write_ALI): when ALFA mode is set, write local cross-references section in ALI. * lib-xref.adb, lib-xref.ads (Xref_Entry): add components Sub (enclosing subprogram), Slc (location of Sub) and Sun (unit number of Sub). (Enclosing_Subprogram_Or_Package): new function to return the enclosing subprogram or package entity of a node (Is_Local_Reference_Type): new function returns True for references selected in local cross-references. (Lt): function extracted from Lt in Output_References (Write_Entity_Name): function extracted from Output_References (Generate_Definition): generate reference with type 'D' for definition of objects (object declaration and parameter specification), with appropriate locations and units, for use in local cross-references. (Generate_Reference): update fields Sub, Slc and Sun. Keep newly created references of type 'I' for initialization in object definition. (Output_References): move part of function Lt and procedure Write_Entity_Name outside of the body. Ignore references of types 'D' and 'I' introduced for local cross-references. (Output_Local_References): new procedure to output the local cross-references sections. (Lref_Entity_Status): new array defining whether an entity is a local * sem_ch3.adb (Analyze_Object_Declaration): call Generate_Reference with 'I' type when initialization expression is present. * get_scos.adb, get_scos.ads: Correct comments and typos git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177168 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-01 Ed Schonberg <schonberg@adacore.com>charlet2011-08-011-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator over an arbitrary expression of an array or container type. * lib-xref.adb: clarify comment. 2011-08-01 Bob Duff <duff@adacore.com> * einfo.ads: Minor reformatting. * debug.adb: Minor comment improvement. 2011-08-01 Javier Miranda <miranda@adacore.com> * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not consider hidden subprograms as valid candidates. 2011-08-01 Arnaud Charlet <charlet@adacore.com> * make.adb (Compile): Strip -mxxx switches in CodePeer mode. 2011-08-01 Vasiliy Fofanov <fofanov@adacore.com> * gnat_ugn.texi: Fix typo. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177031 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-01 Robert Dewar <dewar@adacore.com>charlet2011-08-011-1/+1
| | | | | | | | | | | | | | | * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb, lib-xref.adb: Minor reformatting 2011-08-01 Gary Dismukes <dismukes@adacore.com> * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of when to generate a call to Move_Final_List. (Has_Controlled_Parts): Remove this function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177030 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-08-01 Geert Bosch <bosch@adacore.com>charlet2011-08-011-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra "," in choice list. 2011-08-01 Thomas Quinot <quinot@adacore.com> * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for explicit raise of a predefined exception as Comes_From_Source if the original N_Raise_Statement comes from source. 2011-08-01 Robert Dewar <dewar@adacore.com> * sinfo.ads: Add comment. * sem_ch6.adb: Minor reformatting. 2011-08-01 Robert Dewar <dewar@adacore.com> * freeze.adb (Freeze_Entity): Refine check for bad component size clause to avoid rejecting confirming clause when atomic/aliased present. 2011-08-01 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to better determine whether an entity reference is a write. * sem_util.adb (Is_LHS): refine predicate to handle assignment to a subcomponent. * lib-xref.adb (Output_References): Do no suppress a read reference at the same location as an immediately preceeding modify-reference, to handle properly in-out actuals. 2011-08-01 Tristan Gingold <gingold@adacore.com> * env.c (__gnat_setenv) [VMS]: Refine previous change. 2011-08-01 Quentin Ochem <ochem@adacore.com> * i-cstrin.adb (New_String): Changed implementation, now uses only the heap to compute the result. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177029 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-26 Robert Dewar <dewar@adacore.com>charlet2010-10-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * einfo.ads, einfo.adb (Is_Base_Type): New function, use it where appropriate. * exp_ch6.adb, exp_dbug.adb, exp_disp.adb, freeze.adb, lib-xref.adb, sem_aux.adb, sem_ch3.adb, sem_ch7.adb, sem_ch8.adb (Is_Base_Type): Use this new abstraction where appropriate. 2010-10-26 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb: Code clean up. 2010-10-26 Paul Hilfinger <hilfinger@adacore.com> * exp_dbug.ads: Document effect of 'pragma Unchecked_Union' on debugging data. 2010-10-26 Ed Schonberg <schonberg@adacore.com> * sem_util.adb (Note_Possible_Modification): If the target of an assignment is the bound variable in an iterator, the domain of iteration, i.e. array or container, is modified as well. 2010-10-26 Bob Duff <duff@adacore.com> * Make-generated.in: Make the relevant make targets depend on ceinfo.adb and csinfo.adb. * csinfo.adb, ceinfo.adb: Make sure it raises an exception on failure, so when called from xeinfo, the failure will be noticed. * sinfo.ads: Update comments to reflect the fact that xsinfo runs csinfo * xsinfo.adb, xeinfo.adb: Run ceinfo to check for errors. Close files. 2010-10-26 Ed Schonberg <schonberg@adacore.com> * exp_ch4.adb: Set properly parent field of operands of concatenation. 2010-10-26 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Check_Infinite_Recursion): A recursive call within a conditional expression or a case expression should not generate an infinite recursion warning. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165946 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-26 Javier Miranda <miranda@adacore.com>charlet2010-10-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * einfo.ads, einfo.adb (Is_Overriding_Operation): Removed. (Set_Is_Overriding_Operation): Removed. * sem_ch3.adb (Check_Abstract_Overriding): Remove redundant call to Is_Overriding_Operation. * exp_ch7.adb (Check_Visibly_Controlled): Remove redundant call to Is_Overriding_Operation. * sem_ch7.adb (Declare_Inherited_Private_Subprograms): Remove redundant call to Set_Is_Overriding_Operation. * sem_util.adb (Collect_Primitive_Operations): Replace test on Is_Overriding_Operation by test on the presence of attribute Overridden_Operation. (Original_Corresponding_Operation): Remove redundant call to attribute Is_Overriding_Operation. * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Remove redundant call to Is_Overriding_Operation. (Verify_Overriding_Indicator): Replace several occurrences of test on Is_Overriding_Operation by test on the presence of attribute Overridden_Operation. (Check_Convention): Replace test on Is_Overriding_Operation by test on the presence of Overridden_Operation. (Check_Overriding_Indicator): Add missing decoration of attribute Overridden_Operation. Minor code cleanup. (New_Overloaded_Entity): Replace occurrence of test on Is_Overriding_Operation by test on the presence of attribute Overridden_Operation. Remove redundant setting of attribute Is_Overriding_Operation plus minor code reorganization. Add missing decoration of attribute Overridden_Operation. * sem_elim.adb (Set_Eliminated): Replace test on Is_Overriding_Operation by test on the presence of Overridden_Operation. * sem_ch8.adb (Analyze_Subprogram_Renaming): Replace test on Is_Overriding_Operation by test on the presence of Overridden_Operation. Remove a redundant test on attribute Is_Overriding_Operation. * lib-xref.adb (Generate_Reference): Replace test on Is_Overriding_Operation by test on the presence of Overridden_Operation. (Output_References): Replace test on Is_Overriding_Operation by test on the presence of Overridden_Operation. * sem_disp.adb (Override_Dispatching_Operation): Replace test on Is_Overriding_Operation by test on the presence of Overridden_Operation. Add missing decoration of attribute Overridden_Operation. 2010-10-26 Robert Dewar <dewar@adacore.com> * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Properly check RM 13.4.1(10). 2010-10-26 Bob Duff <duff@adacore.com> * sem_res.adb (Resolve_Actuals): In case of certain internally-generated type conversions (created by OK_Convert_To, so the Conversion_OK flag is set), avoid fetching the component type when it's not really an array type, but a private type completed by an array type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165945 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-21 Robert Dewar <dewar@adacore.com>charlet2010-10-211-2/+2
| | | | | | | | | | | | | | * a-cgaaso.ads, a-tags.ads, exp_ch3.adb, exp_attr.adb, exp_ch4.adb, exp_ch3.ads, exp_ch7.adb, exp_ch9.adb, exp_disp.adb, exp_disp.ads, exp_dist.adb, exp_util.adb, layout.adb, lib-xref.adb, lib.ads, prep.adb, prj-strt.adb, s-ststop.adb, s-taskin.ads, s-tataat.ads, sem_aggr.adb, sem_attr.adb, sem_ch12.adb, sem_ch3.adb, sem_ch4.adb, sem_ch4.ads, sem_ch5.adb, sem_res.adb, sem_util.adb, einfo.adb, g-sothco.ads, make.adb: Minor reformatting git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165760 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-18 Javier Miranda <miranda@adacore.com>charlet2010-10-181-8/+1
| | | | | | | | | | | | | | | | | | | | * einfo.ads, einfo.adb (Primitive_Operations): New synthesized attribute. (Direct_Primitive_Operations): Renaming of old Primitive_Operations. (Set_Direct_Primitive_Operations): Renaming of old Set_Primitive_Operations. Update documentation * sem_ch3.adb, exp_util.adb, sem_ch7.adb, sem_ch8.adb, exp_ch3.adb: Replace occurrences of Set_Primitive_Operations by Set_Direct_Primitive_Operations. * sem_cat.adb (Validate_RACW_Primitives): No action needed for tagged concurrent types. * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): Do not process primitives of concurrent types. * lib-xref.adb (Generate_Prim_Op_References): Minor code cleanup. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165618 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-11 Gary Dismukes <dismukes@adacore.com>charlet2010-10-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_disp.adb (Check_Dispatching_Operation): Revise test for warning about nondispatching subprograms to use In_Same_List (reducing use of Parent links). 2010-10-11 Ed Schonberg <schonberg@adacore.com> * xr_tabls.adb, sem_res.adb, lib-xref.adb, lib-xref.ads: Use s for reference in a static call. 2010-10-11 Steve Baird <baird@adacore.com> * exp_attr.adb (Expand_N_Attribute_Reference, case Type_Key): Type_Key attribute should always be transformed into a string literal in Analyze_Attribute. * par-ch4.adb: Type_Key attribute's type is String; update value of Is_Parameterless_Attribute constant to reflect this. * sem_attr.adb (Analyze_Attribute): Recognize Type_Key attribute and rewrite it as a string literal (attribute value is always known statically). * snames.ads-tmpl: Add entries for Type_Key attribute. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165285 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-11 Ed Schonberg <schonberg@adacore.com>charlet2010-10-111-16/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * lib-xref.adb (Output_References): Common handling for objects and formals of an anonymous access type. 2010-10-11 Eric Botcazou <ebotcazou@adacore.com> * make.adb (Scan_Make_Arg): Also pass -O to both compiler and linker. 2010-10-11 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb: Fix check for illegal equality declaration in Ada2012 2010-10-11 Gary Dismukes <dismukes@adacore.com> * sem_disp.adb (Check_Dispatching_Operation): When testing for issuing a warning about subprograms of a tagged type not being dispatching, limit this to cases where the tagged type and the subprogram are declared within the same declaration list. 2010-10-11 Jerome Lambourg <lambourg@adacore.com> * projects.texi, prj-attr.adb: Add new attribute documentation_dir. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165284 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-11 Bob Duff <duff@adacore.com>charlet2010-10-111-1/+1
| | | | | | | | | | | | | | | | | | * par-ch9.adb, sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, impunit.adb, impunit.ads, sem_ch5.adb, sem_type.adb, exp_imgv.adb, exp_util.adb, switch-c.adb, exp_attr.adb, exp_ch9.adb, par-ch11.adb, usage.adb, sem_ch9.adb, sem_ch10.adb, scng.adb, checks.adb, sem_prag.adb, sem_ch12.adb, par-ch2.adb, freeze.adb, par-ch4.adb, sem_util.adb, sem_res.adb, sem_attr.adb, par-ch6.adb, exp_ch4.adb, exp_ch6.adb, sem_ch4.adb, exp_ch8.adb, par-ch10.adb, sem_ch6.adb, par-prag.adb, exp_disp.adb, par-ch12.adb, sem_ch8.adb, snames.adb-tmpl, opt.ads, exp_aggr.adb, sem_cat.adb, sem_ch13.adb, par-ch3.adb, exp_strm.adb, exp_cg.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb: Use Ada_2005 instead of Ada_05 (Ada_Version_Type). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165283 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-11 Bob Duff <duff@adacore.com>charlet2010-10-111-1/+1
| | | | | | | | | | | | | | | | | | | | | * sem_aggr.adb, impunit.adb, impunit.ads, switch-c.adb, usage.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, par-ch4.adb, par-ch6.adb, par-ch8.adb, exp_ch4.adb, sem_ch4.adb, sem_ch6.adb, par-prag.adb, opt.ads, par-ch3.adb, lib-xref.adb: Use Ada_2012 instead of Ada_12 (Ada_Version_Type). 2010-10-11 Javier Miranda <miranda@adacore.com> * exp_util.adb (Safe_Prefixed_Reference): If the prefix is an explicit dereference then do not exclude dereferences of access-to-constant types to handle them as constant view of variables (and hence remove side effects when required). * sem_res.adb (Resolve_Slice): Ensure that side effects in the bounds are properly handled. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165282 138bc75d-0d04-0410-961f-82ee72b054a4