This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch] Fix Sun compiler compat. for empty structs (PR build/14003)


Hi,

build fails on solaris in infrun.c because of empty inferior_suspend_state struct
http://sourceware.org/bugzilla/show_bug.cgi?id=14003

I do not think the struct should be completely removed as it may suggest where
is appropriate to put some possible new fields.

Tom suggested putting there 'char dummy;' but this degrade normal systems
because of some worse systems.

Providing autoconf check for it seems excessive for me.

Any style issues with this fix?


Thanks,
Jan


2012-06-12  Jan Kratochvil  <jan.kratochvil@redhat.com>

	PR build/14003
	* inferior.h (struct inferior_suspend_state): Comment out.
	(struct inferior): Comment out the field suspend.
	* infrun.c (struct infcall_suspend_state): Comment out the field
	inferior_suspend.
	(save_infcall_suspend_state, restore_infcall_suspend_state): Comment
	out its assignment.

diff --git a/gdb/inferior.h b/gdb/inferior.h
index dfcbda4..c4ad434 100644
--- a/gdb/inferior.h
+++ b/gdb/inferior.h
@@ -395,11 +395,13 @@ struct inferior_control_state
 
 /* Inferior process specific part of `struct infcall_suspend_state'.
 
-   Inferior thread counterpart is `struct thread_suspend_state'.  */
+   Inferior thread counterpart is `struct thread_suspend_state'.
 
 struct inferior_suspend_state
 {
+  Currently unused and some compilers do not accept empty structures.
 };
+ */
 
 /* GDB represents the state of each program execution with an object
    called an inferior.  An inferior typically corresponds to a process
@@ -430,8 +432,11 @@ struct inferior
   struct inferior_control_state control;
 
   /* State of inferior process to restore after GDB is done with an inferior
-     call.  See `struct inferior_suspend_state'.  */
+     call.  See `struct inferior_suspend_state'.
+
+     Currently unused and some compilers do not accept empty structures.
   struct inferior_suspend_state suspend;
+   */
 
   /* True if this was an auto-created inferior, e.g. created from
      following a fork; false, if this inferior was manually added by
diff --git a/gdb/infrun.c b/gdb/infrun.c
index b98e379..81182c2 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -6639,7 +6639,10 @@ siginfo_make_value (struct gdbarch *gdbarch, struct internalvar *var,
 struct infcall_suspend_state
 {
   struct thread_suspend_state thread_suspend;
+
+  /* Currently unused and some compilers do not accept empty structures.
   struct inferior_suspend_state inferior_suspend;
+   */
 
   /* Other fields:  */
   CORE_ADDR stop_pc;
@@ -6693,7 +6696,10 @@ save_infcall_suspend_state (void)
     }
 
   inf_state->thread_suspend = tp->suspend;
+
+  /* Currently unused and some compilers do not accept empty structures.
   inf_state->inferior_suspend = inf->suspend;
+   */
 
   /* run_inferior_call will not use the signal due to its `proceed' call with
      GDB_SIGNAL_0 anyway.  */
@@ -6717,7 +6723,10 @@ restore_infcall_suspend_state (struct infcall_suspend_state *inf_state)
   struct gdbarch *gdbarch = get_regcache_arch (regcache);
 
   tp->suspend = inf_state->thread_suspend;
+
+  /* Currently unused and some compilers do not accept empty structures.
   inf->suspend = inf_state->inferior_suspend;
+   */
 
   stop_pc = inf_state->stop_pc;
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]