aboutsummaryrefslogtreecommitdiff
path: root/gcc/go/go-lang.c
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@adacore.com>2020-04-14 03:29:43 -0400
committerPierre-Marie de Rodat <derodat@adacore.com>2020-06-18 05:08:20 -0400
commit606e70fd3d8abf2a74fab56faeecfb8e249178ca (patch)
tree3e8702851e60b29ac26bdd932f355989da8136d8 /gcc/go/go-lang.c
parent41e52aa5859d5ec202f05ec2e36984b7cb708fc3 (diff)
downloadgcc-606e70fd3d8abf2a74fab56faeecfb8e249178ca.zip
gcc-606e70fd3d8abf2a74fab56faeecfb8e249178ca.tar.gz
gcc-606e70fd3d8abf2a74fab56faeecfb8e249178ca.tar.bz2
[Ada] ACATS 4.1L - B452002 - Wrong universal access "=" rules
2020-06-18 Arnaud Charlet <charlet@adacore.com> gcc/ada/ * sem_ch4.adb (Find_Equality_Types.Check_Access_Object_Types): New function, used to implement RM 4.5.2 (9.6/2). (Find_Equality_Types.Check_Compatible_Profiles): New function, used to implement RM 4.5.2(9.7/2). (Find_Equality_Types.Reference_Anonymous_Access_Type): New function. (Find_Equality_Types.Try_One_Interp): Fix handling of anonymous access types which was accepting both too much and too little. Remove accumulated special and incomplete cases for instantiations, replaced by Has_Compatible_Type. (Analyze_Overloaded_Selected_Component): Use Is_Anonymous_Access_Type instead of Ekind_In. * sem_res.adb: Code cleanup and bug fix: use Is_Anonymous_Access_Type instead of Ekind_In. Relax checking of anonymous access parameter when universal_access "=" is involved. * sem_type.adb: Likewise. (Find_Unique_Type): Move code from here... (Specific_Type): ...to here. Also add missing handling of access to class wide types. * einfo.ads, einfo.adb (Is_Access_Object_Type): New.
Diffstat (limited to 'gcc/go/go-lang.c')
0 files changed, 0 insertions, 0 deletions