summaryrefslogtreecommitdiff
path: root/gcc/ada/prj-proc.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2010-06-17 12:26:10 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2010-06-17 12:26:10 +0000
commit6cd460aa8dcb65ea8454257720dffd2258689ef8 (patch)
treeecc5a2780220e50090dbcb7bf568dc7f8e0391de /gcc/ada/prj-proc.adb
parent6b41190941cfa45ea129a7749c81d45115758712 (diff)
downloadgcc-6cd460aa8dcb65ea8454257720dffd2258689ef8.tar.gz
2010-06-17 Robert Dewar <dewar@adacore.com>
* exp_ch3.adb, exp_ch6.adb, exp_smem.adb, exp_util.adb: Use Ekind_In. * layout.adb, freeze.adb: Use Make_Temporary. 2010-06-17 Jerome Lambourg <lambourg@adacore.com> * exp_ch11.adb (Expand_N_Raise_Statement): Expand raise statements in .NET/JVM normally as this is now perfectly supported by the backend. 2010-06-17 Pascal Obry <obry@adacore.com> * gnat_rm.texi: Fix minor typo, remove duplicate blank lines. 2010-06-17 Vincent Celier <celier@adacore.com> * make.adb (Collect_Arguments_And_Compile): Create include path file only when -x is specified. (Gnatmake): Ditto * opt.ads (Use_Include_Path_File): New Boolean flag, initialized to False. * prj-env.adb (Set_Ada_Paths): New Boolean parameters Include_Path and Objects_Path, defaulted to True. Only create include path file if Include_Path is True, only create objects path file if Objects_Path is True. * prj-env.ads (Set_Ada_Paths): New Boolean parameters Include_Path and Objects_Path, defaulted to True. * switch-m.adb (Scan_Make_Switches): Set Use_Include_Path_File to True when -x is used. 2010-06-17 Ed Schonberg <schonberg@adacore.com> * exp_disp.adb (Build_Interface_Thunk): Use base type of formal to determine whether it has the controlling type, when the formal is an access parameter. 2010-06-17 Eric Botcazou <ebotcazou@adacore.com> * s-crtl.ads (ssize_t): New type. (read): Fix signature. (write): Likewise. * g-socthi.ads: Add 'with System.CRTL' clause. Remove ssize_t and 'use type' directive for C.size_t, add one for System.CRTL.ssize_t. (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t. (C_Sendmsg): Likewise. * g-socthi.adb (Syscall_Recvmsg): Likewise. (Syscall_Sendmsg): Likewise. (C_Recvmsg): Likewise. (C_Sendmsg): Likewise. * g-socthi-mingw.ads: Add 'with System.CRTL' clause. Remove ssize_t and 'use type' directive for C.size_t, add one for System.CRTL.ssize_t. (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t. (C_Sendmsg): Likewise. * g-socthi-mingw.adb (C_Recvmsg): Likewise. (C_Sendmsg): Likewise. * g-socthi-vms.ads: Add 'with System.CRTL' clause. Remove ssize_t and 'use type' directive for C.size_t, add one for System.CRTL.ssize_t. (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t. (C_Sendmsg): Likewise. * g-socthi-vms.adb (C_Recvmsg): Likewise. (C_Sendmsg): Likewise. * g-socthi-vxworks.ads Add 'with System.CRTL' clause. Remove ssize_t and 'use type' directive for C.size_t, add one for System.CRTL.ssize_t. (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t. (C_Sendmsg): Likewise. * g-socthi-vxworks.adb (C_Recvmsg): Likewise. (C_Sendmsg): Likewise. * g-sercom-linux.adb (Read): Use correct types to call 'read'. (Write): Likewise to call 'write'. * s-os_lib.adb (Read): Use correct type to call System.CRTL.read. (Write): Use correct type to call System.CRTL.write. * s-tasdeb.adb (Write): Likewise. 2010-06-17 Vincent Celier <celier@adacore.com> * prj-proc.adb (Copy_Package_Declarations): Change argument name Naming_Restricted to Restricted. If Restricted is True, do not copy the value of attribute Linker_Options. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160905 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/prj-proc.adb')
-rw-r--r--gcc/ada/prj-proc.adb65
1 files changed, 35 insertions, 30 deletions
diff --git a/gcc/ada/prj-proc.adb b/gcc/ada/prj-proc.adb
index 57bfe51b30f..5859a8afe82 100644
--- a/gcc/ada/prj-proc.adb
+++ b/gcc/ada/prj-proc.adb
@@ -87,15 +87,15 @@ package body Prj.Proc is
-- based languages)
procedure Copy_Package_Declarations
- (From : Declarations;
- To : in out Declarations;
- New_Loc : Source_Ptr;
- Naming_Restricted : Boolean;
- In_Tree : Project_Tree_Ref);
+ (From : Declarations;
+ To : in out Declarations;
+ New_Loc : Source_Ptr;
+ Restricted : Boolean;
+ In_Tree : Project_Tree_Ref);
-- Copy a package declaration From to To for a renamed package. Change the
- -- locations of all the attributes to New_Loc. When Naming_Restricted is
- -- True, do not copy attributes Body, Spec, Implementation and
- -- Specification.
+ -- locations of all the attributes to New_Loc. When Restricted is
+ -- True, do not copy attributes Body, Spec, Implementation, Specification
+ -- and Linker_Options.
function Expression
(Project : Project_Id;
@@ -314,11 +314,11 @@ package body Prj.Proc is
-------------------------------
procedure Copy_Package_Declarations
- (From : Declarations;
- To : in out Declarations;
- New_Loc : Source_Ptr;
- Naming_Restricted : Boolean;
- In_Tree : Project_Tree_Ref)
+ (From : Declarations;
+ To : in out Declarations;
+ New_Loc : Source_Ptr;
+ Restricted : Boolean;
+ In_Tree : Project_Tree_Ref)
is
V1 : Variable_Id;
V2 : Variable_Id := No_Variable;
@@ -346,6 +346,12 @@ package body Prj.Proc is
Var := In_Tree.Variable_Elements.Table (V1);
V1 := Var.Next;
+ -- Do not copy the value of attribute inker_Options if Restricted
+
+ if Restricted and then Var.Name = Snames.Name_Linker_Options then
+ Var.Value.Values := Nil_String;
+ end if;
+
-- Remove the Next component
Var.Next := No_Variable;
@@ -376,16 +382,16 @@ package body Prj.Proc is
Arr := In_Tree.Arrays.Table (A1);
A1 := Arr.Next;
- if not Naming_Restricted or else
- (Arr.Name /= Snames.Name_Body
- and then Arr.Name /= Snames.Name_Spec
- and then Arr.Name /= Snames.Name_Implementation
- and then Arr.Name /= Snames.Name_Specification)
+ if not Restricted
+ or else
+ (Arr.Name /= Snames.Name_Body and then
+ Arr.Name /= Snames.Name_Spec and then
+ Arr.Name /= Snames.Name_Implementation and then
+ Arr.Name /= Snames.Name_Specification)
then
-- Remove the Next component
Arr.Next := No_Array;
-
Array_Table.Increment_Last (In_Tree.Arrays);
-- Create new Array declaration
@@ -1445,15 +1451,15 @@ package body Prj.Proc is
-- renaming declaration.
Copy_Package_Declarations
- (From =>
+ (From =>
In_Tree.Packages.Table (Renamed_Package).Decl,
- To =>
+ To =>
In_Tree.Packages.Table (New_Pkg).Decl,
- New_Loc =>
+ New_Loc =>
Location_Of
(Current_Item, From_Project_Node_Tree),
- Naming_Restricted => False,
- In_Tree => In_Tree);
+ Restricted => False,
+ In_Tree => In_Tree);
end;
-- Standard package declaration, not renaming
@@ -2621,13 +2627,12 @@ package body Prj.Proc is
Next => Project.Decl.Packages);
Project.Decl.Packages := Current_Pkg;
Copy_Package_Declarations
- (From => Element.Decl,
- To =>
+ (From => Element.Decl,
+ To =>
In_Tree.Packages.Table (Current_Pkg).Decl,
- New_Loc => No_Location,
- Naming_Restricted =>
- Element.Name = Snames.Name_Naming,
- In_Tree => In_Tree);
+ New_Loc => No_Location,
+ Restricted => True,
+ In_Tree => In_Tree);
end if;
Extended_Pkg := Element.Next;