/* PR tree-optimization/84053] missing -Warray-bounds accessing a local array across inlined function boundaries { dg-do compile } { dg-options "-O2 -Wall" } */ static int deref (const int *p, int i) { return p[i]; // { dg-warning "array subscript \\\[3, \[0-9\]+] is outside array bounds of .int\\\[2\\\]." "ilp32" { xfail ilp32 } } // There should also be an inlining context here. PR 86650 tracks // its absence. } static int deref_3_plus (const int *p, int i) { if (i < 3) i = 3; return deref (p, i); } int deref_a (int i) { int a[] = { 2, 3 }; return deref_3_plus (a, i); }