blob: 6abb56edba31da3265cd2540185b5000591557de [file] [log] [blame]
/* { dg-do run { target *-*-linux* *-*-gnu* *-*-uclinux* } } */
#include <sys/mman.h>
#include <unistd.h>
int a, c[3][5];
void __attribute__((noipa))
fn1 (int * __restrict b)
{
int e;
for (a = 2; a >= 0; a--)
for (e = 0; e < 4; e++)
c[a][e] = b[a];
}
int main()
{
long pgsz = sysconf (_SC_PAGESIZE);
void *p = mmap (NULL, pgsz * 2, PROT_READ|PROT_WRITE,
MAP_ANONYMOUS|MAP_PRIVATE, 0, 0);
if (p == MAP_FAILED)
return 0;
mprotect (p, pgsz, PROT_NONE);
fn1 (p + pgsz);
return 0;
}