From patchwork Fri Jan 7 16:27:14 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pierre-Marie de Rodat X-Patchwork-Id: 49712 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 3CDA43858421 for ; Fri, 7 Jan 2022 16:45:30 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3CDA43858421 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1641573930; bh=OH7+bNdSU//jHt8XejoIjN+GDDuVQLKMCaP/RPpWXQQ=; h=Date:To:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=unzCApRXT1WnVNTuUE5vpOMg3C+tUQNVeSXu+z+WMPOxUqQDV5sTdf/X5iTI9YEKD A1o4Jwry+hus7hSfOdQawFN+re8oE+XgKCGv1Ic7njUyIMOBxMPoS0T/sP3jdq1jro kZkBXYKX7rNrAM9QhPPnrRxEnWSU197Db4x13aOk= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com [IPv6:2a00:1450:4864:20::42a]) by sourceware.org (Postfix) with ESMTPS id 82F953857C5E for ; Fri, 7 Jan 2022 16:27:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 82F953857C5E Received: by mail-wr1-x42a.google.com with SMTP id r9so10274030wrg.0 for ; Fri, 07 Jan 2022 08:27:16 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:mime-version :content-disposition; bh=OH7+bNdSU//jHt8XejoIjN+GDDuVQLKMCaP/RPpWXQQ=; b=78ntUanOXfR0uXgiWA34MDcZpYHHUfh2Q1JWGvjNB+9bndSSTx2iNgdJBzNt5uX3gP EhvfzKYJOx8stNe1ni5lTBVUpS2k1T2pApkJlmXovyGApFg4i4I7C4HXhKSnSHnlQKb+ Q1evhn7qDtmER1qwLo3A7g0vHfFpNsj7M9uav0hiILAtqpAExqBKtJf46KwO3hSpdF5j +27DnEzCheH4wQ25CD+tBabZkxXPD34Z68386avPGg1u++urvyrX29zl8Htfdblf6NFX tfPIx90LGrDc3VaazWPsMLWEUWTso26x5ZpSEpSi1Y4RH12qtsxijnOamjC9BtQgu/Jo /f9w== X-Gm-Message-State: AOAM533o5QI9kJx7Ig5xvQvvlDPsDWACpSdpbMLcPe/VgNz1YwLSRAIK Kvjt6AFW+H4hqKoWOdF/0zG8b4oLK2epbw== X-Google-Smtp-Source: ABdhPJwGUKMJIZiAqzRu8T2dj7bve2xZYpCYdJaCzTHOAcyZWgtduJzTuYoTQjkgowiz2Yl2tmgUwQ== X-Received: by 2002:a05:6000:50b:: with SMTP id a11mr23533191wrf.387.1641572835621; Fri, 07 Jan 2022 08:27:15 -0800 (PST) Received: from adacore.com ([45.147.211.82]) by smtp.gmail.com with ESMTPSA id s194sm2080078wme.45.2022.01.07.08.27.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 Jan 2022 08:27:14 -0800 (PST) Date: Fri, 7 Jan 2022 16:27:14 +0000 To: gcc-patches@gcc.gnu.org Subject: [Ada] Remove repeated routines for printing AST in Mixed_Case Message-ID: <20220107162714.GA948603@adacore.com> MIME-Version: 1.0 Content-Disposition: inline X-Spam-Status: No, score=-13.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Pierre-Marie de Rodat via Gcc-patches From: Pierre-Marie de Rodat Reply-To: Pierre-Marie de Rodat Cc: Piotr Trojanek Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" Code cleanup; behaviour is unaffected. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * osint.adb (To_Lower): Clarify that only To_Lower function causes bootstrap issues; fix style. * treepr.adb (Print_Str_Mixed_Case): Reuse existing case conversion routine. (To_Mixed): Rename from Capitalize; reuse System.Case_Util procedure and explain the bootstrap issue. diff --git a/gcc/ada/osint.adb b/gcc/ada/osint.adb --- a/gcc/ada/osint.adb +++ b/gcc/ada/osint.adb @@ -1061,7 +1061,8 @@ package body Osint is function File_Names_Equal (File1, File2 : String) return Boolean is function To_Lower (A : String) return String; - -- For bootstrap reasons, we cannot use To_Lower from System.Case_Util + -- For bootstrap reasons, we cannot use To_Lower function from + -- System.Case_Util. -------------- -- To_Lower -- @@ -1074,6 +1075,8 @@ package body Osint is return Result; end To_Lower; + -- Start of processing for File_Names_Equal + begin if File_Names_Case_Sensitive then return File1 = File2; diff --git a/gcc/ada/treepr.adb b/gcc/ada/treepr.adb --- a/gcc/ada/treepr.adb +++ b/gcc/ada/treepr.adb @@ -25,7 +25,6 @@ with Aspects; use Aspects; with Atree; use Atree; -with Csets; use Csets; with Debug; use Debug; with Einfo; use Einfo; with Einfo.Entities; use Einfo.Entities; @@ -45,6 +44,7 @@ with Snames; use Snames; with Sinput; use Sinput; with Stand; use Stand; with Stringt; use Stringt; +with System.Case_Util; use System.Case_Util; with SCIL_LL; use SCIL_LL; with Uintp; use Uintp; with Urealp; use Urealp; @@ -135,9 +135,9 @@ package body Treepr is function From_Union is new Unchecked_Conversion (Union_Id, Uint); function From_Union is new Unchecked_Conversion (Union_Id, Ureal); - function Capitalize (S : String) return String; - procedure Capitalize (S : in out String); - -- Turns an identifier into Mixed_Case + function To_Mixed (S : String) return String; + -- Turns an identifier into Mixed_Case. For bootstrap reasons, we cannot + -- use To_Mixed function from System.Case_Util. function Image (F : Node_Or_Entity_Field) return String; @@ -255,35 +255,6 @@ package body Treepr is -- descendants are to be printed. Prefix_Str is to be added to all -- printed lines. - ---------------- - -- Capitalize -- - ---------------- - - procedure Capitalize (S : in out String) is - Cap : Boolean := True; - begin - for J in S'Range loop - declare - Old : constant Character := S (J); - begin - if Cap then - S (J) := Fold_Upper (S (J)); - else - S (J) := Fold_Lower (S (J)); - end if; - - Cap := Old = '_'; - end; - end loop; - end Capitalize; - - function Capitalize (S : String) return String is - begin - return Result : String (S'Range) := S do - Capitalize (Result); - end return; - end Capitalize; - ---------- -- Hash -- ---------- @@ -400,7 +371,7 @@ package body Treepr is when others => declare - Result : constant String := Capitalize (F'Img); + Result : constant String := To_Mixed (F'Img); begin return Result (3 .. Result'Last); -- Remove "F_" end; @@ -1713,22 +1684,8 @@ package body Treepr is -------------------------- procedure Print_Str_Mixed_Case (S : String) is - Ucase : Boolean; - begin - if Phase = Printing then - Ucase := True; - - for J in S'Range loop - if Ucase then - Write_Char (S (J)); - else - Write_Char (Fold_Lower (S (J))); - end if; - - Ucase := (S (J) = '_'); - end loop; - end if; + Print_Str (To_Mixed (S)); end Print_Str_Mixed_Case; ---------------- @@ -1862,6 +1819,17 @@ package body Treepr is Next_Serial_Number := Next_Serial_Number + 1; end Set_Serial_Number; + -------------- + -- To_Mixed -- + -------------- + + function To_Mixed (S : String) return String is + begin + return Result : String (S'Range) := S do + To_Mixed (Result); + end return; + end To_Mixed; + --------------- -- Tree_Dump -- ---------------