From 0187b60e160e72673f1116a215ca257e11ba3903 Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Wed, 3 Aug 2011 12:50:14 +0200 Subject: [multiple changes] 2011-08-03 Gary Dismukes * sem_ch6.adb (Find_Corresponding_Spec): When in an instance, skip conforming subprogram renamings that appear to be completions if they are not fully conformant. Such renamings are homographs but not completions. * sem_type.adb (Disambiguate): Handle disambiguation of overloaded names in a subprogram renaming that appears in an instance. 2011-08-03 Ed Schonberg * exp_util.adb (Expand_Subtype_From_Expr): if the type is limited but not immutably limited, build actual subtype from expression to provide proper bounds to caller. 2011-08-03 Gary Dismukes * sem_ch8.adb: Minor comment correction. 2011-08-03 Thomas Quinot * exp_strm.adb (Build_Array_Input_Function): In Ada 2005 mode, when returning a limited array, use an extended return statement. 2011-08-03 Vincent Celier * make.adb (Initialize): If --subdirs= is used, but no project file is specified, attempt to create the specify subdir if it does not already exist and use it as the object directory as if -D had been specified. 2011-08-03 Arnaud Charlet * s-tpopsp-vms.adb: New file. * s-taprop-vms.adb: Put back ATCB_Key, since needed by this file on VMS. * gcc-interfaces/Makefile.in: Use s-taprop-vms.adb on VMS. From-SVN: r177266 --- gcc/ada/sem_ch6.adb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'gcc/ada/sem_ch6.adb') diff --git a/gcc/ada/sem_ch6.adb b/gcc/ada/sem_ch6.adb index ca7831e..6c69643 100644 --- a/gcc/ada/sem_ch6.adb +++ b/gcc/ada/sem_ch6.adb @@ -6332,7 +6332,13 @@ package body Sem_Ch6 is if In_Instance then Set_Convention (Designator, Convention (E)); - if Nkind (N) = N_Subprogram_Body + -- Skip past subprogram bodies and subprogram renamings that + -- may appear to have a matching spec, but that aren't fully + -- conformant with it. That can occur in cases where an + -- actual type causes unrelated homographs in the instance. + + if Nkind_In (N, N_Subprogram_Body, + N_Subprogram_Renaming_Declaration) and then Present (Homonym (E)) and then not Fully_Conformant (Designator, E) then -- cgit v1.1