public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r13-1496] [Ada] Remove kludge for validity checks on Long_Float type
@ 2022-07-05 8:31 Pierre-Marie de Rodat
0 siblings, 0 replies; only message in thread
From: Pierre-Marie de Rodat @ 2022-07-05 8:31 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:a2eaf87ffeaee689e431a3c85b001208d6705421
commit r13-1496-ga2eaf87ffeaee689e431a3c85b001208d6705421
Author: Piotr Trojanek <trojanek@adacore.com>
Date: Mon Jun 6 23:23:32 2022 +0200
[Ada] Remove kludge for validity checks on Long_Float type
This patch reverts a fix for a spurious warning for validity checks on
type Long_Float. This fix was dubious (as it was only affecting
Long_Float and not Float) and apparently is no longer needed.
Cleanup related to improved detection of uninitialised scalar objects.
gcc/ada/
* sem_attr.adb (Note_Possible_Modification): Revert a
special-case for validity checks on Long_Float type.
* snames.ads-tmpl (Name_Attr_Long_Float): Remove name added
exclusively for the mentioned fix.
Diff:
---
gcc/ada/sem_attr.adb | 41 ++++-------------------------------------
gcc/ada/snames.ads-tmpl | 1 -
2 files changed, 4 insertions(+), 38 deletions(-)
diff --git a/gcc/ada/sem_attr.adb b/gcc/ada/sem_attr.adb
index b8d878c3d6d..cab2461a39c 100644
--- a/gcc/ada/sem_attr.adb
+++ b/gcc/ada/sem_attr.adb
@@ -11145,43 +11145,10 @@ package body Sem_Attr is
=>
-- Note possible modification if we have a variable
- if Is_Variable (P) then
- declare
- PN : constant Node_Id := Parent (N);
- Nm : Node_Id;
-
- Note : Boolean := True;
- -- Skip this for the case of Unrestricted_Access occurring
- -- in the context of a Valid check, since this otherwise
- -- leads to a missed warning (the Valid check does not
- -- really modify!) If this case, Note will be reset to
- -- False.
-
- -- Skip it as well if the type is an Access_To_Constant,
- -- given that no use of the value can modify the prefix.
-
- begin
- if Attr_Id = Attribute_Unrestricted_Access
- and then Nkind (PN) = N_Function_Call
- then
- Nm := Name (PN);
-
- if Nkind (Nm) = N_Expanded_Name
- and then Chars (Nm) = Name_Valid
- and then Nkind (Prefix (Nm)) = N_Identifier
- and then Chars (Prefix (Nm)) = Name_Attr_Long_Float
- then
- Note := False;
- end if;
-
- elsif Is_Access_Constant (Typ) then
- Note := False;
- end if;
-
- if Note then
- Note_Possible_Modification (P, Sure => False);
- end if;
- end;
+ if Is_Variable (P)
+ and then not Is_Access_Constant (Typ)
+ then
+ Note_Possible_Modification (P, Sure => False);
end if;
-- Case where prefix is an entity name
diff --git a/gcc/ada/snames.ads-tmpl b/gcc/ada/snames.ads-tmpl
index 73e730446e4..dbf711ddeca 100644
--- a/gcc/ada/snames.ads-tmpl
+++ b/gcc/ada/snames.ads-tmpl
@@ -776,7 +776,6 @@ package Snames is
Name_Allow : constant Name_Id := N + $;
Name_Amount : constant Name_Id := N + $;
Name_As_Is : constant Name_Id := N + $;
- Name_Attr_Long_Float : constant Name_Id := N + $;
Name_Assertion : constant Name_Id := N + $;
Name_Assertions : constant Name_Id := N + $;
Name_Attribute_Name : constant Name_Id := N + $;
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-07-05 8:31 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-05 8:31 [gcc r13-1496] [Ada] Remove kludge for validity checks on Long_Float type Pierre-Marie de Rodat
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).