exp_ch6.adb (Expand_Call): Remove ugly special-case code that resets Orig_Prev to...
authorGary Dismukes <dismukes@adacore.com>
Fri, 1 Aug 2008 09:03:35 +0000 (11:03 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Fri, 1 Aug 2008 09:03:35 +0000 (11:03 +0200)
2008-08-01  Gary Dismukes  <dismukes@adacore.com>

* exp_ch6.adb (Expand_Call): Remove ugly special-case code that resets
Orig_Prev to Prev in the case where the actual is N_Function_Call or
N_Identifier. This was interfering with other cases that are rewritten
as N_Identifier, such as allocators, resulting in passing of the wrong
accessibility level, and based on testing this code is apparently no
longer needed at all.

From-SVN: r138490

gcc/ada/exp_ch6.adb

index d1d43cf..d2281d1 100644 (file)
@@ -2034,15 +2034,6 @@ package body Exp_Ch6 is
          Prev := Actual;
          Prev_Orig := Original_Node (Prev);
 
-         --  The original actual may have been a call written in prefix
-         --  form, and rewritten before analysis.
-
-         if not Analyzed (Prev_Orig)
-           and then Nkind_In (Actual, N_Function_Call, N_Identifier)
-         then
-            Prev_Orig := Prev;
-         end if;
-
          --  Ada 2005 (AI-251): Check if any formal is a class-wide interface
          --  to expand it in a further round.