// { dg-do run } // Copyright (C) 2001 Free Software Foundation, Inc. // Contributed by Nathan Sidwell 17 Oct 2002 // 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; }