cond1.C   [plain text]


// { dg-do run }

// Copyright (C) 2001 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 17 Oct 2002 <nathan@codesourcery.com>

// PR 7209. We didn't SAVE_EXPR in the right place

char a[2][1][16]={
  {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}},
  {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}};

int f() {return 0;}

char * Foo (int d)
{
  char *c1;

  c1=a[d==0 ? 0 : 1][f()];

  return c1;
}

int main ()
{
  if (Foo (0) != (void *)a)
    return 1;
  return 0;
}