Share vtables instead of replicating them for each unit.
commit292d5498304b03ca9b9b983251f8b2a1d39aa208
authorjb <jb@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 16 Mar 2012 08:30:26 +0000 (16 08:30 +0000)
committerjb <jb@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 16 Mar 2012 08:30:26 +0000 (16 08:30 +0000)
treea57a717a913b31ddd91e573fff313fe1d159570e
parentfb1fb9d37b1abdacc79acbf6f0eb6818db0c1c3d
Share vtables instead of replicating them for each unit.

2012-03-16  Janne Blomqvist  <jb@gcc.gnu.org>

* io/unix.h (struct stream): Rename to stream_vtable.
(struct stream): New struct definition.
(sread): Dereference vtable pointer.
(swrite): Likewise.
(sseek): Likewise.
(struncate): Likewise.
(sflush): Likewise.
(sclose): Likewise.
* io/unix.c (raw_vtable): New variable.
(buf_vtable): Likewise.
(mem_vtable): Likewise.
(mem4_vtable): Likewise.
(raw_init): Assign vtable pointer.
(buf_init): Likewise.
(open_internal): Likewise.
(open_internal4): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185454 138bc75d-0d04-0410-961f-82ee72b054a4
libgfortran/ChangeLog
libgfortran/io/unix.c
libgfortran/io/unix.h