I just stumbled across this is gcc 3.1 changelog:

2002-02-05  Alexandre Oliva  <[EMAIL PROTECTED]>

        * 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.

Reply via email to