This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [patch/rfc] Test struct0
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: gdb-patches at sources dot redhat dot com
- Date: Tue, 3 Feb 2004 19:46:20 -0500
- Subject: Re: [patch/rfc] Test struct0
- References: <40203797.8010607@gnu.org>
On Tue, Feb 03, 2004 at 07:06:47PM -0500, Andrew Cagney wrote:
> Hello,
>
> This adds a test for:
>
> struct foo0 { };
>
> to the structs.exp testcase (I'm assuming that this is legal ISO-C), it
Nope.
struct-or-union-specifier:
struct-or-union identifier-opt { struct-declaration-list }
struct-or-union identifier
struct-or-union:
struct
union
struct-declaration-list:
struct-declaration
struct-declaration-list struct-declaration
struct-declaration:
specifier-qualifier-list struct-declarator-list ;
So there must be a minimum of one declarator and trailing semicolon
inside the braces. GCC will warn about this if you ask it to - it's
probably -ansi, or -std=c89 -ansi -pedantic.
While it's not legal C, I believe that it is legal C++.
> passes on PPC with stabs with:
>
> >(gdb) PASS: gdb.base/structs.exp: ptype foo1; structs-tc
> >p/c fun0()
> >$1 = {<No data fields>}
>
> Tt was intended for completness, however with a dwarf2 compiler:
>
> amd64$ gcc --version
> gcc (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-24)
>
> >(gdb) PASS: gdb.base/structs.exp: ptype foo1; structs-tc
> >p/c fun0()
> >$1 = <incomplete type>
>
> I guess I should file a bug report and kfail it?
If you want to add the test anyway and run it where it compiles, then
yeah. I assume this runs afoul of the handling for declarations/opaque
types. It would be nice to support it even if it's a GNU extension.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer