don't allocate serial_ops
authorTom Tromey <tromey@redhat.com>
Fri, 6 Dec 2013 18:34:49 +0000 (11:34 -0700)
committerTom Tromey <tromey@redhat.com>
Thu, 19 Dec 2013 15:50:48 +0000 (08:50 -0700)
commit12e8c7d7c2af309b8fd6bf0f61e99b0a6aad4c80
treee0dffbb79fb883c98ebbcac865ab686ca74d36cf
parentfcd488ca4e57141ac8ad28b6a5f560f3b9753a67
don't allocate serial_ops

Now that struct serial_ops is const everywhere, we can easily turn the
instances into globals.  This patch implements this idea.

On the one hand I think this is nicer since it makes a bit more data
readonly and slightly reduces allocations.  On the other hand it
reduces readability somewhat.

If the readability is a concern to anyone I was thinking I could write
a macro that conditionally uses GCC's designated initializer
extension.

Tested by rebuilding on x86-64 Fedora 18, both natively and using the
mingw cross tools.

2013-12-19  Tom Tromey  <tromey@redhat.com>

* ser-unix.c (hardwire_ops): New global.
(_initialize_ser_hardwire): Use it.
* ser-tcp.c (tcp_ops): New global.
(_initialize_ser_tcp): Use it.
* ser-pipe.c (pipe_ops): New global.
(_initialize_ser_pipe): Use it.
* ser-mingw.c (hardwire_ops, tty_ops, pipe_ops, tcp_ops): New
globals.
(_initialize_ser_windows): Use them.
gdb/ChangeLog
gdb/ser-mingw.c
gdb/ser-pipe.c
gdb/ser-tcp.c
gdb/ser-unix.c