aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem_util.adb
diff options
context:
space:
mode:
authorEd Schonberg <schonber@gnat.com>2001-10-26 01:26:05 +0000
committerGeert Bosch <bosch@gcc.gnu.org>2001-10-26 03:26:05 +0200
commit5a15af6295629fe3ad95a3d93aa7ffca7fc65a00 (patch)
tree8371c1fcd7ad57bc729608649408a4b24cc21d22 /gcc/ada/sem_util.adb
parent2b881d53906eb372048ed36769ca95e3469affa6 (diff)
downloadgcc-5a15af6295629fe3ad95a3d93aa7ffca7fc65a00.zip
gcc-5a15af6295629fe3ad95a3d93aa7ffca7fc65a00.tar.gz
gcc-5a15af6295629fe3ad95a3d93aa7ffca7fc65a00.tar.bz2
sem_util.adb (Defining_Entity): in case of error...
* sem_util.adb (Defining_Entity): in case of error, attach created entity to specification, so that semantic analysis can proceed. From-SVN: r46515
Diffstat (limited to 'gcc/ada/sem_util.adb')
-rw-r--r--gcc/ada/sem_util.adb10
1 files changed, 7 insertions, 3 deletions
diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb
index 658bef6..7bc2b92 100644
--- a/gcc/ada/sem_util.adb
+++ b/gcc/ada/sem_util.adb
@@ -1103,7 +1103,8 @@ package body Sem_Util is
---------------------
function Defining_Entity (N : Node_Id) return Entity_Id is
- K : constant Node_Kind := Nkind (N);
+ K : constant Node_Kind := Nkind (N);
+ Err : Entity_Id := Empty;
begin
case K is
@@ -1178,13 +1179,16 @@ package body Sem_Util is
if Nkind (Nam) in N_Entity then
return Nam;
- -- For Error, make up a name so we can continue
+ -- For Error, make up a name and attach to declaration
+ -- so we can continue semantic analysis
elsif Nam = Error then
- return
+ Err :=
Make_Defining_Identifier (Sloc (N),
Chars => New_Internal_Name ('T'));
+ Set_Defining_Unit_Name (N, Err);
+ return Err;
-- If not an entity, get defining identifier
else