aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Trojanek <trojanek@adacore.com>2024-11-22 11:31:38 +0100
committerMarc Poulhiès <dkm@gcc.gnu.org>2024-12-13 09:36:01 +0100
commit22c2faf2bc8ac738598364acf826f271d1d12f25 (patch)
tree46df46a60a2196da59df9683ccad71c738502dc7
parent73a971c845e3efbbe5db2b6260508a072acf289c (diff)
downloadgcc-22c2faf2bc8ac738598364acf826f271d1d12f25.zip
gcc-22c2faf2bc8ac738598364acf826f271d1d12f25.tar.gz
gcc-22c2faf2bc8ac738598364acf826f271d1d12f25.tar.bz2
ada: Remove unused parameter from volatile type queries
Routines Is_Effectively_Volatile and Is_Effectively_Volatile_For_Reading were always called with Ignore_Protected parameter set to True (or has been passed unmodified on recursive calls), so this parameter wasn't actually needed. Code cleanup; semantics is unaffected. gcc/ada/ChangeLog: * sem_util.adb (Is_Effectively_Volatile, Is_Effectively_Volatile_For_Reading): Remove Ignore_Protected parameter. (Is_Effectively_Volatile_Object, Is_Effectively_Volatile_Object_For_Reading): Remove single-parameter wrappers that are needed to instantiate generic subprogram. * sem_util.ads (Is_Effectively_Volatile, Is_Effectively_Volatile_For_Reading): Remove parameter; adjust comment.
-rw-r--r--gcc/ada/sem_util.adb35
-rw-r--r--gcc/ada/sem_util.ads15
2 files changed, 12 insertions, 38 deletions
diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb
index 30c1a52..dea27dc 100644
--- a/gcc/ada/sem_util.adb
+++ b/gcc/ada/sem_util.adb
@@ -16727,9 +16727,7 @@ package body Sem_Util is
-- Is_Effectively_Volatile --
-----------------------------
- function Is_Effectively_Volatile
- (Id : Entity_Id;
- Ignore_Protected : Boolean := False) return Boolean is
+ function Is_Effectively_Volatile (Id : Entity_Id) return Boolean is
begin
if Is_Type (Id) then
@@ -16760,15 +16758,13 @@ package body Sem_Util is
-- private type may be missing in case of error.
return Present (Anc)
- and then Is_Effectively_Volatile
- (Component_Type (Anc), Ignore_Protected);
+ and then Is_Effectively_Volatile (Component_Type (Anc));
end;
end if;
- -- A protected type is always volatile unless Ignore_Protected is
- -- True.
+ -- A protected type is always volatile
- elsif Is_Protected_Type (Id) and then not Ignore_Protected then
+ elsif Is_Protected_Type (Id) then
return True;
-- A descendant of Ada.Synchronous_Task_Control.Suspension_Object is
@@ -16794,7 +16790,7 @@ package body Sem_Util is
and then not
(Ekind (Id) = E_Variable and then No_Caching_Enabled (Id)))
or else Has_Volatile_Components (Id)
- or else Is_Effectively_Volatile (Etype (Id), Ignore_Protected);
+ or else Is_Effectively_Volatile (Etype (Id));
end if;
end Is_Effectively_Volatile;
@@ -16803,19 +16799,15 @@ package body Sem_Util is
-----------------------------------------
function Is_Effectively_Volatile_For_Reading
- (Id : Entity_Id;
- Ignore_Protected : Boolean := False) return Boolean
+ (Id : Entity_Id) return Boolean
is
begin
- -- A concurrent type is effectively volatile for reading, except for a
- -- protected type when Ignore_Protected is True.
+ -- A concurrent type is effectively volatile for reading
- if Is_Task_Type (Id)
- or else (Is_Protected_Type (Id) and then not Ignore_Protected)
- then
+ if Is_Concurrent_Type (Id) then
return True;
- elsif Is_Effectively_Volatile (Id, Ignore_Protected) then
+ elsif Is_Effectively_Volatile (Id) then
-- Other volatile types and objects are effectively volatile for
-- reading when they have property Async_Writers or Effective_Reads
@@ -16845,7 +16837,7 @@ package body Sem_Util is
return Present (Anc)
and then Is_Effectively_Volatile_For_Reading
- (Component_Type (Anc), Ignore_Protected);
+ (Component_Type (Anc));
end;
end if;
end if;
@@ -16859,9 +16851,6 @@ package body Sem_Util is
------------------------------------
function Is_Effectively_Volatile_Object (N : Node_Id) return Boolean is
- function Is_Effectively_Volatile (E : Entity_Id) return Boolean is
- (Is_Effectively_Volatile (E, Ignore_Protected => False));
-
function Is_Effectively_Volatile_Object_Inst
is new Is_Effectively_Volatile_Object_Shared (Is_Effectively_Volatile);
begin
@@ -16875,10 +16864,6 @@ package body Sem_Util is
function Is_Effectively_Volatile_Object_For_Reading
(N : Node_Id) return Boolean
is
- function Is_Effectively_Volatile_For_Reading
- (E : Entity_Id) return Boolean
- is (Is_Effectively_Volatile_For_Reading (E, Ignore_Protected => False));
-
function Is_Effectively_Volatile_Object_For_Reading_Inst
is new Is_Effectively_Volatile_Object_Shared
(Is_Effectively_Volatile_For_Reading);
diff --git a/gcc/ada/sem_util.ads b/gcc/ada/sem_util.ads
index 2b9ba5f..dda031f 100644
--- a/gcc/ada/sem_util.ads
+++ b/gcc/ada/sem_util.ads
@@ -1962,9 +1962,7 @@ package Sem_Util is
-- . machine_emax = 2**10
-- . machine_emin = 3 - machine_emax
- function Is_Effectively_Volatile
- (Id : Entity_Id;
- Ignore_Protected : Boolean := False) return Boolean;
+ function Is_Effectively_Volatile (Id : Entity_Id) return Boolean;
-- Determine whether a type or object denoted by entity Id is effectively
-- volatile (SPARK RM 7.1.2). To qualify as such, the entity must be either
-- * Volatile without No_Caching
@@ -1972,14 +1970,9 @@ package Sem_Util is
-- * An array type whose component type is effectively volatile
-- * A protected type
-- * Descendant of type Ada.Synchronous_Task_Control.Suspension_Object
- --
- -- If Ignore_Protected is True, then a protected object/type is treated
- -- like a non-protected record object/type for computing the result of
- -- this query.
function Is_Effectively_Volatile_For_Reading
- (Id : Entity_Id;
- Ignore_Protected : Boolean := False) return Boolean;
+ (Id : Entity_Id) return Boolean;
-- Determine whether a type or object denoted by entity Id is effectively
-- volatile for reading (SPARK RM 7.1.2). To qualify as such, the entity
-- must be either
@@ -1991,10 +1984,6 @@ package Sem_Util is
-- reading
-- * A protected type
-- * Descendant of type Ada.Synchronous_Task_Control.Suspension_Object
- --
- -- If Ignore_Protected is True, then a protected object/type is treated
- -- like a non-protected record object/type for computing the result of
- -- this query.
function Is_Effectively_Volatile_Object
(N : Node_Id) return Boolean;