fold-const.c (fold_binary): Add missing conversions.

* fold-const.c (fold_binary) <BIT_IOR_EXPR>: Add missing conversions.

From-SVN: r133732
This commit is contained in:
Eric Botcazou 2008-03-30 15:54:05 +00:00 committed by Eric Botcazou
parent 9664860331
commit 8f0e26718e
4 changed files with 31 additions and 2 deletions

View File

@ -1,3 +1,7 @@
2008-03-30 Eric Botcazou <ebotcazou@adacore.com>
* fold-const.c (fold_binary) <BIT_IOR_EXPR>: Add missing conversions.
2008-03-30 Richard Guenther <rguenther@suse.de>
PR middle-end/31023

View File

@ -10425,8 +10425,10 @@ fold_binary (enum tree_code code, tree type, tree op0, tree op1)
{
return fold_build1 (BIT_NOT_EXPR, type,
build2 (BIT_AND_EXPR, type,
TREE_OPERAND (arg0, 0),
TREE_OPERAND (arg1, 0)));
fold_convert (type,
TREE_OPERAND (arg0, 0)),
fold_convert (type,
TREE_OPERAND (arg1, 0))));
}
/* See if this can be simplified into a rotate first. If that

View File

@ -1,3 +1,7 @@
2008-03-30 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/bit_packed_array2.adb: New test.
2008-03-30 Paul Thomas <pault@gcc.gnu.org>
PR fortran/35740

View File

@ -0,0 +1,19 @@
-- { dg-do compile }
-- { dg-options "-gnatws" }
procedure Bit_Packed_Array2 is
type Bit_Array is array (integer range <>) of Boolean;
pragma Pack(Bit_Array);
b1 : Bit_Array(1..64);
b2 : Bit_array(1..64);
res : Bit_array(1..64);
begin
if (not((not b1) or (not b2))) /= res then
null;
end if;
end;