From 0f361206d509b12123af6693d6fd92e608a6cb12 Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Thu, 20 Feb 2014 14:52:08 +0100 Subject: [multiple changes] 2014-02-20 Vincent Celier * errutil.adb (Initialize): Properly initialize entry in table Warnings when warnings are suppressed. 2014-02-20 Robert Dewar * s-os_lib.ads: Add warning about non-portability of Rename_File. * sem_util.ads, sem_util.adb (Is_Junk_Name): New function. * sem_warn.adb: Use Is_Junk_Name to suppress some warnings. * gnat_ugn.texi: Document no warnings on junk variable names. * layout.adb: Minor code reorganization (use Ekind_In). * stringt.adb: Move initialization of Null_String_Id to Initialize routine. 2014-02-20 Ed Schonberg * sem_ch13.adb: Initialize optional Element_Id. From-SVN: r207947 --- gcc/ada/sem_util.adb | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'gcc/ada/sem_util.adb') diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb index ceedb7d..435db38 100644 --- a/gcc/ada/sem_util.adb +++ b/gcc/ada/sem_util.adb @@ -10369,6 +10369,45 @@ package body Sem_Util is end if; end Is_Iterator; + ------------------ + -- Is_Junk_Name -- + ------------------ + + function Is_Junk_Name (N : Name_Id) return Boolean is + function Match (S : String) return Boolean; + -- Return true if substring S is found in Name_Buffer (1 .. Name_Len) + + ----------- + -- Match -- + ----------- + + function Match (S : String) return Boolean is + Slen1 : constant Integer := S'Length - 1; + + begin + for J in 1 .. Name_Len - S'Length + 1 loop + if Name_Buffer (J .. J + Slen1) = S then + return True; + end if; + end loop; + + return False; + end Match; + + -- Start of processing for Is_Junk_Name + + begin + Get_Unqualified_Decoded_Name_String (N); + Set_All_Upper_Case; + + return + Match ("DISCARD") or else + Match ("DUMMY") or else + Match ("IGNORE") or else + Match ("JUNK") or else + Match ("UNUSED"); + end Is_Junk_Name; + ------------ -- Is_LHS -- ------------ -- cgit v1.1