diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/vect/pr28952.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/vect/pr28952.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/vect/pr28952.c b/gcc/testsuite/gcc.dg/vect/pr28952.c new file mode 100644 index 000000000..7305e607c --- /dev/null +++ b/gcc/testsuite/gcc.dg/vect/pr28952.c @@ -0,0 +1,31 @@ +/* { dg-do compile } */ + +/* We were ICE because we wanted to check the type of the + elements of a conditional before we knew it was a conditional. */ + +struct player_spaceship +{ + _Bool structure[32]; +}; +struct player +{ + struct player_spaceship spaceship; +}; +struct packet_spaceship_info +{ + char structure[32 + 1]; +}; +send_spaceship_info (void) +{ + int j; + struct player *pplayer; + struct packet_spaceship_info info; + struct player_spaceship *ship = &pplayer->spaceship; + for (j = 0; j < 32; j++) + { + info.structure[j] = ship->structure[j] ? '1' : '0'; + } + lsend_packet_spaceship_info (&info); +} + +/* { dg-final { cleanup-tree-dump "vect" } } */ |