[COMMITTED] ada: Bad handling of ASCII with -gnatyn

Message ID 20230516084001.1501211-1-poulhies@adacore.com
State Accepted
Headers
Series [COMMITTED] ada: Bad handling of ASCII with -gnatyn |

Checks

Context Check Description
snail/gcc-patch-check success Github commit url

Commit Message

Marc Poulhiès May 16, 2023, 8:40 a.m. UTC
  From: Arnaud Charlet <charlet@adacore.com>

ASCII is special cased but this wasn't taking into account all cases
such as Standard.ASCII.

gcc/ada/

	* snames.ads-tmpl (Name_ASCII): New.
	* style.adb (Check_Identifier): Fix handling of ASCII.

Tested on x86_64-pc-linux-gnu, committed on master.

---
 gcc/ada/snames.ads-tmpl | 1 +
 gcc/ada/style.adb       | 5 ++---
 2 files changed, 3 insertions(+), 3 deletions(-)
  

Patch

diff --git a/gcc/ada/snames.ads-tmpl b/gcc/ada/snames.ads-tmpl
index 8f71ad98db3..afe7508ac28 100644
--- a/gcc/ada/snames.ads-tmpl
+++ b/gcc/ada/snames.ads-tmpl
@@ -260,6 +260,7 @@  package Snames is
 
    --  Some miscellaneous names used for error detection/recovery
 
+   Name_ASCII                          : constant Name_Id := N + $;
    Name_Const                          : constant Name_Id := N + $;
    Name_Error                          : constant Name_Id := N + $;
    Name_False                          : constant Name_Id := N + $;
diff --git a/gcc/ada/style.adb b/gcc/ada/style.adb
index 3014359acba..dda5cd47c06 100644
--- a/gcc/ada/style.adb
+++ b/gcc/ada/style.adb
@@ -35,9 +35,8 @@  with Nlists;         use Nlists;
 with Opt;            use Opt;
 with Sinfo;          use Sinfo;
 with Sinfo.Nodes;    use Sinfo.Nodes;
-with Sinfo.Utils;    use Sinfo.Utils;
 with Sinput;         use Sinput;
-with Stand;          use Stand;
+with Snames;         use Snames;
 with Stylesw;        use Stylesw;
 
 package body Style is
@@ -201,7 +200,7 @@  package body Style is
             else
                --  ASCII is all upper case
 
-               if Entity (Ref) = Standard_ASCII then
+               if Chars (Ref) = Name_ASCII then
                   Cas := All_Upper_Case;
 
                --  Special handling for names in package ASCII