This patch changes the source location information for the default
expressions of discrimants to better represent the fact that they're
evaluated at the point of object declaration, in the cases where
a Build_Default_Subtype optimization is performed. This fixes a
regression with CodePeer diagnostics introduced by a recent change
around Build_Default_Subtype optimizations.
gcc/ada/
* sem_util.adb (Build_Default_Subtype): Tweak source location
information.
begin
while Present (Disc) loop
Append_To (Constraints,
- New_Copy_Tree (Discriminant_Default_Value (Disc)));
+ New_Copy_Tree
+ (Discriminant_Default_Value (Disc), New_Sloc => Loc));
Next_Discriminant (Disc);
end loop;