1  #include <stdlib.h>
       2  
       3  int t[] = { 1, 2, 3, 4, 5, 6, 7 };
       4  int expect[] = { 1, 3, 6, 10, 15, 21, 28, 29, 31, 34, 38, 43, 49, 56 };
       5  
       6  int foo (int n)
       7  {
       8      int *p = t;
       9      int sum = 0;
      10      int i;
      11      for (i = 0; i < n; i++) {
      12  	sum += *p;
      13  	p = __builtin_bfin_circptr (p, sizeof *p, t, sizeof t);
      14      }
      15      return sum;
      16  }
      17  
      18  int main ()
      19  {
      20      int i;
      21      int *p = expect;
      22      for (i = 0; i < 14; i++) {
      23  	int sum = foo (i + 1);
      24  	if (sum != *p)
      25  	    abort ();
      26  	p = __builtin_bfin_circptr (p, sizeof *p, expect, sizeof expect);
      27      }
      28      return 0;
      29  }