[multiple changes]
2012-10-02 Eric Botcazou <ebotcazou@adacore.com> * types.h: Minor cosmetic fix. 2012-10-02 Robert Dewar <dewar@adacore.com> * sinfo.ads: Remove refs of N_Conditional_Expression and N_Parameterized_Expression. 2012-10-02 Thomas Quinot <quinot@adacore.com> * exp_aggr.adb (Get_Component_Val): Rewrite code that computes justification of bits in enclosing word in an attempt to make it clearer. From-SVN: r191973
This commit is contained in:
parent
f563ce5585
commit
c9a6b38f01
|
@ -1,3 +1,7 @@
|
||||||
|
2012-10-02 Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
|
* types.h: Minor cosmetic fix.
|
||||||
|
|
||||||
2012-10-02 Eric Botcazou <ebotcazou@adacore.com>
|
2012-10-02 Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
* gcc-interfaces/decl.c (elaborate_expression_1): Use the variable for
|
* gcc-interfaces/decl.c (elaborate_expression_1): Use the variable for
|
||||||
|
@ -6,6 +10,17 @@
|
||||||
* gcc-interface/trans.c (gigi): Fix formatting.
|
* gcc-interface/trans.c (gigi): Fix formatting.
|
||||||
(build_return_expr): Apply the NRV optimization only for BLKmode.
|
(build_return_expr): Apply the NRV optimization only for BLKmode.
|
||||||
|
|
||||||
|
2012-10-02 Robert Dewar <dewar@adacore.com>
|
||||||
|
|
||||||
|
* sinfo.ads: Remove refs of N_Conditional_Expression and
|
||||||
|
N_Parameterized_Expression.
|
||||||
|
|
||||||
|
2012-10-02 Thomas Quinot <quinot@adacore.com>
|
||||||
|
|
||||||
|
* exp_aggr.adb (Get_Component_Val): Rewrite code that computes
|
||||||
|
justification of bits in enclosing word in an attempt to make
|
||||||
|
it clearer.
|
||||||
|
|
||||||
2012-10-02 Robert Dewar <dewar@adacore.com>
|
2012-10-02 Robert Dewar <dewar@adacore.com>
|
||||||
|
|
||||||
* par_sco.adb, sem_ch3.adb, layout.adb, exp_ch7.adb, exp_imgv.adb,
|
* par_sco.adb, sem_ch3.adb, layout.adb, exp_ch7.adb, exp_imgv.adb,
|
||||||
|
|
|
@ -6167,21 +6167,30 @@ package body Exp_Aggr is
|
||||||
Expr : Node_Id;
|
Expr : Node_Id;
|
||||||
-- Next expression from positional parameters of aggregate
|
-- Next expression from positional parameters of aggregate
|
||||||
|
|
||||||
|
Left_Justified : Boolean;
|
||||||
|
-- Set True if we are filling the high order bits of the target
|
||||||
|
-- value (i.e. the value is left justified).
|
||||||
|
|
||||||
begin
|
begin
|
||||||
-- For little endian, we fill up the low order bits of the target
|
-- For little endian, we fill up the low order bits of the target
|
||||||
-- value. For big endian we fill up the high order bits of the
|
-- value. For big endian we fill up the high order bits of the
|
||||||
-- target value (which is a left justified modular value).
|
-- target value (which is a left justified modular value).
|
||||||
|
|
||||||
-- Above comment needs extending for the code below, which is by
|
Left_Justified := Bytes_Big_Endian;
|
||||||
-- the way incomprehensible, I have no idea what a xor b xor c
|
|
||||||
-- means, and it hurts my brain to try to figure it out???
|
|
||||||
-- Let's introduce a new variable, perhaps Effectively_Big_Endian
|
|
||||||
-- and compute it with clearer code ???
|
|
||||||
|
|
||||||
if Bytes_Big_Endian
|
-- Switch justification if using -gnatd8
|
||||||
xor Debug_Flag_8
|
|
||||||
xor Reverse_Storage_Order (Base_Type (Typ))
|
if Debug_Flag_8 then
|
||||||
then
|
Left_Justified := not Left_Justified;
|
||||||
|
end if;
|
||||||
|
|
||||||
|
-- Switch justfification if reverse storage order
|
||||||
|
|
||||||
|
if Reverse_Storage_Order (Base_Type (Typ)) then
|
||||||
|
Left_Justified := not Left_Justified;
|
||||||
|
end if;
|
||||||
|
|
||||||
|
if Left_Justified then
|
||||||
Shift := Csiz * (Len - 1);
|
Shift := Csiz * (Len - 1);
|
||||||
Incr := -Csiz;
|
Incr := -Csiz;
|
||||||
else
|
else
|
||||||
|
|
|
@ -12439,10 +12439,4 @@ package Sinfo is
|
||||||
-- Rename N_Return_Statement to be N_Simple_Return_Statement. Clients
|
-- Rename N_Return_Statement to be N_Simple_Return_Statement. Clients
|
||||||
-- should refer to N_Simple_Return_Statement.
|
-- should refer to N_Simple_Return_Statement.
|
||||||
|
|
||||||
N_Parameterized_Expression : constant Node_Kind := N_Expression_Function;
|
|
||||||
-- Old name for expression function (used during Ada 2012 transition)
|
|
||||||
|
|
||||||
N_Conditional_Expression : Node_Kind renames N_If_Expression;
|
|
||||||
-- Old name for if expression (used during Ada 2012 transition)
|
|
||||||
|
|
||||||
end Sinfo;
|
end Sinfo;
|
||||||
|
|
|
@ -384,4 +384,3 @@ typedef Int Mechanism_Type;
|
||||||
#define SE_Object_Too_Large 34
|
#define SE_Object_Too_Large 34
|
||||||
|
|
||||||
#define LAST_REASON_CODE 34
|
#define LAST_REASON_CODE 34
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue