summaryrefslogtreecommitdiff
path: root/gcc/ada/exp_dbug.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2012-10-29 10:17:29 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2012-10-29 10:17:29 +0000
commitb9e61b2aeb50f45afb780ac29b711754b56d187f (patch)
treed5bcc0b8a275116938b18ab57bffcca94142d56f /gcc/ada/exp_dbug.adb
parent4c1fd0626d6bc7406468167e73727ded66d65b79 (diff)
downloadgcc-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.adb35
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 --
------------------------------------