On 04/04/2017 09:07 AM, Alexander Ivchenko wrote:
Hi,

When creating static bounds for foo below we end up with:

*((unsigned long *) &__chkp_bounds_of_foo + 8) =
~(__builtin_ia32_sizeof (foo) + ((long unsigned int) &foo +
18446744073709551615));

This fails in gimplify_function_tree with gcc_assert (!VOID_TYPE_P
(TREE_TYPE (*expr_p)));

Is it OK?

gcc/ChangeLog:

2017-04-04  Alexander Ivchenko  <aivch...@gmail.com>

        * tree-chkp.c (chkp_get_bounds_for_decl_addr):
assigning zero bounds to void variables


gcc/testsuite/ChangeLog:

2017-04-04  Alexander Ivchenko  <aivch...@gmail.com>

        * gcc.target/i386/mpx/PR79987.c: New test.
I've put this (and other CHKP fixes) in the queue for gcc-8 as AFAICT it's not a regression.

Jeff

Reply via email to