Attached patch adds the testcase from (fixed) PR 78248.
2016-11-13 Uros Bizjak <[email protected]>
PR rtl-optimization/78232
PR rtl-optimization/78248
* gcc.dg/ubsan/pr78248.c: New test.
Tested on x86_64-linux-gnu {,-m32} and committed to mainline SVN.
Uros.
Index: gcc.dg/ubsan/pr78248.c
===================================================================
--- gcc.dg/ubsan/pr78248.c (nonexistent)
+++ gcc.dg/ubsan/pr78248.c (working copy)
@@ -0,0 +1,31 @@
+/* PR rtl-optimization/78232 */
+/* PR rtl-optimization/78248 */
+/* { dg-do run } */
+/* { dg-options "-fsanitize=undefined" } */
+
+static struct S
+{
+ int f0:15;
+} a;
+
+int b[1], c = 2, d, e, f, g;
+
+int main ()
+{
+ struct S h = { -2 };
+ for (; e < 640; e++)
+ for (; f < 1; f++)
+ {
+ if (c < 2)
+ {
+ d = b[e];
+ h = a;
+ }
+ g = c;
+ c = 1;
+ if (!h.f0)
+ break;
+ c = g;
+ }
+ return 0;
+}