From fd9574340563929af49f53a7911aaac882dc81f1 Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Fri, 22 May 2015 12:28:06 +0200 Subject: [PATCH] [multiple changes] 2015-05-22 Eric Botcazou * exp_pakd.adb (Install_PAT): Propagate representation aspects from the original array type to the PAT. 2015-05-22 Robert Dewar * treepr.adb (Print_Node_Header): Add output of Needs_Actuals_Check. From-SVN: r223537 --- gcc/ada/ChangeLog | 9 +++++++++ gcc/ada/exp_pakd.adb | 10 +++++++++- gcc/ada/treepr.adb | 4 ++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 7708e137afd..13b58f869bd 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,12 @@ +2015-05-22 Eric Botcazou + + * exp_pakd.adb (Install_PAT): Propagate representation aspects + from the original array type to the PAT. + +2015-05-22 Robert Dewar + + * treepr.adb (Print_Node_Header): Add output of Needs_Actuals_Check. + 2015-05-22 Robert Dewar * atree.adb, atree.ads (Needs_Actuals_Check): New flag. diff --git a/gcc/ada/exp_pakd.adb b/gcc/ada/exp_pakd.adb index 0dda40800d9..1e899ee3acc 100644 --- a/gcc/ada/exp_pakd.adb +++ b/gcc/ada/exp_pakd.adb @@ -532,9 +532,17 @@ package body Exp_Pakd is Init_Alignment (PAT); Set_Parent (PAT, Empty); Set_Associated_Node_For_Itype (PAT, Typ); - Set_Is_Packed_Array_Impl_Type (PAT, True); + Set_Is_Packed_Array_Impl_Type (PAT, True); Set_Original_Array_Type (PAT, Typ); + -- Propagate representation aspects + + Set_Is_Atomic (PAT, Is_Atomic (Typ)); + Set_Is_Independent (PAT, Is_Independent (Typ)); + Set_Has_Volatile_Full_Access (PAT, Has_Volatile_Full_Access (Typ)); + Set_Is_Volatile (PAT, Is_Volatile (Typ)); + Set_Treat_As_Volatile (PAT, Treat_As_Volatile (Typ)); + -- For a non-bit-packed array, propagate reverse storage order -- flag from original base type to packed array base type. diff --git a/gcc/ada/treepr.adb b/gcc/ada/treepr.adb index 103038a2bc9..a7f79cfe194 100644 --- a/gcc/ada/treepr.adb +++ b/gcc/ada/treepr.adb @@ -1382,6 +1382,10 @@ package body Treepr is Print_Header_Flag ("ignored ghost"); end if; + if Needs_Actuals_Check (N) then + Print_Header_Flag ("needs actuals check"); + end if; + if Enumerate then Print_Char (')'); end if; -- 2.30.2