Commit 77db6c15 by Alexander Ivchenko Committed by Alexander Ivchenko

re PR middle-end/79988 ([CHKP] ICE in tree check: accessed operand 5 of…

re PR middle-end/79988 ([CHKP] ICE in tree check: accessed operand 5 of call_expr with 4 operands in ix86_expand_builtin, at config/i386/i386.c:36851)


2017-06-08  Alexander Ivchenko  <alexander.ivchenko@intel.com>

       PR middle-end/79988
       * tree-chkp.c (chkp_gimple_call_builtin_p): Remove
       gimple_call_builtin_p call.

017-06-08  Alexander Ivchenko  <alexander.ivchenko@intel.com>

        PR middle-end/79988
        * gcc.target/i386/mpx/pr79988.c: New test.

From-SVN: r249023
parent e6026dc0
2017-06-08 Alexander Ivchenko <alexander.ivchenko@intel.com>
PR middle-end/79988
* tree-chkp.c (chkp_gimple_call_builtin_p): Remove
gimple_call_builtin_p call.
2017-06-08 Jan Hubicka <hubicka@ucw.cz> 2017-06-08 Jan Hubicka <hubicka@ucw.cz>
* system.h (fancy_abort): Annotate by ATTRIBUTE_COLD. * system.h (fancy_abort): Annotate by ATTRIBUTE_COLD.
......
2017-06-08 Alexander Ivchenko <alexander.ivchenko@intel.com> 2017-06-08 Alexander Ivchenko <alexander.ivchenko@intel.com>
PR middle-end/79988
* gcc.target/i386/mpx/pr79988.c: New test.
2017-06-08 Alexander Ivchenko <alexander.ivchenko@intel.com>
* gcc.target/i386/mpx/hard-reg-2-lbv.c: New test. * gcc.target/i386/mpx/hard-reg-2-lbv.c: New test.
* gcc.target/i386/mpx/hard-reg-2-nov.c: New test. * gcc.target/i386/mpx/hard-reg-2-nov.c: New test.
* gcc.target/i386/mpx/hard-reg-2-ubv.c: New test. * gcc.target/i386/mpx/hard-reg-2-ubv.c: New test.
......
/* { dg-do compile } */
/* { dg-options "-fcheck-pointer-bounds -mmpx" } */
void foo(unsigned char * __seg_gs *pointer_gs) {
pointer_gs[5] = 0;
}
...@@ -435,7 +435,11 @@ chkp_gimple_call_builtin_p (gimple *call, ...@@ -435,7 +435,11 @@ chkp_gimple_call_builtin_p (gimple *call,
enum built_in_function code) enum built_in_function code)
{ {
tree fndecl; tree fndecl;
if (gimple_call_builtin_p (call, BUILT_IN_MD) /* We are skipping the check for address-spaces, that's
why we don't use gimple_call_builtin_p directly here. */
if (is_gimple_call (call)
&& (fndecl = gimple_call_fndecl (call)) != NULL
&& DECL_BUILT_IN_CLASS (fndecl) == BUILT_IN_MD
&& (fndecl = targetm.builtin_chkp_function (code)) && (fndecl = targetm.builtin_chkp_function (code))
&& (DECL_FUNCTION_CODE (gimple_call_fndecl (call)) && (DECL_FUNCTION_CODE (gimple_call_fndecl (call))
== DECL_FUNCTION_CODE (fndecl))) == DECL_FUNCTION_CODE (fndecl)))
......
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