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]

[ob] fix mingw compilation


At the moment, mainline does not build for mingw, because:

	1. Compiler flags include -Wdeclaration-after-statement and
	-Werror
	2. ser-mingw32.c has some declarations in the middle of
	functions.

This patch fixes it, committed as obvious.

- Volodya

Index: ChangeLog
===================================================================
RCS file: /cvs/src/src/gdb/ChangeLog,v
retrieving revision 1.8147
diff -u -p -r1.8147 ChangeLog
--- ChangeLog	29 Jan 2007 17:31:05 -0000	1.8147
+++ ChangeLog	30 Jan 2007 09:12:07 -0000
@@ -1,3 +1,9 @@
+2006-01-30  Vladimir Prus  <vladimir@codesourcery.com>
+
+	* ser-mingw.c (pipe_windows_open)
+	(pipe_windows_read, pipe_windows_write): Declare
+	variables at the top of the function.
+
 2007-01-29  Daniel Jacobowitz  <dan@codesourcery.com>
 
 	* doublest.c (floatformat_from_length): Use the right element from
Index: ser-mingw.c
===================================================================
RCS file: /cvs/src/src/gdb/ser-mingw.c,v
retrieving revision 1.5
diff -u -p -r1.5 ser-mingw.c
--- ser-mingw.c	9 Jan 2007 17:58:58 -0000	1.5
+++ ser-mingw.c	30 Jan 2007 09:12:08 -0000
@@ -696,12 +696,15 @@ cleanup_pipe_state (void *untyped)
 static int
 pipe_windows_open (struct serial *scb, const char *name)
 {
+  struct pipe_state *ps;
+
   char **argv = buildargv (name);
   struct cleanup *back_to = make_cleanup_freeargv (argv);
   if (! argv[0] || argv[0][0] == '\0')
     error ("missing child command");
 
-  struct pipe_state *ps = make_pipe_state ();
+
+  ps = make_pipe_state ();
   make_cleanup (cleanup_pipe_state, ps);
 
   ps->pex = pex_init (PEX_USE_PIPES, "target remote pipe", NULL);
@@ -765,18 +768,20 @@ pipe_windows_close (struct serial *scb)
 static int
 pipe_windows_read (struct serial *scb, size_t count)
 {
-  HANDLE pipeline_out = (HANDLE) _get_osfhandle (scb->fd);
+  HANDLE pipeline_out;
+  DWORD available;
+  DWORD bytes_read;
+
+  pipeline_out = (HANDLE) _get_osfhandle (scb->fd);
   if (pipeline_out == INVALID_HANDLE_VALUE)
     return -1;
 
-  DWORD available;
   if (! PeekNamedPipe (pipeline_out, NULL, 0, NULL, &available, NULL))
     return -1;
 
   if (count > available)
     count = available;
 
-  DWORD bytes_read;
   if (! ReadFile (pipeline_out, scb->buf, count, &bytes_read, NULL))
     return -1;
 
@@ -788,15 +793,17 @@ static int
 pipe_windows_write (struct serial *scb, const void *buf, size_t count)
 {
   struct pipe_state *ps = scb->state;
+  HANDLE pipeline_in;
+  DWORD written;
+
   int pipeline_in_fd = fileno (ps->input);
   if (pipeline_in_fd < 0)
     return -1;
 
-  HANDLE pipeline_in = (HANDLE) _get_osfhandle (pipeline_in_fd);
+  pipeline_in = (HANDLE) _get_osfhandle (pipeline_in_fd);
   if (pipeline_in == INVALID_HANDLE_VALUE)
     return -1;
 
-  DWORD written;
   if (! WriteFile (pipeline_in, buf, count, &written, NULL))
     return -1;
 

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