aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem_util.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2014-02-20 14:52:08 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2014-02-20 14:52:08 +0100
commit0f361206d509b12123af6693d6fd92e608a6cb12 (patch)
tree6f9c2f011ad7373733907f5eea8eb01d6244e444 /gcc/ada/sem_util.adb
parentc0cdbd39634ec31bb882cb8fd10281c466a3f116 (diff)
downloadgcc-0f361206d509b12123af6693d6fd92e608a6cb12.zip
gcc-0f361206d509b12123af6693d6fd92e608a6cb12.tar.gz
gcc-0f361206d509b12123af6693d6fd92e608a6cb12.tar.bz2
[multiple changes]
2014-02-20 Vincent Celier <celier@adacore.com> * errutil.adb (Initialize): Properly initialize entry in table Warnings when warnings are suppressed. 2014-02-20 Robert Dewar <dewar@adacore.com> * 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 <schonberg@adacore.com> * sem_ch13.adb: Initialize optional Element_Id. From-SVN: r207947
Diffstat (limited to 'gcc/ada/sem_util.adb')
-rw-r--r--gcc/ada/sem_util.adb39
1 files changed, 39 insertions, 0 deletions
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 --
------------