This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Tested on x86-linux, committed on mainline. This is an improvement on warning messages for unreferenced entities. Test case, expected output: $ gcc -c -gnatwaf k.adb k.adb:14:15: warning: pragma Unreferenced given for "t1" k.adb:27:15: warning: pragma Unreferenced given for "t2" k.adb:34:17: warning: "t3" is not referenced k.adb:38:17: warning: "t4" is not referenced -- procedure k is pragma Warnings (Off); m : integer; task t is entry a (t1 : integer); entry b (t2 : integer); entry c (t3 : integer); entry d (t4 : integer); end t; pragma Warnings (On); task body t is begin accept a (t1 : integer) do pragma Unreferenced (t1); m := t1; -- warning expected. end; accept a (t1 : integer) do m := t1; -- NO warning expected end; accept b (t2 : integer) do m := t2; -- NO warning expected. end; accept b (t2 : integer) do pragma Unreferenced (t2); m := t2; -- warning expected. end b; accept c (t3 : integer) do m := t3; -- NO warning expected. end; accept c (t3 : integer) do null; -- warning expected. end; accept d (t4 : integer) do -- warning expected. null; -- warning expected. end; accept d (t4 : integer) do m := t4; -- NO warning expected. end; end t; begin null; end; 2004-12-07 Ed Schonberg <schonberg@adacore.com> * lib-xref.adb: (Generate_Reference): Handle properly a reference to an entry formal, when an accept statement has a pragma Unreferenced for it. * sem_ch9.adb (Analyze_Accept_Statement): Reset the Is_Referenced flag and the Has_Pragma_Unreferenced flag for each formal before analyzing the body, to ensure that warnings are properly emitted for each accept statement of a given task entry.
Attachment:
difs.16
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |