From: charlet Date: Fri, 18 Jun 2010 14:19:10 +0000 (+0000) Subject: 2010-06-18 Vincent Celier X-Git-Tag: upstream/4.9.2~28589 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d8428da51dc6821502542b83790f143f17254105;p=platform%2Fupstream%2Flinaro-gcc.git 2010-06-18 Vincent Celier * gnatname.adb (Scan_Args): When --and is used, make sure that the dynamic tables in the newly allocated Argument_Data are properly initialized. 2010-06-18 Eric Botcazou * gnat1drv.adb: Fix comment. 2010-06-18 Ed Schonberg * exp_ch6.adb (Expand_Inlined_Call): If the inlined subprogram is a renaming, re-expand the call with the renamed subprogram if that one is marked inlined as well. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160995 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 9c67c1f..f2cf3b3 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,19 @@ +2010-06-18 Vincent Celier + + * gnatname.adb (Scan_Args): When --and is used, make sure that the + dynamic tables in the newly allocated Argument_Data are properly + initialized. + +2010-06-18 Eric Botcazou + + * gnat1drv.adb: Fix comment. + +2010-06-18 Ed Schonberg + + * exp_ch6.adb (Expand_Inlined_Call): If the inlined subprogram is a + renaming, re-expand the call with the renamed subprogram if that one + is marked inlined as well. + 2010-06-18 Gary Dismukes * gnat1drv.adb (Adjust_Global_Switches): Enable diff --git a/gcc/ada/exp_ch6.adb b/gcc/ada/exp_ch6.adb index 08f7d7c..34d6114 100644 --- a/gcc/ada/exp_ch6.adb +++ b/gcc/ada/exp_ch6.adb @@ -3725,10 +3725,14 @@ package body Exp_Ch6 is -- directly, because the subprograms are subtype conformant. If -- the renamed subprogram is an inherited operation, we must redo -- the expansion because implicit conversions may be needed. + -- Similarly, if the renamed entity is inlined, expand the call + -- for further optimizations. Set_Name (N, New_Occurrence_Of (Orig_Bod, Loc)); - if Present (Alias (Orig_Bod)) then + if Present (Alias (Orig_Bod)) + or else Is_Inlined (Orig_Bod) + then Expand_Call (N); end if; diff --git a/gcc/ada/gnat1drv.adb b/gcc/ada/gnat1drv.adb index 33dcfb8..76662c3 100644 --- a/gcc/ada/gnat1drv.adb +++ b/gcc/ada/gnat1drv.adb @@ -374,7 +374,7 @@ procedure Gnat1drv is Back_End_Handles_Limited_Types := False; -- Otherwise normal gcc back end, for now still turn flag off by - -- default, since we have not verified proper back end handling. + -- default, since there are unresolved problems in the front end. else Back_End_Handles_Limited_Types := False; diff --git a/gcc/ada/gnatname.adb b/gcc/ada/gnatname.adb index 4c935be..8078759 100644 --- a/gcc/ada/gnatname.adb +++ b/gcc/ada/gnatname.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 2001-2009, Free Software Foundation, Inc. -- +-- Copyright (C) 2001-2010, 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- -- @@ -306,7 +306,16 @@ procedure Gnatname is -- Add and initialize another component to Arguments table - Arguments.Increment_Last; + declare + New_Arguments : Argument_Data; + pragma Warnings (Off, New_Arguments); + -- Declaring this defaulted itialized object ensures that + -- the new allocated component of table Arguments is + -- correctly initialized. + + begin + Arguments.Append (New_Arguments); + end; Patterns.Init (Arguments.Table (Arguments.Last).Directories);