summaryrefslogtreecommitdiff
path: root/gcc/ada/exp_disp.ads
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2011-08-04 13:45:00 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2011-08-04 13:45:00 +0000
commit79500ea01a1a06d39f68bd5445053a302a2ca901 (patch)
tree710e2f1e08527a3afb606e3c5eae2c17bf88a373 /gcc/ada/exp_disp.ads
parentf239f5be0dd95fd0a814da3fbe434e27f367d5a9 (diff)
downloadgcc-79500ea01a1a06d39f68bd5445053a302a2ca901.tar.gz
2011-08-04 Javier Miranda <miranda@adacore.com>
* exp_ch7.adb (Expand_N_Package_Body, Expand_N_Package_Declaration): Remove code which takes care of building TSDs. * rtsfind.ads (RE_Check_Interface_Conversion): New entity. * exp_ch4.adb (Apply_Accessibility_Check): Add support for generating the accessibility check in VM targets. * exp_disp.adb (Make_VM_TSD): Spec moved to exp_disp.ads (Building_Static_DT): Now returns false for VM targets. (Build_VM_TSDs): Removed. (Expand_Interface_Conversion): Generate missing runtime check for conversions to interface types whose target type is unknown at compile time. (Make_VM_TSD): Add missing code to disable the generation of calls to Check_TSD if the tagged type is not defined at library level, or not has a representation clause specifying its external tag, or -gnatdQ is active. * exp_disp.ads (Build_VM_TSDs): Removed. (Make_VM_TSDs): Spec relocated from exp_disp.adb * sem_disp.adb (Check_Dispatching_Operation): No code required to register primitives in the dispatch tables in VM targets. * exp_ch3.adb (Expand_N_Object_Declaration): Remove wrong expansion of initialization of class-wide interface objects in VM targets. (Expand_Freeze_Record_Type): For VM targets call Make_VM_TSD (instead of Make_DT). 2011-08-04 Jerome Lambourg <lambourg@adacore.com> * gnatlink.adb (Gnatlink): Correct missleading error message displayed when dotnet-ld cannot be found. 2011-08-04 Arnaud Charlet <charlet@adacore.com> * bindgen.adb: Simplify significantly generation of binder body file in CodePeer mode. * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Prevent assert failure when compiling binder generated file in CodePeer mode (xxx'Elab_Spec not expanded). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177387 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/exp_disp.ads')
-rw-r--r--gcc/ada/exp_disp.ads11
1 files changed, 5 insertions, 6 deletions
diff --git a/gcc/ada/exp_disp.ads b/gcc/ada/exp_disp.ads
index 82a9d9abc15..306cec228ef 100644
--- a/gcc/ada/exp_disp.ads
+++ b/gcc/ada/exp_disp.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -186,11 +186,6 @@ package Exp_Disp is
-- bodies they are added to the end of the list of declarations of the
-- package body.
- procedure Build_VM_TSDs (N : Entity_Id);
- -- N is a library level package declaration, a library level package body
- -- or a library level subprogram body. Build the runtime Type Specific
- -- Data record of all the tagged types declared inside N.
-
function Convert_Tag_To_Interface
(Typ : Entity_Id; Expr : Node_Id) return Node_Id;
pragma Inline (Convert_Tag_To_Interface);
@@ -353,6 +348,10 @@ package Exp_Disp is
-- tagged types this routine imports the forward declaration of the tag
-- entity, that will be declared and exported by Make_DT.
+ function Make_VM_TSD (Typ : Entity_Id) return List_Id;
+ -- Build the Type Specific Data record associated with tagged type Typ.
+ -- Invoked only when generating code for VM targets.
+
function Register_Primitive
(Loc : Source_Ptr;
Prim : Entity_Id) return List_Id;