Attached patch adds the testcase from (fixed) PR 78248. 2016-11-13 Uros Bizjak <ubiz...@gmail.com>
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; +}