summaryrefslogtreecommitdiff
path: root/gcc/ada/snames.ads
diff options
context:
space:
mode:
authorVincent Celier <celier@adacore.com>2008-05-20 14:45:54 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2008-05-20 14:45:54 +0200
commit4f469be30bf03ea36b23f390b7446f499cb5be5e (patch)
tree4f65013f967ac2ea1c063adc21103b17e57712c4 /gcc/ada/snames.ads
parent3ddca462736ddb7385b51f03631fd77501a3d852 (diff)
downloadgcc-4f469be30bf03ea36b23f390b7446f499cb5be5e.tar.gz
prj.adb (Hash (Project_Id)): New function
2008-05-20 Vincent Celier <celier@adacore.com> * prj.adb (Hash (Project_Id)): New function (Project_Empty): Add new component Interfaces_Defined * prj.ads (Source_Data): New component Object_Linked (Language_Config): New components Object_Generated and Objects_Linked (Hash (Project_Id)): New function (Source_Data): New Boolean components In_Interfaces and Declared_In_Interfaces. (Project_Data): New Boolean component Interfaces_Defined * prj-attr.adb: New project level attribute Object_Generated and Objects_Linked Add new project level attribute Interfaces * prj-dect.adb: Use functions Present and No throughout (Parse_Variable_Declaration): If a string type is specified as a simple name and is not found in the current project, look for it also in the ancestors of the project. * prj-makr.adb: Replace procedure Make with procedures Initialize, Process and Finalize to implement H414-023: process different directories with different patterns. Use functions Present and No throughout * prj-makr.ads: Replace procedure Make with procedures Initialize, Process and Finalize * prj-nmsc.adb (Add_Source): Set component Object_Exists and Object_Linked accordnig to the language configuration. (Process_Project_Level_Array_Attributes): Process new attributes Object_Generated and Object_Linked. (Report_No_Sources): New Boolean parameter Continuation, defaulted to False, to indicate that the erreor/warning is a continuation. (Check): Call Report_No_Sources with Contnuation = True after the first call. (Error_Msg): Process successively contnuation character and warning character. (Find_Explicit_Sources): Check that all declared sources have been found (Check_File): Indicate in hash table Source_Names when a declared source is found. (Check_File): Set Other_Part when found (Find_Explicit_Sources): In multi language mode, check if all exceptions to the naming scheme have been found. For Ada, report an error if an exception has not been found. Otherwise, disregard the exception. (Check_Interfaces): New procedure (Add_Source): When Other_Part is defined, set mutual pointers in spec and body. (Check): In multi-language mode, call Check_Interfaces (Process_Sources_In_Multi_Language_Mode): Set In_Interfaces to False for an excluded source. (Remove_Source): A source replacing a source in the interfaces is also in the interfaces. * prj-pars.adb: Use function Present * prj-part.adb: Use functions Present and No throughout (Parse_Single_Project): Set the parent project for child projects (Create_Virtual_Extending_Project): Register project with no qualifier (Parse_Single_Project): Allow an abstract project to be extend several times. Do not allow an abstract project to extend a non abstract project. * prj-pp.adb: Use functions Present and No throughout (Print): Take into account the full associative array attribute declarations. * prj-proc.adb: Use functions Present and No throughout (Expression): Call itself with the same From_Project_Node for the default value of an external reference. * prj-strt.adb: Use functions Present and No throughout (Parse_Variable_Reference): If a variable is specified as a simple name and is not found in the current project, look for it also in the ancestors of the project. * prj-tree.ads, prj-tree.adb (Present): New function (No): New function Use functions Present and No throughout (Parent_Project_Of): New function (Set_Parent_Project_Of): New procedure * snames.ads, snames.adb: Add new standard names Object_Generated and Objects_Linked From-SVN: r135623
Diffstat (limited to 'gcc/ada/snames.ads')
-rw-r--r--gcc/ada/snames.ads78
1 files changed, 40 insertions, 38 deletions
diff --git a/gcc/ada/snames.ads b/gcc/ada/snames.ads
index 4d2a11ecb3e..17779913af6 100644
--- a/gcc/ada/snames.ads
+++ b/gcc/ada/snames.ads
@@ -1092,56 +1092,58 @@ package Snames is
Name_Mapping_Body_Suffix : constant Name_Id := N + 710;
Name_Metrics : constant Name_Id := N + 711;
Name_Naming : constant Name_Id := N + 712;
- Name_Objects_Path : constant Name_Id := N + 713;
- Name_Objects_Path_File : constant Name_Id := N + 714;
- Name_Object_Dir : constant Name_Id := N + 715;
- Name_Pic_Option : constant Name_Id := N + 716;
- Name_Pretty_Printer : constant Name_Id := N + 717;
- Name_Prefix : constant Name_Id := N + 718;
- Name_Project : constant Name_Id := N + 719;
- Name_Roots : constant Name_Id := N + 720;
- Name_Required_Switches : constant Name_Id := N + 721;
- Name_Run_Path_Option : constant Name_Id := N + 722;
- Name_Runtime_Project : constant Name_Id := N + 723;
- Name_Shared_Library_Minimum_Switches : constant Name_Id := N + 724;
- Name_Shared_Library_Prefix : constant Name_Id := N + 725;
- Name_Shared_Library_Suffix : constant Name_Id := N + 726;
- Name_Separate_Suffix : constant Name_Id := N + 727;
- Name_Source_Dirs : constant Name_Id := N + 728;
- Name_Source_Files : constant Name_Id := N + 729;
- Name_Source_List_File : constant Name_Id := N + 730;
- Name_Spec : constant Name_Id := N + 731;
- Name_Spec_Suffix : constant Name_Id := N + 732;
- Name_Specification : constant Name_Id := N + 733;
- Name_Specification_Exceptions : constant Name_Id := N + 734;
- Name_Specification_Suffix : constant Name_Id := N + 735;
- Name_Stack : constant Name_Id := N + 736;
- Name_Switches : constant Name_Id := N + 737;
- Name_Symbolic_Link_Supported : constant Name_Id := N + 738;
- Name_Sync : constant Name_Id := N + 739;
- Name_Synchronize : constant Name_Id := N + 740;
- Name_Toolchain_Description : constant Name_Id := N + 741;
- Name_Toolchain_Version : constant Name_Id := N + 742;
- Name_Runtime_Library_Dir : constant Name_Id := N + 743;
+ Name_Object_Generated : constant Name_Id := N + 713;
+ Name_Objects_Linked : constant Name_Id := N + 714;
+ Name_Objects_Path : constant Name_Id := N + 715;
+ Name_Objects_Path_File : constant Name_Id := N + 716;
+ Name_Object_Dir : constant Name_Id := N + 717;
+ Name_Pic_Option : constant Name_Id := N + 718;
+ Name_Pretty_Printer : constant Name_Id := N + 719;
+ Name_Prefix : constant Name_Id := N + 720;
+ Name_Project : constant Name_Id := N + 721;
+ Name_Roots : constant Name_Id := N + 722;
+ Name_Required_Switches : constant Name_Id := N + 723;
+ Name_Run_Path_Option : constant Name_Id := N + 724;
+ Name_Runtime_Project : constant Name_Id := N + 725;
+ Name_Shared_Library_Minimum_Switches : constant Name_Id := N + 726;
+ Name_Shared_Library_Prefix : constant Name_Id := N + 727;
+ Name_Shared_Library_Suffix : constant Name_Id := N + 728;
+ Name_Separate_Suffix : constant Name_Id := N + 729;
+ Name_Source_Dirs : constant Name_Id := N + 730;
+ Name_Source_Files : constant Name_Id := N + 731;
+ Name_Source_List_File : constant Name_Id := N + 732;
+ Name_Spec : constant Name_Id := N + 733;
+ Name_Spec_Suffix : constant Name_Id := N + 734;
+ Name_Specification : constant Name_Id := N + 735;
+ Name_Specification_Exceptions : constant Name_Id := N + 736;
+ Name_Specification_Suffix : constant Name_Id := N + 737;
+ Name_Stack : constant Name_Id := N + 738;
+ Name_Switches : constant Name_Id := N + 739;
+ Name_Symbolic_Link_Supported : constant Name_Id := N + 740;
+ Name_Sync : constant Name_Id := N + 741;
+ Name_Synchronize : constant Name_Id := N + 742;
+ Name_Toolchain_Description : constant Name_Id := N + 743;
+ Name_Toolchain_Version : constant Name_Id := N + 744;
+ Name_Runtime_Library_Dir : constant Name_Id := N + 745;
-- Other miscellaneous names used in front end
- Name_Unaligned_Valid : constant Name_Id := N + 744;
+ Name_Unaligned_Valid : constant Name_Id := N + 746;
-- Ada 2005 reserved words
- First_2005_Reserved_Word : constant Name_Id := N + 745;
- Name_Interface : constant Name_Id := N + 745;
- Name_Overriding : constant Name_Id := N + 746;
- Name_Synchronized : constant Name_Id := N + 747;
- Last_2005_Reserved_Word : constant Name_Id := N + 747;
+ First_2005_Reserved_Word : constant Name_Id := N + 747;
+ Name_Interface : constant Name_Id := N + 747;
+ Name_Overriding : constant Name_Id := N + 748;
+ Name_Synchronized : constant Name_Id := N + 749;
+ Last_2005_Reserved_Word : constant Name_Id := N + 749;
subtype Ada_2005_Reserved_Words is
Name_Id range First_2005_Reserved_Word .. Last_2005_Reserved_Word;
-- Mark last defined name for consistency check in Snames body
- Last_Predefined_Name : constant Name_Id := N + 747;
+ Last_Predefined_Name : constant Name_Id := N + 749;
---------------------------------------
-- Subtypes Defining Name Categories --