Commit f8125f0c by Eric Botcazou Committed by Eric Botcazou

* gcc-interface/utils2.c (gnat_invariant_expr): Add type conversions.

From-SVN: r231063
parent 14ecca2e
2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/utils2.c (gnat_invariant_expr): Add type conversions.
2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/ada-tree.h (TYPE_MAX_ALIGN): New macro.
* gcc-interface/decl.c (gnat_to_gnu_entity): Do not set PACKED to -2.
Remove obsolete code setting the alignment on some atomic types.
......
......@@ -2860,7 +2860,9 @@ gnat_invariant_expr (tree expr)
tree op0 = gnat_invariant_expr (TREE_OPERAND (expr, 0));
tree op1 = TREE_OPERAND (expr, 1);
if (op0 && TREE_CONSTANT (op1))
return fold_build2 (TREE_CODE (expr), type, op0, op1);
return
fold_build2 (TREE_CODE (expr), type,
fold_convert (type, op0), fold_convert (type, op1));
else
return NULL_TREE;
}
......
2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/loop_optimization22.ad[sb]: New test.
2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/specs/rep_clause5.ads: New test.
2015-11-29 Jan Hubicka <hubicka@ucw.cz>
......
-- { dg-do compile }
-- { dg-options "-O" }
pragma Overflow_Mode (Minimized);
package body Loop_Optimization22 is
procedure Foo (X : Discrim_Type) is
H : array (1 .. Integer (X.Count) + 1) of Float;
begin
for I in 1 .. X.Count loop
H (Integer(I) + 1):= 0.0;
end loop;
end;
end Loop_Optimization22;
package Loop_Optimization22 is
type Discrim_Type (Count : Positive) is null record;
procedure Foo (X : Discrim_Type);
end Loop_Optimization22;
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