ada: Fix inherited postconditions in inlined subprograms

Protect the building of postcondition pragmas in case the
postcondition is not present due to inlining.

gcc/ada/

	* freeze.adb
	(Build_Inherited_Condition_Pragmas): Do nothing if A_Post is
	empty.
This commit is contained in:
Bob Duff 2022-10-13 17:12:18 -04:00 committed by Marc Poulhiès
parent b86ff06123
commit 27345558cc

View file

@ -1718,11 +1718,16 @@ package body Freeze is
end;
end if;
New_Prag := New_Copy_Tree (A_Post);
Rewrite
(Expression (First (Pragma_Argument_Associations (New_Prag))),
Class_Post);
Append (New_Prag, Decls);
-- A_Post can be null here if the postcondition was inlined in the
-- called subprogram.
if Present (A_Post) then
New_Prag := New_Copy_Tree (A_Post);
Rewrite
(Expression (First (Pragma_Argument_Associations (New_Prag))),
Class_Post);
Append (New_Prag, Decls);
end if;
end if;
end Build_Inherited_Condition_Pragmas;