Commit cdc54cc9 by Tom Wood

*** empty log message ***

From-SVN: r729
parent f357808b
......@@ -4461,7 +4461,7 @@ digest_init (type, init, tail, require_constant, constructor_constant, ofwhat)
if (TREE_CODE (init) == NON_LVALUE_EXPR)
inside_init = TREE_OPERAND (init, 0);
if (init && raw_constructor
if (inside_init && raw_constructor
&& CONSTRUCTOR_ELTS (inside_init) != 0
&& TREE_CHAIN (CONSTRUCTOR_ELTS (inside_init)) == 0)
{
......@@ -4672,7 +4672,11 @@ digest_init (type, init, tail, require_constant, constructor_constant, ofwhat)
({
if (ofwhat)
push_string (ofwhat);
inside_init = convert_for_assignment (type, default_conversion (init),
inside_init
= convert_for_assignment (type,
default_conversion (raw_constructor
? inside_init
: init),
&initialization_message, NULL_TREE, 0);
});
......
......@@ -3667,7 +3667,7 @@ fold (expr)
case EQ_EXPR:
return fold (build1 (NEGATE_EXPR, type, arg1));
case NE_EXPR:
return arg1;
return convert (type, arg1);
case GE_EXPR:
case GT_EXPR:
return fold (build1 (ABS_EXPR, type, arg1));
......@@ -3683,7 +3683,7 @@ fold (expr)
if (integer_zerop (TREE_OPERAND (arg0, 1)) && integer_zerop (arg2))
{
if (comp_code == NE_EXPR)
return arg1;
return convert (type, arg1);
else if (comp_code == EQ_EXPR)
return convert (type, integer_zero_node);
}
......@@ -3696,9 +3696,9 @@ fold (expr)
switch (comp_code)
{
case EQ_EXPR:
return arg2;
return convert (type, arg2);
case NE_EXPR:
return arg1;
return convert (type, arg1);
case LE_EXPR:
case LT_EXPR:
return fold (build (MIN_EXPR, type, arg1, arg2));
......
......@@ -3187,8 +3187,8 @@ strength_reduce (scan_start, end, loop_top, insn_count,
&& GET_CODE (PATTERN (insn)) != RETURN
&& (! condjump_p (insn)
|| (JUMP_LABEL (insn) != 0
&& (INSN_UID (JUMP_LABEL (insn)) > max_uid_for_loop
|| INSN_UID (insn) > max_uid_for_loop
&& (INSN_UID (JUMP_LABEL (insn)) >= max_uid_for_loop
|| INSN_UID (insn) >= max_uid_for_loop
|| (INSN_LUID (JUMP_LABEL (insn))
< INSN_LUID (insn))))))
{
......
......@@ -304,7 +304,7 @@ layout_record (rec)
record_align = MAX (record_align, desired_align);
#else
if (PCC_BITFIELD_TYPE_MATTERS && TREE_TYPE (field) != error_mark_node
&& DECL_BIT_FIELD (field)
&& DECL_BIT_FIELD_TYPE (field)
&& ! integer_zerop (TYPE_SIZE (TREE_TYPE (field))))
{
/* For these machines, a zero-length field does not
......@@ -354,7 +354,7 @@ layout_record (rec)
if (PCC_BITFIELD_TYPE_MATTERS
&& TREE_CODE (field) == FIELD_DECL
&& TREE_TYPE (field) != error_mark_node
&& DECL_BIT_FIELD (field)
&& DECL_BIT_FIELD_TYPE (field)
&& !DECL_PACKED (field)
&& !integer_zerop (DECL_SIZE (field)))
{
......@@ -376,7 +376,7 @@ layout_record (rec)
if (BITFIELD_NBYTES_LIMITED
&& TREE_CODE (field) == FIELD_DECL
&& TREE_TYPE (field) != error_mark_node
&& DECL_BIT_FIELD (field)
&& DECL_BIT_FIELD_TYPE (field)
&& !DECL_PACKED (field)
&& !integer_zerop (DECL_SIZE (field)))
{
......@@ -505,7 +505,7 @@ layout_union (rec)
#ifdef PCC_BITFIELD_TYPE_MATTERS
/* On the m88000, a bit field of declare type `int'
forces the entire union to have `int' alignment. */
if (PCC_BITFIELD_TYPE_MATTERS && DECL_BIT_FIELD (field))
if (PCC_BITFIELD_TYPE_MATTERS && DECL_BIT_FIELD_TYPE (field))
union_align = MAX (union_align, TYPE_ALIGN (TREE_TYPE (field)));
#endif
......
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