[Ada] Add contracts to Ada.Text_IO for SPARK
authorJoffrey Huguet <huguet@adacore.com>
Fri, 5 Jul 2019 07:03:44 +0000 (07:03 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Fri, 5 Jul 2019 07:03:44 +0000 (07:03 +0000)
commit2ff7c604377c1220702aeb4c4b63ed76e56aa577
treec26a9e2ca3352dd371768c728d2630b38260a0e0
parentb7469acf1c7f70bebd703bb25120f18e509f90f3
[Ada] Add contracts to Ada.Text_IO for SPARK

This change removes the warnings returned when using Ada.Text_IO library
in SPARK. An abstract state and global contracts were added to modelize
the action of Text_IO procedures and function on the memory and the
files.

2019-07-05  Joffrey Huguet  <huguet@adacore.com>

gcc/ada/

* libgnat/a-textio.adb: Add abstract state refinment.
* libgnat/a-textio.ads: Add File_System abstract state.  Add
global contracts, contract cases, preconditions and
postconditions to procedures and functions.
(Set_Input, Set_Output, Set_Error, Standard_Input,
Standard_Output, Standard_Error, Current_Input, Current_Output,
Current_Error): Turn SPARK_Mode off.
(Get_Line): Turn SPARK_Mode off on Get_Line functions.
* libgnat/a-tideio.ads, libgnat/a-tienio.ads,
libgnat/a-tifiio.ads, libgnat/a-tiflio.ads,
libgnat/a-tiinio.ads, libgnat/a-timoio.ads: Add global
contracts, contract cases, preconditions and postconditions to
procedures and functions.

From-SVN: r273127
gcc/ada/ChangeLog
gcc/ada/libgnat/a-textio.adb
gcc/ada/libgnat/a-textio.ads
gcc/ada/libgnat/a-tideio.ads
gcc/ada/libgnat/a-tienio.ads
gcc/ada/libgnat/a-tifiio.ads
gcc/ada/libgnat/a-tiflio.ads
gcc/ada/libgnat/a-tiinio.ads
gcc/ada/libgnat/a-timoio.ads