(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
Warray-bounds-36.c
       1  /* PR tree-optimization/84053] missing -Warray-bounds accessing
       2     a local array across inlined function boundaries
       3     { dg-do compile }
       4     { dg-options "-O2 -Wall" } */
       5  
       6  static int deref (const int *p, int i)
       7  {
       8    return p[i];                // { dg-warning "array subscript \\\[3, \[0-9\]+] is outside array bounds of .int\\\[2\\\]." "ilp32" { xfail ilp32 } }
       9  
      10    // There should also be an inlining context here.  PR 86650 tracks
      11    // its absence.
      12  }
      13  
      14  static int deref_3_plus (const int *p, int i)
      15  {
      16    if (i < 3)
      17      i = 3;
      18  
      19    return deref (p, i);
      20  }
      21  
      22  int deref_a (int i)
      23  {
      24    int a[] = { 2, 3 };
      25  
      26    return deref_3_plus (a, i);
      27  }