diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-08-31 10:23:48 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-08-31 10:23:48 +0000 |
commit | b5766bfbf53ea5b62ffd36363fe49150566bc02d (patch) | |
tree | 281bbbce1a8480f627a408d05954392fb4feeec3 | |
parent | df20d1a8586235a388bc677a7199fe689bead575 (diff) | |
download | gcc-b5766bfbf53ea5b62ffd36363fe49150566bc02d.tar.gz |
2007-08-31 Vincent Celier <celier@adacore.com>
* prj-attr.adb: Add new attribute Excluded_Source_Files
* prj-nmsc.adb: Use attribute Excluded_Source_Files before
Locally_Removed_Files.
* snames.ads, snames.adb: New standard name Excluded_Source_Files
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127978 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ada/prj-attr.adb | 3 | ||||
-rw-r--r-- | gcc/ada/prj-nmsc.adb | 60 | ||||
-rw-r--r-- | gcc/ada/snames.adb | 3 | ||||
-rw-r--r-- | gcc/ada/snames.ads | 173 |
4 files changed, 133 insertions, 106 deletions
diff --git a/gcc/ada/prj-attr.adb b/gcc/ada/prj-attr.adb index 57e9724d6fe..fd1e9b34693 100644 --- a/gcc/ada/prj-attr.adb +++ b/gcc/ada/prj-attr.adb @@ -75,12 +75,13 @@ package body Prj.Attr is "SVobject_dir#" & "SVexec_dir#" & "LVsource_dirs#" & - "LVremoved_source_dirs#" & + "LVexcluded_source_dirs#" & -- Source files "LVsource_files#" & "LVlocally_removed_files#" & + "LVexcluded_source_files#" & "SVsource_list_file#" & -- Libraries diff --git a/gcc/ada/prj-nmsc.adb b/gcc/ada/prj-nmsc.adb index caa210688cb..f52a1c3b9c6 100644 --- a/gcc/ada/prj-nmsc.adb +++ b/gcc/ada/prj-nmsc.adb @@ -4812,9 +4812,9 @@ package body Prj.Nmsc is Util.Value_Of (Name_Source_Dirs, Data.Decl.Attributes, In_Tree); - Removed_Source_Dirs : constant Variable_Value := + Excluded_Source_Dirs : constant Variable_Value := Util.Value_Of - (Name_Removed_Source_Dirs, + (Name_Excluded_Source_Dirs, Data.Decl.Attributes, In_Tree); @@ -5416,12 +5416,13 @@ package body Prj.Nmsc is else declare - Source_Dir : String_List_Id := Source_Dirs.Values; + Source_Dir : String_List_Id; Element : String_Element; begin -- Process the source directories for each element of the list + Source_Dir := Source_Dirs.Values; while Source_Dir /= Nil_String loop Element := In_Tree.String_Elements.Table (Source_Dir); @@ -5432,8 +5433,9 @@ package body Prj.Nmsc is end; end if; - if (not Removed_Source_Dirs.Default) and then - Removed_Source_Dirs.Values /= Nil_String then + if not Excluded_Source_Dirs.Default + and then Excluded_Source_Dirs.Values /= Nil_String + then declare Source_Dir : String_List_Id; Element : String_Element; @@ -5441,7 +5443,7 @@ package body Prj.Nmsc is begin -- Process the source directories for each element of the list - Source_Dir := Removed_Source_Dirs.Values; + Source_Dir := Excluded_Source_Dirs.Values; while Source_Dir /= Nil_String loop Element := In_Tree.String_Elements.Table (Source_Dir); @@ -6883,9 +6885,9 @@ package body Prj.Nmsc is Data.Decl.Attributes, In_Tree); - Locally_Removed : constant Variable_Value := + Excluded_Sources : Variable_Value := Util.Value_Of - (Name_Locally_Removed_Files, + (Name_Excluded_Source_Files, Data.Decl.Attributes, In_Tree); @@ -7008,13 +7010,24 @@ package body Prj.Nmsc is (Project, In_Tree, Data, Follow_Links); end if; + -- If Excluded_ource_Files is not declared, check + -- Locally_Removed_Files. + + if Excluded_Sources.Default then + Excluded_Sources := + Util.Value_Of + (Name_Locally_Removed_Files, + Data.Decl.Attributes, + In_Tree); + end if; + -- If there are sources that are locally removed, mark them as -- such in the Units table. - if not Locally_Removed.Default then + if not Excluded_Sources.Default then declare - Current : String_List_Id := Locally_Removed.Values; + Current : String_List_Id := Excluded_Sources.Values; Element : String_Element; Location : Source_Ptr; OK : Boolean; @@ -7030,10 +7043,10 @@ package body Prj.Nmsc is Name := Name_Find; -- If the element has no location, then use the location - -- of Locally_Removed to report possible errors. + -- of Excluded_Sources to report possible errors. if Element.Location = No_Location then - Location := Locally_Removed.Location; + Location := Excluded_Sources.Location; else Location := Element.Location; end if; @@ -7409,14 +7422,25 @@ package body Prj.Nmsc is Data.Decl.Attributes, In_Tree); - Locally_Removed : constant Variable_Value := + Excluded_Sources : Variable_Value := Util.Value_Of - (Name_Locally_Removed_Files, + (Name_Excluded_Source_Files, Data.Decl.Attributes, In_Tree); Name_Loc : Name_Location; begin + -- If Excluded_ource_Files is not declared, check + -- Locally_Removed_Files. + + if Excluded_Sources.Default then + Excluded_Sources := + Util.Value_Of + (Name_Locally_Removed_Files, + Data.Decl.Attributes, + In_Tree); + end if; + if not Sources.Default then if not Source_List_File.Default then Error_Msg @@ -7517,7 +7541,7 @@ package body Prj.Nmsc is -- If there are locally removed sources, mark them as such - if not Locally_Removed.Default then + if not Excluded_Sources.Default then declare Current : String_List_Id; Element : String_Element; @@ -7528,7 +7552,7 @@ package body Prj.Nmsc is Src_Data : Source_Data; begin - Current := Locally_Removed.Values; + Current := Excluded_Sources.Values; while Current /= Nil_String loop Element := In_Tree.String_Elements.Table (Current); @@ -7537,10 +7561,10 @@ package body Prj.Nmsc is Name := Name_Find; -- If the element has no location, then use the location - -- of Locally_Removed to report possible errors. + -- of Excluded_Sources to report possible errors. if Element.Location = No_Location then - Location := Locally_Removed.Location; + Location := Excluded_Sources.Location; else Location := Element.Location; end if; diff --git a/gcc/ada/snames.adb b/gcc/ada/snames.adb index 1e0a6397ba7..5c26cd4362a 100644 --- a/gcc/ada/snames.adb +++ b/gcc/ada/snames.adb @@ -695,6 +695,8 @@ package body Snames is "dependency_file_kind#" & "dependency_switches#" & "driver#" & + "excluded_source_dirs#" & + "excluded_source_files#" & "exec_dir#" & "executable#" & "executable_suffix#" & @@ -753,7 +755,6 @@ package body Snames is "prefix#" & "project#" & "roots#" & - "removed_source_dirs#" & "required_switches#" & "run_path_option#" & "runtime_project#" & diff --git a/gcc/ada/snames.ads b/gcc/ada/snames.ads index 32febd5e27a..c6632ea663d 100644 --- a/gcc/ada/snames.ads +++ b/gcc/ada/snames.ads @@ -1011,104 +1011,105 @@ package Snames is Name_Dependency_File_Kind : constant Name_Id := N + 634; Name_Dependency_Switches : constant Name_Id := N + 635; Name_Driver : constant Name_Id := N + 636; - Name_Exec_Dir : constant Name_Id := N + 637; - Name_Executable : constant Name_Id := N + 638; - Name_Executable_Suffix : constant Name_Id := N + 639; - Name_Extends : constant Name_Id := N + 640; - Name_Externally_Built : constant Name_Id := N + 641; - Name_Finder : constant Name_Id := N + 642; - Name_Global_Configuration_Pragmas : constant Name_Id := N + 643; - Name_Global_Config_File : constant Name_Id := N + 644; - Name_Gnatls : constant Name_Id := N + 645; - Name_Gnatstub : constant Name_Id := N + 646; - Name_Implementation : constant Name_Id := N + 647; - Name_Implementation_Exceptions : constant Name_Id := N + 648; - Name_Implementation_Suffix : constant Name_Id := N + 649; - Name_Include_Option : constant Name_Id := N + 650; - Name_Include_Path : constant Name_Id := N + 651; - Name_Include_Path_File : constant Name_Id := N + 652; - Name_Language_Kind : constant Name_Id := N + 653; - Name_Language_Processing : constant Name_Id := N + 654; - Name_Languages : constant Name_Id := N + 655; - Name_Library_Ali_Dir : constant Name_Id := N + 656; - Name_Library_Auto_Init : constant Name_Id := N + 657; - Name_Library_Auto_Init_Supported : constant Name_Id := N + 658; - Name_Library_Builder : constant Name_Id := N + 659; - Name_Library_Dir : constant Name_Id := N + 660; - Name_Library_GCC : constant Name_Id := N + 661; - Name_Library_Interface : constant Name_Id := N + 662; - Name_Library_Kind : constant Name_Id := N + 663; - Name_Library_Name : constant Name_Id := N + 664; - Name_Library_Major_Minor_Id_Supported : constant Name_Id := N + 665; - Name_Library_Options : constant Name_Id := N + 666; - Name_Library_Partial_Linker : constant Name_Id := N + 667; - Name_Library_Reference_Symbol_File : constant Name_Id := N + 668; - Name_Library_Src_Dir : constant Name_Id := N + 669; - Name_Library_Support : constant Name_Id := N + 670; - Name_Library_Symbol_File : constant Name_Id := N + 671; - Name_Library_Symbol_Policy : constant Name_Id := N + 672; - Name_Library_Version : constant Name_Id := N + 673; - Name_Library_Version_Switches : constant Name_Id := N + 674; - Name_Linker : constant Name_Id := N + 675; - Name_Linker_Executable_Option : constant Name_Id := N + 676; - Name_Linker_Lib_Dir_Option : constant Name_Id := N + 677; - Name_Linker_Lib_Name_Option : constant Name_Id := N + 678; - Name_Local_Config_File : constant Name_Id := N + 679; - Name_Local_Configuration_Pragmas : constant Name_Id := N + 680; - Name_Locally_Removed_Files : constant Name_Id := N + 681; - Name_Mapping_File_Switches : constant Name_Id := N + 682; - Name_Mapping_Spec_Suffix : constant Name_Id := N + 683; - Name_Mapping_Body_Suffix : constant Name_Id := N + 684; - Name_Metrics : constant Name_Id := N + 685; - Name_Naming : constant Name_Id := N + 686; - Name_Objects_Path : constant Name_Id := N + 687; - Name_Objects_Path_File : constant Name_Id := N + 688; - Name_Object_Dir : constant Name_Id := N + 689; - Name_Pic_Option : constant Name_Id := N + 690; - Name_Pretty_Printer : constant Name_Id := N + 691; - Name_Prefix : constant Name_Id := N + 692; - Name_Project : constant Name_Id := N + 693; - Name_Roots : constant Name_Id := N + 694; - Name_Removed_Source_Dirs : constant Name_Id := N + 695; - Name_Required_Switches : constant Name_Id := N + 696; - Name_Run_Path_Option : constant Name_Id := N + 697; - Name_Runtime_Project : constant Name_Id := N + 698; - Name_Shared_Library_Minimum_Switches : constant Name_Id := N + 699; - Name_Shared_Library_Prefix : constant Name_Id := N + 700; - Name_Shared_Library_Suffix : constant Name_Id := N + 701; - Name_Separate_Suffix : constant Name_Id := N + 702; - Name_Source_Dirs : constant Name_Id := N + 703; - Name_Source_Files : constant Name_Id := N + 704; - Name_Source_List_File : constant Name_Id := N + 705; - Name_Spec : constant Name_Id := N + 706; - Name_Spec_Suffix : constant Name_Id := N + 707; - Name_Specification : constant Name_Id := N + 708; - Name_Specification_Exceptions : constant Name_Id := N + 709; - Name_Specification_Suffix : constant Name_Id := N + 710; - Name_Stack : constant Name_Id := N + 711; - Name_Switches : constant Name_Id := N + 712; - Name_Symbolic_Link_Supported : constant Name_Id := N + 713; - Name_Toolchain_Description : constant Name_Id := N + 714; - Name_Toolchain_Version : constant Name_Id := N + 715; + Name_Excluded_Source_Dirs : constant Name_Id := N + 637; + Name_Excluded_Source_Files : constant Name_Id := N + 638; + Name_Exec_Dir : constant Name_Id := N + 639; + Name_Executable : constant Name_Id := N + 640; + Name_Executable_Suffix : constant Name_Id := N + 641; + Name_Extends : constant Name_Id := N + 642; + Name_Externally_Built : constant Name_Id := N + 643; + Name_Finder : constant Name_Id := N + 644; + Name_Global_Configuration_Pragmas : constant Name_Id := N + 645; + Name_Global_Config_File : constant Name_Id := N + 646; + Name_Gnatls : constant Name_Id := N + 647; + Name_Gnatstub : constant Name_Id := N + 648; + Name_Implementation : constant Name_Id := N + 649; + Name_Implementation_Exceptions : constant Name_Id := N + 650; + Name_Implementation_Suffix : constant Name_Id := N + 651; + Name_Include_Option : constant Name_Id := N + 652; + Name_Include_Path : constant Name_Id := N + 653; + Name_Include_Path_File : constant Name_Id := N + 654; + Name_Language_Kind : constant Name_Id := N + 655; + Name_Language_Processing : constant Name_Id := N + 656; + Name_Languages : constant Name_Id := N + 657; + Name_Library_Ali_Dir : constant Name_Id := N + 658; + Name_Library_Auto_Init : constant Name_Id := N + 659; + Name_Library_Auto_Init_Supported : constant Name_Id := N + 660; + Name_Library_Builder : constant Name_Id := N + 661; + Name_Library_Dir : constant Name_Id := N + 662; + Name_Library_GCC : constant Name_Id := N + 663; + Name_Library_Interface : constant Name_Id := N + 664; + Name_Library_Kind : constant Name_Id := N + 665; + Name_Library_Name : constant Name_Id := N + 666; + Name_Library_Major_Minor_Id_Supported : constant Name_Id := N + 667; + Name_Library_Options : constant Name_Id := N + 668; + Name_Library_Partial_Linker : constant Name_Id := N + 669; + Name_Library_Reference_Symbol_File : constant Name_Id := N + 670; + Name_Library_Src_Dir : constant Name_Id := N + 671; + Name_Library_Support : constant Name_Id := N + 672; + Name_Library_Symbol_File : constant Name_Id := N + 673; + Name_Library_Symbol_Policy : constant Name_Id := N + 674; + Name_Library_Version : constant Name_Id := N + 675; + Name_Library_Version_Switches : constant Name_Id := N + 676; + Name_Linker : constant Name_Id := N + 677; + Name_Linker_Executable_Option : constant Name_Id := N + 678; + Name_Linker_Lib_Dir_Option : constant Name_Id := N + 679; + Name_Linker_Lib_Name_Option : constant Name_Id := N + 680; + Name_Local_Config_File : constant Name_Id := N + 681; + Name_Local_Configuration_Pragmas : constant Name_Id := N + 682; + Name_Locally_Removed_Files : constant Name_Id := N + 683; + Name_Mapping_File_Switches : constant Name_Id := N + 684; + Name_Mapping_Spec_Suffix : constant Name_Id := N + 685; + Name_Mapping_Body_Suffix : constant Name_Id := N + 686; + Name_Metrics : constant Name_Id := N + 687; + Name_Naming : constant Name_Id := N + 688; + Name_Objects_Path : constant Name_Id := N + 689; + Name_Objects_Path_File : constant Name_Id := N + 690; + Name_Object_Dir : constant Name_Id := N + 691; + Name_Pic_Option : constant Name_Id := N + 692; + Name_Pretty_Printer : constant Name_Id := N + 693; + Name_Prefix : constant Name_Id := N + 694; + Name_Project : constant Name_Id := N + 695; + Name_Roots : constant Name_Id := N + 696; + Name_Required_Switches : constant Name_Id := N + 697; + Name_Run_Path_Option : constant Name_Id := N + 698; + Name_Runtime_Project : constant Name_Id := N + 699; + Name_Shared_Library_Minimum_Switches : constant Name_Id := N + 700; + Name_Shared_Library_Prefix : constant Name_Id := N + 701; + Name_Shared_Library_Suffix : constant Name_Id := N + 702; + Name_Separate_Suffix : constant Name_Id := N + 703; + Name_Source_Dirs : constant Name_Id := N + 704; + Name_Source_Files : constant Name_Id := N + 705; + Name_Source_List_File : constant Name_Id := N + 706; + Name_Spec : constant Name_Id := N + 707; + Name_Spec_Suffix : constant Name_Id := N + 708; + Name_Specification : constant Name_Id := N + 709; + Name_Specification_Exceptions : constant Name_Id := N + 710; + Name_Specification_Suffix : constant Name_Id := N + 711; + Name_Stack : constant Name_Id := N + 712; + Name_Switches : constant Name_Id := N + 713; + Name_Symbolic_Link_Supported : constant Name_Id := N + 714; + Name_Toolchain_Description : constant Name_Id := N + 715; + Name_Toolchain_Version : constant Name_Id := N + 716; -- Other miscellaneous names used in front end - Name_Unaligned_Valid : constant Name_Id := N + 716; + Name_Unaligned_Valid : constant Name_Id := N + 717; -- Ada 2005 reserved words - First_2005_Reserved_Word : constant Name_Id := N + 717; - Name_Interface : constant Name_Id := N + 717; - Name_Overriding : constant Name_Id := N + 718; - Name_Synchronized : constant Name_Id := N + 719; - Last_2005_Reserved_Word : constant Name_Id := N + 719; + First_2005_Reserved_Word : constant Name_Id := N + 718; + Name_Interface : constant Name_Id := N + 718; + Name_Overriding : constant Name_Id := N + 719; + Name_Synchronized : constant Name_Id := N + 720; + Last_2005_Reserved_Word : constant Name_Id := N + 720; 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 + 719; + Last_Predefined_Name : constant Name_Id := N + 720; --------------------------------------- -- Subtypes Defining Name Categories -- |