Commit 9f4afcd4 by Eric Botcazou Committed by Eric Botcazou

* gcc-interface/trans.c (addressable_p): Handle bitwise operations.

From-SVN: r152932
parent 0046b1a7
2009-10-17 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/trans.c (addressable_p): Handle bitwise operations.
2009-10-16 Eric Botcazou <ebotcazou@adacore.com> 2009-10-16 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/ada-tree.h (TYPE_FAT_POINTER_P): Swap with... * gcc-interface/ada-tree.h (TYPE_FAT_POINTER_P): Swap with...
......
...@@ -6949,6 +6949,10 @@ addressable_p (tree gnu_expr, tree gnu_type) ...@@ -6949,6 +6949,10 @@ addressable_p (tree gnu_expr, tree gnu_type)
case CALL_EXPR: case CALL_EXPR:
case PLUS_EXPR: case PLUS_EXPR:
case MINUS_EXPR: case MINUS_EXPR:
case BIT_IOR_EXPR:
case BIT_XOR_EXPR:
case BIT_AND_EXPR:
case BIT_NOT_EXPR:
/* All rvalues are deemed addressable since taking their address will /* All rvalues are deemed addressable since taking their address will
force a temporary to be created by the middle-end. */ force a temporary to be created by the middle-end. */
return true; return true;
......
2009-10-17 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/unchecked_convert4.adb: New test.
2009-10-15 Jason Merrill <jason@redhat.com> 2009-10-15 Jason Merrill <jason@redhat.com>
PR c++/38798 PR c++/38798
......
-- { dg-do compile }
with Unchecked_Conversion;
procedure Unchecked_Convert4 is
type Uint32 is mod 2**32;
type Rec is record
I : Uint32;
end record;
pragma Atomic (Rec);
function Conv is new Unchecked_Conversion (Uint32, Rec);
function F return Uint32;
pragma Import (Ada, F);
procedure Proc (R : Rec) is begin null; end;
begin
Proc (Conv (F or 1));
end;
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