[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>
|
||||
|
||||
* gcc-interfaces/decl.c (elaborate_expression_1): Use the variable for
|
||||
|
@ -6,6 +10,17 @@
|
|||
* gcc-interface/trans.c (gigi): Fix formatting.
|
||||
(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>
|
||||
|
||||
* 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;
|
||||
-- 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
|
||||
-- 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
|
||||
-- target value (which is a left justified modular value).
|
||||
|
||||
-- Above comment needs extending for the code below, which is by
|
||||
-- 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 ???
|
||||
Left_Justified := Bytes_Big_Endian;
|
||||
|
||||
if Bytes_Big_Endian
|
||||
xor Debug_Flag_8
|
||||
xor Reverse_Storage_Order (Base_Type (Typ))
|
||||
then
|
||||
-- Switch justification if using -gnatd8
|
||||
|
||||
if Debug_Flag_8 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);
|
||||
Incr := -Csiz;
|
||||
else
|
||||
|
|
|
@ -12439,10 +12439,4 @@ package Sinfo is
|
|||
-- Rename N_Return_Statement to be N_Simple_Return_Statement. Clients
|
||||
-- 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;
|
||||
|
|
|
@ -384,4 +384,3 @@ typedef Int Mechanism_Type;
|
|||
#define SE_Object_Too_Large 34
|
||||
|
||||
#define LAST_REASON_CODE 34
|
||||
|
||||
|
|
Loading…
Reference in New Issue