diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-07-30 17:38:16 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-07-30 17:38:16 +0000 |
commit | 9c35ffe7671afada7ec4bcf97b792e592bcb83c6 (patch) | |
tree | 56c07c375e2b2ee1b22cdf54090931c10d63a001 /gcc/ada | |
parent | 3ade449624a7fdd7d370b608aca5107025f5b445 (diff) | |
download | gcc-9c35ffe7671afada7ec4bcf97b792e592bcb83c6.tar.gz |
2008-07-30 Robert Dewar <dewar@adacore.com>
* exp_util.ads (Find_Prim_Op): Document that Program_Error is raised
if no primitive operation is found.
* exp_util.adb: (Find_Prim_Op): Add comments for previous change
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138329 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada')
-rw-r--r-- | gcc/ada/exp_util.adb | 4 | ||||
-rw-r--r-- | gcc/ada/exp_util.ads | 8 |
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ada/exp_util.adb b/gcc/ada/exp_util.adb index e4b4389618b..09850f644d4 100644 --- a/gcc/ada/exp_util.adb +++ b/gcc/ada/exp_util.adb @@ -1582,6 +1582,8 @@ package body Exp_Util is Next_Elmt (Prim); + -- Raise Program_Error if no primitive found + if No (Prim) then raise Program_Error; end if; @@ -1612,6 +1614,8 @@ package body Exp_Util is while not Is_TSS (Node (Prim), Name) loop Next_Elmt (Prim); + -- Raise program error if no primitive found + if No (Prim) then raise Program_Error; end if; diff --git a/gcc/ada/exp_util.ads b/gcc/ada/exp_util.ads index 5e57147b720..5848d5d7171 100644 --- a/gcc/ada/exp_util.ads +++ b/gcc/ada/exp_util.ads @@ -360,7 +360,10 @@ package Exp_Util is -- Find the first primitive operation of type T whose name is 'Name'. -- This function allows the use of a primitive operation which is not -- directly visible. If T is a class wide type, then the reference is - -- to an operation of the corresponding root type. + -- to an operation of the corresponding root type. Raises Program_Error + -- exception if no primitive operation is found. This is normally an + -- internal error, but in some cases is an expected consequence of + -- illegalities elsewhere. function Find_Prim_Op (T : Entity_Id; @@ -370,6 +373,9 @@ package Exp_Util is -- with the indicated suffix). This function allows use of a primitive -- operation which is not directly visible. If T is a class wide type, -- then the reference is to an operation of the corresponding root type. + -- Raises Program_Error exception if no primitive operation is found. + -- This is normally an internal error, but in some cases is an expected + -- consequence of illegalities elsewhere. function Find_Protection_Object (Scop : Entity_Id) return Entity_Id; -- Traverse the scope stack starting from Scop and look for an entry, |