Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/pr34263.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* { dg-do run } */ /* { dg-options "-O2 -fdump-tree-optimized" } */ /* Same test as 990128-1.c. */ extern int printf (const char *,...); extern void abort (void); 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 ); int 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 (); return( 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 ); } /* { dg-final { scan-tree-dump "Cleaned-up latch block of loop with single BB" "optimized" { xfail { *-*-* } } } } */