2017-03-20 Martin Liska <mliska@suse.cz>
PR target/79769
PR target/79770
* tree-chkp.c (chkp_find_bounds_1): Handle REAL_CST,
COMPLEX_CST and VECTOR_CST.
2017-03-20 Martin Liska <mliska@suse.cz>
PR target/79769
PR target/79770
* g++.dg/pr79769.C: New test.
* gcc.target/i386/mpx/pr79770.c: New test.
From-SVN: r246275
+2017-03-20 Martin Liska <mliska@suse.cz>
+
+ PR target/79769
+ PR target/79770
+ * tree-chkp.c (chkp_find_bounds_1): Handle REAL_CST,
+ COMPLEX_CST and VECTOR_CST.
+
2017-03-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
PR target/78857
+2017-03-20 Martin Liska <mliska@suse.cz>
+
+ PR target/79769
+ PR target/79770
+ * g++.dg/pr79769.C: New test.
+ * gcc.target/i386/mpx/pr79770.c: New test.
+
2017-03-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
PR target/78857
--- /dev/null
+/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && { ! x32 } } } } */
+/* { dg-options "-fcheck-pointer-bounds -mmpx -mabi=ms" } */
+
+void a (_Complex) { a (3); }
--- /dev/null
+/* { dg-do compile { target lp64 } } */
+/* { dg-options "-fcheck-pointer-bounds -mmpx -mabi=ms -Wno-psabi" } */
+
+typedef unsigned U __attribute__ ((vector_size (64)));
+typedef unsigned __int128 V __attribute__ ((vector_size (64)));
+
+static inline V
+bar (U u, U x, V v)
+{
+ v = (V)(U) { 0, ~0 };
+ v[x[0]] <<= u[-63];
+ return v;
+}
+
+V
+foo (U u)
+{
+ return bar (u, (U) {}, (V) {});
+}
break;
case INTEGER_CST:
+ case COMPLEX_CST:
+ case VECTOR_CST:
if (integer_zerop (ptr_src))
bounds = chkp_get_none_bounds ();
else