ada: Fix ancient bug in pragma Suppress (Alignment_Check)
The recent change that streamlined the implementation of alignment checks
has uncovered an ancient bug in the implementation of pragma Suppress on
a specific object:
pragma Suppress (Alignment_Check, A);
The pragma would work only if placed before the address clause:
A : Integer;
pragma Suppress (Alignment_Check, A);
for A'Address use ...
but not if placed (just) after it:
A : Integer;
for A'Address use ...
pragma Suppress (Alignment_Check, A);
which seems unfriendly at best.
gcc/ada/ChangeLog:
* sem_prag.adb (Analyze_Pragma) <Process_Suppress_Unsuppress>: For
Alignment_Check on a specific object with an address clause and no
alignment clause, toggle the Check_Address_Alignment flag present
on the address clause.