aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-chkp.c
diff options
context:
space:
mode:
authorIlya Enkovich <enkovich.gnu@gmail.com>2015-06-18 10:14:38 +0000
committerIlya Enkovich <ienkovich@gcc.gnu.org>2015-06-18 10:14:38 +0000
commit855f036dcc09c3c0a7718bdcb0fd4125b57c1dce (patch)
tree555dbafe475f14c973a8d7cf45e60c09bd75dc1f /gcc/tree-chkp.c
parent847ffe1718d3eac1a1e605686e8bb27b25969ef0 (diff)
downloadgcc-855f036dcc09c3c0a7718bdcb0fd4125b57c1dce.zip
gcc-855f036dcc09c3c0a7718bdcb0fd4125b57c1dce.tar.gz
gcc-855f036dcc09c3c0a7718bdcb0fd4125b57c1dce.tar.bz2
re PR middle-end/66568 ([CHKP] internal compiler error: in expand_expr_addr_expr_1)
gcc/ PR middle-end/66568 * cfgexpand.c (expand_return): Handle missing bounds. (expand_gimple_stmt_1): Likewise. * tree-chkp.c (chkp_expand_zero_bounds): New. * tree-chkp.h (chkp_expand_zero_bounds): New. gcc/testsuite/ PR middle-end/66568 * gcc.target/i386/mpx/pr66568.c: New test. From-SVN: r224601
Diffstat (limited to 'gcc/tree-chkp.c')
-rw-r--r--gcc/tree-chkp.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/tree-chkp.c b/gcc/tree-chkp.c
index ed734e6..7ffec7b 100644
--- a/gcc/tree-chkp.c
+++ b/gcc/tree-chkp.c
@@ -466,6 +466,21 @@ chkp_gimple_call_builtin_p (gimple call,
return false;
}
+/* Emit code to build zero bounds and return RTL holding
+ the result. */
+rtx
+chkp_expand_zero_bounds ()
+{
+ tree zero_bnd;
+
+ if (flag_chkp_use_static_const_bounds)
+ zero_bnd = chkp_get_zero_bounds_var ();
+ else
+ zero_bnd = chkp_build_make_bounds_call (integer_zero_node,
+ integer_zero_node);
+ return expand_normal (zero_bnd);
+}
+
/* Emit code to store zero bounds for PTR located at MEM. */
void
chkp_expand_bounds_reset_for_mem (tree mem, tree ptr)