URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [gcc.c-torture/] [execute/] [990128-1.c] - Rev 301
Go to most recent revision | Compare with Previous | Blame | View Log
extern int printf (const char *,...); struct s { struct s *n; } *p; struct s ss; #define MAX 10 struct s sss[MAX]; int count = 0; void sub( struct s *p, struct s **pp ); int look( struct s *p, struct s **pp ); main() { struct s *pp; struct s *next; int i; p = &ss; next = p; for ( i = 0; i < MAX; i++ ) { next->n = &sss[i]; next = next->n; } next->n = 0; sub( p, &pp ); if (count != MAX+2) abort (); exit( 0 ); } void sub( struct s *p, struct s **pp ) { for ( ; look( p, pp ); ) { if ( p ) p = p->n; else break; } } int look( struct s *p, struct s **pp ) { for ( ; p; p = p->n ) ; *pp = p; count++; return( 1 ); }
Go to most recent revision | Compare with Previous | Blame | View Log