diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-29 13:20:27 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-29 13:20:27 +0000 |
commit | b7edc5bbf7f1095d6bef337a223cf400adde46f1 (patch) | |
tree | c48d51fc9f53affdb580ed2ce609b90d8439b495 /gcc/ada/exp_ch9.adb | |
parent | f1779f3415583dc735e019cbb646a34bc4f52600 (diff) | |
download | gcc-b7edc5bbf7f1095d6bef337a223cf400adde46f1.tar.gz |
2009-04-29 Ed Schonberg <schonberg@adacore.com>
* exp_ch9.ads, exp_ch9.adb (Build_Wrapper_Spec): Use source line of
primitive operation, rather than source line of synchronized type, when
building the wrapper for a primitive operation that overrides an
operation inherited from a progenitor, to improve the error message on
duplicate declarations.
* sem_ch3.adb (Process_Full_View): Use new signature of
Build_Wrapper_Spec.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146961 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/exp_ch9.adb')
-rw-r--r-- | gcc/ada/exp_ch9.adb | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/gcc/ada/exp_ch9.adb b/gcc/ada/exp_ch9.adb index f784e54ef3a..ddaa632f0ba 100644 --- a/gcc/ada/exp_ch9.adb +++ b/gcc/ada/exp_ch9.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 1992-2008, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2009, Free Software Foundation, Inc. -- -- -- -- GNAT is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- @@ -1599,7 +1599,7 @@ package body Exp_Ch9 is Body_Spec : Node_Id; begin - Body_Spec := Build_Wrapper_Spec (Loc, Subp_Id, Obj_Typ, Formals); + Body_Spec := Build_Wrapper_Spec (Subp_Id, Obj_Typ, Formals); -- The subprogram is not overriding or is not a primitive declared -- between two views. @@ -1776,11 +1776,11 @@ package body Exp_Ch9 is ------------------------ function Build_Wrapper_Spec - (Loc : Source_Ptr; - Subp_Id : Entity_Id; + (Subp_Id : Entity_Id; Obj_Typ : Entity_Id; Formals : List_Id) return Node_Id is + Loc : constant Source_Ptr := Sloc (Subp_Id); First_Param : Node_Id; Iface : Entity_Id; Iface_Elmt : Elmt_Id; @@ -2147,18 +2147,18 @@ package body Exp_Ch9 is and then Ekind (Defining_Identifier (Decl)) = E_Entry then Wrap_Spec := - Build_Wrapper_Spec (Loc, - Subp_Id => Defining_Identifier (Decl), - Obj_Typ => Rec_Typ, - Formals => Parameter_Specifications (Decl)); + Build_Wrapper_Spec + (Subp_Id => Defining_Identifier (Decl), + Obj_Typ => Rec_Typ, + Formals => Parameter_Specifications (Decl)); elsif Nkind (Decl) = N_Subprogram_Declaration then Wrap_Spec := - Build_Wrapper_Spec (Loc, - Subp_Id => Defining_Unit_Name (Specification (Decl)), - Obj_Typ => Rec_Typ, - Formals => - Parameter_Specifications (Specification (Decl))); + Build_Wrapper_Spec + (Subp_Id => Defining_Unit_Name (Specification (Decl)), + Obj_Typ => Rec_Typ, + Formals => + Parameter_Specifications (Specification (Decl))); end if; if Present (Wrap_Spec) then |