aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gnatlink.adb
diff options
context:
space:
mode:
authorEd Schonberg <schonberg@adacore.com>2020-01-24 14:14:14 -0500
committerPierre-Marie de Rodat <derodat@adacore.com>2020-06-04 05:11:18 -0400
commit9531ffdaafe38f8cf07481430daba035e855bdf4 (patch)
tree0ff699ce35670ed1cf4cda30af6def5effae4c22 /gcc/ada/gnatlink.adb
parent25a76d621a4b6e324777677c8a5a81c09da2db9d (diff)
downloadgcc-9531ffdaafe38f8cf07481430daba035e855bdf4.zip
gcc-9531ffdaafe38f8cf07481430daba035e855bdf4.tar.gz
gcc-9531ffdaafe38f8cf07481430daba035e855bdf4.tar.bz2
[Ada] Ada_2020: contracts for formal subprograms
2020-06-04 Ed Schonberg <schonberg@adacore.com> gcc/ada/ * sem_ch12.adb (Build_Suprogram_Body_Wrapper, Build_Subprogram_Decl_Wrapper): New suprograms, to create the wrappers needed to implement contracts on formsl subprograms at the point of instantiation. (Build_Subprogram_Wrappers): New subprogram within Analyze_Associations, calls the above when the formal subprogram has contracts, and expansion is enabled. (Instantiate_Formal_Subprogram): If the actual is not an entity, such as a function attribute, or a synchronized operation, create a function with an internal name and call it within the wrapper. (Analyze_Generic_Formal_Part): Analyze contracts at the end of the list of formal declarations. * sem_prag.adb (Analyze_Pre_Post_Condtion): In Ada_2020 the aspect and corresponding pragma can appear on a formal subprogram declaration. (Find_Related_Declaration_Or_Body): Ditto.
Diffstat (limited to 'gcc/ada/gnatlink.adb')
0 files changed, 0 insertions, 0 deletions