*** empty log message ***
From-SVN: r968
This commit is contained in:
parent
94a5807610
commit
d8f6dbb911
1 changed files with 6 additions and 2 deletions
|
@ -2748,9 +2748,13 @@ fold (expr)
|
|||
return convert (TREE_TYPE (t), TREE_OPERAND (TREE_OPERAND (t, 0), 0));
|
||||
|
||||
if (TREE_CODE (TREE_OPERAND (t, 0)) == MODIFY_EXPR
|
||||
&& TREE_CONSTANT (TREE_OPERAND (TREE_OPERAND (t, 0), 1)))
|
||||
&& TREE_CONSTANT (TREE_OPERAND (TREE_OPERAND (t, 0), 1))
|
||||
/* Detect assigning a bitfield. */
|
||||
&& !(TREE_CODE (TREE_OPERAND (TREE_OPERAND (t, 0), 0)) == COMPONENT_REF
|
||||
&& DECL_BIT_FIELD (TREE_OPERAND (TREE_OPERAND (TREE_OPERAND (t, 0), 0), 1))))
|
||||
{
|
||||
/* Don't leave an assignment inside a conversion. */
|
||||
/* Don't leave an assignment inside a conversion
|
||||
unless assiging a bitfield. */
|
||||
tree prev = TREE_OPERAND (t, 0);
|
||||
TREE_OPERAND (t, 0) = TREE_OPERAND (prev, 1);
|
||||
/* First do the assignment, then return converted constant. */
|
||||
|
|
Loading…
Add table
Reference in a new issue