diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 382b5196762..14eca6cee3b 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2000-11-18 Franz Sirl + + * gcc.c-torture/execute/20001115-1.c: Don't access nonexistant + memory. + 2000-11-17 Nathan Sidwell * g++.old-deja/g++.pt/instantiate8.C: New test. diff --git a/gcc/testsuite/gcc.c-torture/execute/20001115-1.c b/gcc/testsuite/gcc.c-torture/execute/20001115-1.c index 0e34614b1d5..632ad4bc09e 100644 --- a/gcc/testsuite/gcc.c-torture/execute/20001115-1.c +++ b/gcc/testsuite/gcc.c-torture/execute/20001115-1.c @@ -1,28 +1,32 @@ extern void abort (void); extern void exit (int); -struct iso_directory_record { +union iso_directory_record { + char carr[4]; + struct { unsigned char name_len [1]; char name [0]; + } u; } entry; -void set(struct iso_directory_record *); +void set(union iso_directory_record *); int main (void) { - struct iso_directory_record *de; + union iso_directory_record *de; de = &entry; set(de); - if (de->name_len[0] == 1 && de->name[0] == 0) + if (de->u.name_len[0] == 1 && de->u.name[0] == 0) exit (0); else abort (); } -void set (struct iso_directory_record *p) +void set (union iso_directory_record *p) { - p->name_len[0] = 1; + p->carr[0] = 1; + p->carr[1] = 0; return; }