aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/debug.adb
diff options
context:
space:
mode:
authorEd Schonberg <schonberg@adacore.com>2020-03-02 14:58:59 -0500
committerPierre-Marie de Rodat <derodat@adacore.com>2020-06-10 09:34:57 -0400
commitdc419b9f8d6f998186706aa1afa50db1ca7efae5 (patch)
tree6e0f24e81862e5d24801e93afc8ce6b9d5203958 /gcc/ada/debug.adb
parent057548bc5f3a067f881cd6985419956b0f2696fc (diff)
downloadgcc-dc419b9f8d6f998186706aa1afa50db1ca7efae5.zip
gcc-dc419b9f8d6f998186706aa1afa50db1ca7efae5.tar.gz
gcc-dc419b9f8d6f998186706aa1afa50db1ca7efae5.tar.bz2
[Ada] Ada_2020 AI12-0220: Pre/Postconditions on Access_To_Subprogram types
2020-06-10 Ed Schonberg <schonberg@adacore.com> gcc/ada/ * einfo.ads (Access_Subprogram_Wrapper): New attribute of Subprogram_Type entities. Denotes subprogram constructed for Access_To_Subprogram types that include pre- and postconditions. * einfo.adb: Subprogram bodies for Access_Subprogram_Wrapper. * exp_ch6.adb (Expand_Call): An indirect call through an Access_To_subprogram that includes contracts is rewritten as a call to the corresponding Access_ ubprogram_Wrapper. Handle derived types that inherit contract from parent. * sem_prag.adb (Build_Access_Subprogram_Wrapper): Build subprogram declaration for subprogram that incorporates the contracts of an Access_To_Subprogram type declaration. Build corresponding body and attach it to freeze actions for type. * sem_util.ads, sem_util.adb (Is_Access_Subprogram_Wrapper): Utility that uses signature of the subprogram to determine whether it is a generated wrapper for an Access_To_Subprogram type.
Diffstat (limited to 'gcc/ada/debug.adb')
0 files changed, 0 insertions, 0 deletions