From: Piotr Trojanek <troja...@adacore.com> Add description of a recently added SPARK contract.
gcc/ada/ * doc/gnat_rm/implementation_defined_aspects.rst, doc/gnat_rm/implementation_defined_pragmas.rst: Add sections for Always_Terminates. * gnat-style.texi: Regenerate. * gnat_rm.texi: Regenerate. * gnat_ugn.texi: Regenerate. --- .../doc/gnat_rm/implementation_defined_aspects.rst | 6 ++++++ .../doc/gnat_rm/implementation_defined_pragmas.rst | 14 ++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/gcc/ada/doc/gnat_rm/implementation_defined_aspects.rst b/gcc/ada/doc/gnat_rm/implementation_defined_aspects.rst index 3d90ad5b210..d58119b5fbc 100644 --- a/gcc/ada/doc/gnat_rm/implementation_defined_aspects.rst +++ b/gcc/ada/doc/gnat_rm/implementation_defined_aspects.rst @@ -66,6 +66,12 @@ Aspect Abstract_State This aspect is equivalent to :ref:`pragma Abstract_State<Pragma-Abstract_State>`. +Aspect Always_Terminates +======================== +.. index:: Always_Terminates + +This boolean aspect is equivalent to :ref:`pragma Always_Terminates<Pragma-Always_Terminates>`. + Aspect Annotate =============== diff --git a/gcc/ada/doc/gnat_rm/implementation_defined_pragmas.rst b/gcc/ada/doc/gnat_rm/implementation_defined_pragmas.rst index bfaa1cff407..9fc334354ac 100644 --- a/gcc/ada/doc/gnat_rm/implementation_defined_pragmas.rst +++ b/gcc/ada/doc/gnat_rm/implementation_defined_pragmas.rst @@ -329,6 +329,20 @@ this pragma serves no purpose but is ignored rather than rejected to allow common sets of sources to be used in the two situations. +.. _Pragma-Always_Terminates: + +Pragma Always_Terminates +======================== + +Syntax: + +.. code-block:: ada + + pragma Always_Terminates [ (boolean_EXPRESSION) ]; + +For the semantics of this pragma, see the entry for aspect ``Always_Terminates`` +in the SPARK 2014 Reference Manual, section 7.1.2. + .. _Pragma-Annotate: Pragma Annotate -- 2.43.0