This is the mail archive of the
cygwin-apps@cygwin.com
mailing list for the Cygwin project.
-fnative-structure revisited.
- From: Danny Smith <danny_r_smith_2001 at yahoo dot co dot nz>
- To: cygwin-apps <cygwin-apps at cygwin dot com>, mingw-dvlpr <mingw-dvlpr at lists dot sourceforge dot net>
- Cc: donn at interix dot com
- Date: Thu, 21 Mar 2002 18:36:33 +1100 (EST)
- Subject: -fnative-structure revisited.
I just stumbled across this is gcc 3.1 changelog:
2002-02-05 Alexandre Oliva <aoliva@redhat.com>
* target.h (struct gcc_target): Added ms_bitfield_layout_p.
* target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
(TARGET_INITIALIZER): this.
* doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
(BITFIELD_NBYTES_LIMITED): Markup fix.
* tree.h (default_ms_bitfield_layout_p): Declare.
(record_layout_info): Added prev_field.
* tree.c (default_ms_bitfield_layout_p): New fn.
* c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
* stor-layout.c: Include target.h.
(start_record_layout): Initialize prev_field.
(place_field): Handle MS bit-field layout, and disregard
EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
* Makefile.in (stor-layout.o): Adjust dependencies.
Essentially, it provides a hook to do what Donn Terry's -fnative-struct
patch did. Has anyone tested this yet on cygwin or mingw? AFAICT, the
only target to use a non-default version of this hook is sh (see
config/sh/sh.c)
I haven't worked through how to implement. I won't worry yet about
applying MS-bit-field layout on structure-by-structure basis (as in Donn's
patch), but that option needs to be kept open.
Danny
Danny
http://movies.yahoo.com.au - Yahoo! Movies
- Vote for your nominees in our online Oscars pool.