ada-tree.h (DECL_CAN_NEVER_BE_NULL_P): New macro.
authorEric Botcazou <ebotcazou@adacore.com>
Mon, 26 Sep 2011 08:26:37 +0000 (08:26 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Mon, 26 Sep 2011 08:26:37 +0000 (08:26 +0000)
commita1c7d7973c44afbee5e1251b200cc6e7a27409b1
tree0bbfdf9e810f8a0d87f499a7747d27b4dadc2da4
parent20633efc34fadc76b339620c2d37f3c12231c40a
ada-tree.h (DECL_CAN_NEVER_BE_NULL_P): New macro.

* gcc-interface/ada-tree.h (DECL_CAN_NEVER_BE_NULL_P): New macro.
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Set the flag.
(gnat_to_gnu_param): Likewise.
* gcc-interface/utils.c (convert) <UNCONSTRAINED_ARRAY_REF>: Invoke
maybe_unconstrained_array instead of doing the work manually.
(maybe_unconstrained_array): Propagate the TREE_THIS_NOTRAP flag.
* gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: If operand
is a DECL with the flag, set TREE_THIS_NOTRAP on the reference.
(gnat_stabilize_reference_1): Propagate the TREE_THIS_NOTRAP flag.
(gnat_stabilize_reference): Likewise.

From-SVN: r179182
gcc/ada/ChangeLog
gcc/ada/gcc-interface/ada-tree.h
gcc/ada/gcc-interface/decl.c
gcc/ada/gcc-interface/utils.c
gcc/ada/gcc-interface/utils2.c