mirror of git://gcc.gnu.org/git/gcc.git
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
This commit is contained in:
parent
e6026dc04c
commit
77db6c1549
|
|
@ -1,3 +1,9 @@
|
||||||
|
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.
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,8 @@
|
||||||
|
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>
|
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.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
/* { 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,
|
||||||
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)))
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue