aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/exp_smem.adb
diff options
context:
space:
mode:
authorRobert Dewar <dewar@adacore.com>2007-12-13 11:19:43 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2007-12-13 11:19:43 +0100
commit561b58498765f443cf6905b7ee246af5a1a0f626 (patch)
tree1eff0c4702214edde615103bf7be7c328fafe364 /gcc/ada/exp_smem.adb
parent0312b364242bc5d1f96d00d7228ede4a26730e0c (diff)
downloadgcc-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.adb22
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;