/* { 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" } } */
