28 lines
628 B
C
28 lines
628 B
C
/* 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);
|
|
}
|