This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [Patch] Fix 'incomplete type' warning in dummy_frame.h
- From: David Daney <ddaney at avtrex dot com>
- To: Ulrich Weigand <uweigand at de dot ibm dot com>
- Cc: gdb-patches at sourceware dot org
- Date: Mon, 08 Sep 2008 08:36:13 -0700
- Subject: Re: [Patch] Fix 'incomplete type' warning in dummy_frame.h
- References: <200809081123.m88BNHHT030564@d12av02.megacenter.de.ibm.com>
Ulrich Weigand wrote:
> David Daney wrote:
>
>> Back on 2008-08-26, Ulrich Weigand added a declaration for
>> dummy_frame_pop to dummy_frame.h. This causes a fatal warning when I
>> build with gcc-3.4 targeting mipsel-linux-gnu because struct frame_id is
>> an incomplete type.
>>
>> Adding #include "frame.h" fixes the problem for me.
>
> Huh. Sorry for the breakage. Strange that this compiles without even
> a warning with GCC 4.1.1 ...
I think it may depend on the ABI. The calling convention for passing a
struct can vary depending on the size of the struct.
>
>> I'm don'e think I have write access to gdb (I do have it in binutils),
>> so if it is OK, someone will either have to commit it or turn on write
>> access for me.
>
> If you have access to binutils, you should also have access in GDB,
> as both actually reside in the same src repository.
>
You are correct. I added a new line after the #include and committed
this version:
2008-09-08 David Daney <ddaney@avtrex.com>
* dummy-frame.h (frame.h): Include it.
(struct frame_id): Remove declaration.
Index: dummy-frame.h
===================================================================
RCS file: /cvs/src/src/gdb/dummy-frame.h,v
retrieving revision 1.22
diff -u -p -r1.22 dummy-frame.h
--- dummy-frame.h 26 Aug 2008 17:40:24 -0000 1.22
+++ dummy-frame.h 8 Sep 2008 15:21:35 -0000
@@ -20,10 +20,11 @@
#if !defined (DUMMY_FRAME_H)
#define DUMMY_FRAME_H 1
+#include "frame.h"
+
struct frame_info;
struct regcache;
struct frame_unwind;
-struct frame_id;
/* Push the information needed to identify, and unwind from, a dummy
frame onto the dummy frame stack. */