Commit a1ad79ed by Arnaud Charlet

[multiple changes]

2016-04-21  Philippe Gil  <gil@adacore.com>

	* krunch.adb (Krunch): Fix krunching of i-java.

2016-04-21  Arnaud Charlet  <charlet@adacore.com>

	* exp_ch8.adb (Evaluation_Required): Always return
	True when Modify_Tree_For_C.

From-SVN: r235320
parent e6007a27
2016-04-21 Philippe Gil <gil@adacore.com>
* krunch.adb (Krunch): Fix krunching of i-java.
2016-04-21 Arnaud Charlet <charlet@adacore.com>
* exp_ch8.adb (Evaluation_Required): Always return
True when Modify_Tree_For_C.
2016-04-21 Eric Botcazou <ebotcazou@adacore.com> 2016-04-21 Eric Botcazou <ebotcazou@adacore.com>
* gnatlink.adb (Gnatlink): Robustify detection of Windows target. * gnatlink.adb (Gnatlink): Robustify detection of Windows target.
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- B o d y -- -- B o d y --
-- -- -- --
-- Copyright (C) 1992-2015, Free Software Foundation, Inc. -- -- Copyright (C) 1992-2016, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
...@@ -116,6 +116,8 @@ package body Exp_Ch8 is ...@@ -116,6 +116,8 @@ package body Exp_Ch8 is
-- interested in these operations if they occur as part of the name -- interested in these operations if they occur as part of the name
-- itself, subscripts are just values that are computed as part of the -- itself, subscripts are just values that are computed as part of the
-- evaluation, so their form is unimportant. -- evaluation, so their form is unimportant.
-- In addition, always return True for Modify_Tree_For_C since the
-- code generator doesn't know how to handle renamings.
------------------------- -------------------------
-- Evaluation_Required -- -- Evaluation_Required --
...@@ -123,7 +125,10 @@ package body Exp_Ch8 is ...@@ -123,7 +125,10 @@ package body Exp_Ch8 is
function Evaluation_Required (Nam : Node_Id) return Boolean is function Evaluation_Required (Nam : Node_Id) return Boolean is
begin begin
if Nkind_In (Nam, N_Indexed_Component, N_Slice) then if Modify_Tree_For_C then
return True;
elsif Nkind_In (Nam, N_Indexed_Component, N_Slice) then
if Is_Packed (Etype (Prefix (Nam))) then if Is_Packed (Etype (Prefix (Nam))) then
return True; return True;
else else
......
...@@ -107,6 +107,7 @@ begin ...@@ -107,6 +107,7 @@ begin
or else (Curlen = 9 and then Buffer (3 .. 9) = "fortran") or else (Curlen = 9 and then Buffer (3 .. 9) = "fortran")
or else (Curlen = 16 and then Buffer (3 .. 16) = "packed_decimal") or else (Curlen = 16 and then Buffer (3 .. 16) = "packed_decimal")
or else (Curlen > 8 and then Buffer (3 .. 9) = "vxworks") or else (Curlen > 8 and then Buffer (3 .. 9) = "vxworks")
or else (Curlen > 5 and then Buffer (3 .. 6) = "java")
then then
Krlen := 8; Krlen := 8;
else else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment