Mercurial > hg > CbC > CbC_gcc
view libgomp/testsuite/libgomp.c/pr46193.c @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
line wrap: on
line source
/* { dg-do run } */ /* { dg-additional-options "-ftree-parallelize-loops=2" } */ extern void abort (void); char * foo (int count, char **list) { char *minaddr = list[0]; int i; for (i = 0; i < count; i++) { char *addr = list[i]; if (addr < minaddr) minaddr = addr; } return minaddr; } char * foo2 (int count, char **list) { char *maxaddr = list[0]; int i; for (i = 0; i < count; i++) { char *addr = list[i]; if (addr > maxaddr) maxaddr = addr; } return maxaddr; } #define N 5 static void init (char **list) { int i; for (i = 0; i < N; ++i) list[i] = (char *)&list[i]; } int main (void) { char *list[N]; char * res; init (list); res = foo (N, list); if (res != (char *)&list[0]) abort (); res = foo2 (N, list); if (res != (char *)&list[N-1]) abort (); return 0; }