URL
https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk
Subversion Repositories openrisc_2011-10-31
[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [gcc.dg/] [vla-16.c] - Rev 298
Compare with Previous | Blame | View Log
/* Test for modifying and taking addresses of compound literals whose variably modified types involve typeof. */ /* Origin: Joseph Myers <joseph@codesourcery.com> */ /* { dg-do run } */ /* { dg-options "-std=gnu99" } */ #include <stdarg.h> extern void exit (int); extern void abort (void); int a[1]; void f1 (void) { int i = 0; int (**p)[1] = &(typeof (++i, (int (*)[i])a)){&a}; if (*p != &a) abort (); if (i != 1) abort (); } void f2 (void) { int i = 0; (typeof (++i, (int (*)[i])a)){&a} = 0; if (i != 1) abort (); } void f3 (void) { int i = 0; (typeof (++i, (int (*)[i])a)){&a} += 1; if (i != 1) abort (); } void f4 (void) { int i = 0; --(typeof (++i, (int (*)[i])a)){&a + 1}; if (i != 1) abort (); } void f5 (void) { int i = 0; (typeof (++i, (int (*)[i])a)){&a}++; if (i != 1) abort (); } int main (void) { f1 (); f2 (); f3 (); f4 (); f5 (); exit (0); }