URL
https://opencores.org/ocsvn/scarts/scarts/trunk
Subversion Repositories scarts
[/] [scarts/] [trunk/] [toolchain/] [scarts-gcc/] [gcc-4.1.1/] [gcc/] [testsuite/] [gcc.dg/] [tree-ssa/] [pr21985.c] - Rev 12
Compare with Previous | Blame | View Log
/* { dg-do compile } */ /* { dg-options "-O1 -fdump-tree-vars" } */ struct { struct { int a; int b; } a[100]; } a; typedef __SIZE_TYPE__ size_t; void foo(size_t); size_t *bar (void); int main (void) { size_t *b = bar (); /* This should be folded. */ foo (&a.a[50].a - &a.a[33].b); foo ((size_t) &a.a[50].b - (size_t) &a); /* And this should not. */ foo ((size_t) &b - (size_t) b); return 0; } /* Two of the calls to foo should be folded to just foo(constant). */ /* { dg-final { scan-tree-dump-times "foo \\(\[0-9\]*\\)" 2 "vars" } } */ /* { dg-final { cleanup-tree-dump "vars" } } */