diff options
author | Ed Schonberg <schonberg@adacore.com> | 2020-01-24 14:14:14 -0500 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2020-06-04 05:11:18 -0400 |
commit | 9531ffdaafe38f8cf07481430daba035e855bdf4 (patch) | |
tree | 0ff699ce35670ed1cf4cda30af6def5effae4c22 /gcc/ada/gnatlink.adb | |
parent | 25a76d621a4b6e324777677c8a5a81c09da2db9d (diff) | |
download | gcc-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