aboutsummaryrefslogtreecommitdiff
path: root/libada
diff options
context:
space:
mode:
authorYannick Moy <moy@adacore.com>2023-01-18 08:40:40 +0000
committerMarc Poulhiès <poulhies@adacore.com>2023-05-16 10:30:56 +0200
commit913794b1cb71cc7bba9850f8ed42c294d542fff4 (patch)
tree8b7725297645ef85fe00177a84912ee11db50de7 /libada
parentfd0f8d2486678e401b076b74e9f1ae2cb224ba76 (diff)
downloadgcc-913794b1cb71cc7bba9850f8ed42c294d542fff4.zip
gcc-913794b1cb71cc7bba9850f8ed42c294d542fff4.tar.gz
gcc-913794b1cb71cc7bba9850f8ed42c294d542fff4.tar.bz2
ada: Simplify dramatically ghost code for proof of System.Arith_Double
Using Inline_For_Proof annotation on key expression functions makes it possible to remove hundreds of lines of ghost code that were previously needed to guide provers. gcc/ada/ * libgnat/s-aridou.adb (Big3, Is_Mult_Decomposition) (Is_Scaled_Mult_Decomposition): Add annotation for inlining. (Double_Divide, Scaled_Divide): Simplify and remove ghost code. (Prove_Multiplication): Add calls to lemmas to make proof go through. * libgnat/s-aridou.ads (Big, In_Double_Int_Range): Add annotation for inlining.
Diffstat (limited to 'libada')
0 files changed, 0 insertions, 0 deletions