[multiple changes]
authorArnaud Charlet <charlet@gcc.gnu.org>
Fri, 18 Jun 2010 14:19:10 +0000 (16:19 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Fri, 18 Jun 2010 14:19:10 +0000 (16:19 +0200)
2010-06-18  Vincent Celier  <celier@adacore.com>

* 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  <ebotcazou@adacore.com>

* gnat1drv.adb: Fix comment.

2010-06-18  Ed Schonberg  <schonberg@adacore.com>

* 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.

From-SVN: r160995

gcc/ada/ChangeLog
gcc/ada/exp_ch6.adb
gcc/ada/gnat1drv.adb
gcc/ada/gnatname.adb

index 9c67c1f..f2cf3b3 100644 (file)
@@ -1,3 +1,19 @@
+2010-06-18  Vincent Celier  <celier@adacore.com>
+
+       * 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  <ebotcazou@adacore.com>
+
+       * gnat1drv.adb: Fix comment.
+
+2010-06-18  Ed Schonberg  <schonberg@adacore.com>
+
+       * 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  <dismukes@adacore.com>
 
        * gnat1drv.adb (Adjust_Global_Switches): Enable
index 08f7d7c..34d6114 100644 (file)
@@ -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;
 
index 33dcfb8..76662c3 100644 (file)
@@ -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;
index 4c935be..8078759 100644 (file)
@@ -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);