diff options
author | Robert Dewar <dewar@adacore.com> | 2007-12-13 11:19:43 +0100 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2007-12-13 11:19:43 +0100 |
commit | 561b58498765f443cf6905b7ee246af5a1a0f626 (patch) | |
tree | 1eff0c4702214edde615103bf7be7c328fafe364 /gcc/ada/exp_smem.adb | |
parent | 0312b364242bc5d1f96d00d7228ede4a26730e0c (diff) | |
download | gcc-561b58498765f443cf6905b7ee246af5a1a0f626.zip gcc-561b58498765f443cf6905b7ee246af5a1a0f626.tar.gz gcc-561b58498765f443cf6905b7ee246af5a1a0f626.tar.bz2 |
sem_ch5.adb, [...]: Update handling of assigned value/unreferenced warnings
2007-12-06 Robert Dewar <dewar@adacore.com>
* sem_ch5.adb, s-taskin.adb, a-ciorma.adb, a-coorma.adb, a-cohama.adb,
a-cihama.adb, g-awk.adb,
s-inmaop-posix.adb: Update handling of assigned value/unreferenced
warnings
* exp_smem.adb: Update handling of assigned value/unreferenced warnings
* sem.adb: Update handling of assigned value/unreferenced warnings
* a-exexpr-gcc.adb: Add a pragma warnings off for boolean return
* lib-xref.ads: Improve documentation for k xref type
* lib-xref.adb:
Update handling of assigned value/unreferenced warnings
(Generate_Reference): Warning for reference to entity for which a
pragma Unreferenced has been given should be unconditional.
If the entity is a discriminal, mark the original
discriminant as referenced.
* sem_warn.ads, sem_warn.adb
(Check_One_Unit): Test Renamed_In_Spec to control giving warning for
no entities referenced in package
(Check_One_Unit): Don't give message about no entities referenced in
a package if a pragma Unreferenced has appeared.
Handle new warning flag -gnatw.a/-gnatw.A
Update handling of assigned value/unreferenced warnings
* atree.h: Add flags up to Flag247
(Flag231): New macro.
From-SVN: r130815
Diffstat (limited to 'gcc/ada/exp_smem.adb')
-rw-r--r-- | gcc/ada/exp_smem.adb | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/gcc/ada/exp_smem.adb b/gcc/ada/exp_smem.adb index b34a1ef..e5889bf 100644 --- a/gcc/ada/exp_smem.adb +++ b/gcc/ada/exp_smem.adb @@ -245,17 +245,25 @@ package body Exp_Smem is ------------------- function Is_Out_Actual (N : Node_Id) return Boolean is - Kind : Entity_Kind; - Call : Node_Id; + Formal : Entity_Id; + Call : Node_Id; begin - Find_Actual_Mode (N, Kind, Call); + Find_Actual (N, Formal, Call); - if Kind = E_Out_Parameter or else Kind = E_In_Out_Parameter then - Insert_Node := Call; - return True; - else + if No (Formal) then return False; + + else + if Ekind (Formal) = E_Out_Parameter + or else + Ekind (Formal) = E_In_Out_Parameter + then + Insert_Node := Call; + return True; + else + return False; + end if; end if; end Is_Out_Actual; |