[Ada] Incorrect unreferenced warnings on null subprograms and formals with aspects
authorJustin Squirek <squirek@adacore.com>
Thu, 21 Apr 2022 20:35:20 +0000 (20:35 +0000)
committerPierre-Marie de Rodat <derodat@adacore.com>
Mon, 30 May 2022 08:29:03 +0000 (08:29 +0000)
commit507ed659e0110e3cba9aa8bba875768833d7b7ea
tree4ab2e274030d5ee0811b2115dd4d503d70aceb58
parentf55e8fd165c1ed1e1c12def08ddb5f4fc55dafbb
[Ada] Incorrect unreferenced warnings on null subprograms and formals with aspects

This patch corrects an error in the compiler whereby spurious
unreferenced warnings are generated on formal parameters of null generic
subprograms.

These changes also fix the parsing of aspects on formal parameters such
that the aspects now get properly set for all formal parameters in a
parameter list.

gcc/ada/

* par-ch6.adb (P_Formal_Part): Set Aspect_Specifications on all
formals instead of just the last in a formal id list.
* sem_ch6.adb (Analyze_Null_Procedure): Mark expanded null
generic procedures as trivial in order to avoid spurious
unreferenced warnings.
gcc/ada/par-ch6.adb
gcc/ada/sem_ch6.adb