diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-10-29 10:17:29 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-10-29 10:17:29 +0000 |
commit | b9e61b2aeb50f45afb780ac29b711754b56d187f (patch) | |
tree | d5bcc0b8a275116938b18ab57bffcca94142d56f /gcc/ada/exp_dbug.adb | |
parent | 4c1fd0626d6bc7406468167e73727ded66d65b79 (diff) | |
download | gcc-b9e61b2aeb50f45afb780ac29b711754b56d187f.tar.gz |
2012-10-29 Ed Schonberg <schonberg@adacore.com>
* sem_aux.adb (Get_Rep_Item): Treat Priority and Interrupt_Priority
as equivalent, because only one of them can be specified for a
task, protected definition, or subprogram body.
* aspects.adb ((Same_Aspect): The canonical aspect of
Interrupt_Priority is Priority.
2012-10-29 Robert Dewar <dewar@adacore.com>
* sem_ch13.adb: Minor reformatting.
2012-10-29 Robert Dewar <dewar@adacore.com>
* i-cstrea.ads: Avoid redefinition of standard symbol string.
* prj-makr.adb: Add comment for OK redefinition of Stadard.
* prj.ads: Add comment for OK redefinition of Stadard.
* s-crtl.ads: Avoid redefinition of standard symbol string.
* sinfo-cn.adb (Change_Identifier_To_Defining_Identifier):
Generate warning for standard redefinition if
Warn_On_Standard_Definition set.
* usage.adb: Add lines for -gnatw.k and -gnatw.K
* warnsw.adb: Set/reset Warn_On_Standard_Redefinition
appropriately.
* warnsw.ads (Warn_On_Standard_Redefinition): New flag.
* s-stratt-xdr.adb: Avoid new warning.
2012-10-29 Ed Schonberg <schonberg@adacore.com>
* exp_dbug.ads, exp_dbug.adb (Build_Subprogram_Instance_Renamings):
in the body of a subpogram instance, introduce local renamings
for actuals of an elementary type, so that GDB can recover the
values of these actuals more directly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192919 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/exp_dbug.adb')
-rw-r--r-- | gcc/ada/exp_dbug.adb | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/gcc/ada/exp_dbug.adb b/gcc/ada/exp_dbug.adb index 5d605d75c50..582138f3c4a 100644 --- a/gcc/ada/exp_dbug.adb +++ b/gcc/ada/exp_dbug.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 1996-2011, Free Software Foundation, Inc. -- +-- Copyright (C) 1996-2012, 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- -- @@ -902,6 +902,39 @@ package body Exp_Dbug is end if; end Get_Variant_Encoding; + ------------------------------------------ + -- Build_Subprogram_Instance_Renamings -- + ------------------------------------------ + + procedure Build_Subprogram_Instance_Renamings + (N : Node_Id; + Wrapper : Entity_Id) + is + Loc : Source_Ptr; + Decl : Node_Id; + E : Entity_Id; + + begin + E := First_Entity (Wrapper); + while Present (E) loop + if Nkind (Parent (E)) = N_Object_Declaration + and then Is_Elementary_Type (Etype (E)) + then + Loc := Sloc (Expression (Parent (E))); + Decl := Make_Object_Renaming_Declaration (Loc, + Defining_Identifier => + Make_Defining_Identifier (Loc, Chars (E)), + Subtype_Mark => New_Occurrence_Of (Etype (E), Loc), + Name => New_Occurrence_Of (E, Loc)); + + Append (Decl, Declarations (N)); + Set_Needs_Debug_Info (Defining_Identifier (Decl)); + end if; + + Next_Entity (E); + end loop; + end Build_Subprogram_Instance_Renamings; + ------------------------------------ -- Get_Secondary_DT_External_Name -- ------------------------------------ |