diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index abc4487ae9e..20ce19aba55 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +Fri Jun 19 23:26:12 1998 Bruno Haible + + * gcc.misc-tests/m-un-2.c: New test. + * g++.old-deja/g++.other/warn01.c: Likewise. + Fri Jun 19 14:06:36 1998 Robert Lipe * gcc.dg/980414-1.c: Move comments outside of ASM to improve diff --git a/gcc/testsuite/g++.old-deja/g++.other/warn01.C b/gcc/testsuite/g++.old-deja/g++.other/warn01.C new file mode 100644 index 00000000000..229363a3ec0 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.other/warn01.C @@ -0,0 +1,15 @@ +// Build don't link: +// Special g++ Options: -W -Wall + +typedef unsigned long size_t; +extern void* malloc (size_t); +extern void free (void*); +extern void* realloc (void*, size_t); + +struct vtable { + void* (* _malloc) (size_t); + void (* _free) (void*); + void* (* _realloc) (void*, size_t); +}; + +struct vtable mtable = { malloc, free }; // WARNING - _realloc diff --git a/gcc/testsuite/gcc.misc-tests/m-un-2.c b/gcc/testsuite/gcc.misc-tests/m-un-2.c new file mode 100644 index 00000000000..8c3a8bce76e --- /dev/null +++ b/gcc/testsuite/gcc.misc-tests/m-un-2.c @@ -0,0 +1,29 @@ +/* { dg-do compile } */ +/* { dg-options "-W -Wall" } */ + +typedef unsigned long size_t; +extern void* malloc (size_t); +extern void free (void*); +extern void* realloc (void*, size_t); + +struct vtable { + void* (* _malloc) (size_t); + void (* _free) (void*); + void* (* _realloc) (void*, size_t); +}; + +struct vtable mtable = { + malloc, + free +}; /* { dg-warning "missing initializer for `mtable._realloc'" "warning regression" } */ + +struct vtable mtable2 = { + ._malloc = malloc, + ._realloc = realloc +}; /* { dg-warning "missing initializer for `mtable2._free'" "warning regression" } */ + +struct vtable mtable3 = { + ._free = free, + ._malloc = malloc, + ._realloc = realloc +};