diff mbox

Fix PR80880

Message ID alpine.LSU.2.20.1705311408070.20726@zhemvz.fhfr.qr
State New
Headers show

Commit Message

Richard Biener May 31, 2017, 12:08 p.m. UTC
Approved by Ilya in the PR.

Bootstrapped / tested on x86_64-unknown-linux-gnu, applied.

Richard.

2017-05-31  Richard Biener  <rguenther@suse.de>

	PR target/80880
	* config/i386/i386.c (ix86_expand_builtin): Remove assert
	for arg being an SSA name when expanding IX86_BUILTIN_BNDRET.

	* gcc.target/i386/pr80880.c: New testcase.
diff mbox

Patch

Index: gcc/config/i386/i386.c
===================================================================
--- gcc/config/i386/i386.c	(revision 248722)
+++ gcc/config/i386/i386.c	(working copy)
@@ -37584,7 +37584,6 @@  ix86_expand_builtin (tree exp, rtx targe
 
     case IX86_BUILTIN_BNDRET:
       arg0 = CALL_EXPR_ARG (exp, 0);
-      gcc_assert (TREE_CODE (arg0) == SSA_NAME);
       target = chkp_get_rtl_bounds (arg0);
 
       /* If no bounds were specified for returned value,
Index: gcc/testsuite/gcc.target/i386/pr80880.c
===================================================================
--- gcc/testsuite/gcc.target/i386/pr80880.c	(revision 0)
+++ gcc/testsuite/gcc.target/i386/pr80880.c	(working copy)
@@ -0,0 +1,10 @@ 
+/* PR target/65523 */
+/* { dg-do compile { target { ! x32 } } } */
+/* { dg-options "-O -fcheck-pointer-bounds -mmpx" } */
+
+int *fn1()
+{
+  int *r = fn1();
+  if (r == (void *)0)
+    return r;
+}