diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2002-02-05 18:01:51 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2002-02-05 18:01:51 +0000 |
commit | 1af6141b86cb39d14b4cda2f8aa7127642e9ffba (patch) | |
tree | 5df1594a465e2456a5f185509d0166156e36e777 /gcc/cp | |
parent | f913c102a4836355a7d9769a7d5998f27032ed98 (diff) | |
download | gcc-1af6141b86cb39d14b4cda2f8aa7127642e9ffba.zip gcc-1af6141b86cb39d14b4cda2f8aa7127642e9ffba.tar.gz gcc-1af6141b86cb39d14b4cda2f8aa7127642e9ffba.tar.bz2 |
class.c: Include target.h.
* class.c: Include target.h.
(check_bitfield_decl): Disregard EMPTY_FIELD_BOUNDARY,
BITFIELDS_NBYTES_LIMITED and PCC_BITFIELD_TYPE_MATTERS for MS
bit-field layout.
* Make-lang.in: Adjust deps.
From-SVN: r49527
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/cp/Make-lang.in | 2 | ||||
-rw-r--r-- | gcc/cp/class.c | 4 |
3 files changed, 12 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 76af2ba..5c463a7 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,11 @@ +2002-02-05 Alexandre Oliva <aoliva@redhat.com> + + * class.c: Include target.h. + (check_bitfield_decl): Disregard EMPTY_FIELD_BOUNDARY, + BITFIELDS_NBYTES_LIMITED and PCC_BITFIELD_TYPE_MATTERS for MS + bit-field layout. + * Make-lang.in: Adjust deps. + 2002-02-05 Jason Merrill <jason@redhat.com> * error.c (dump_type): Be more helpful about VECTOR_TYPE. diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in index 6123612..976559a 100644 --- a/gcc/cp/Make-lang.in +++ b/gcc/cp/Make-lang.in @@ -262,7 +262,7 @@ cp/typeck2.o: cp/typeck2.c $(CXX_TREE_H) flags.h toplev.h output.h $(TM_P_H) \ diagnostic.h cp/typeck.o: cp/typeck.c $(CXX_TREE_H) flags.h $(RTL_H) $(EXPR_H) toplev.h \ diagnostic.h -cp/class.o: cp/class.c $(CXX_TREE_H) flags.h toplev.h $(RTL_H) +cp/class.o: cp/class.c $(CXX_TREE_H) flags.h toplev.h $(RTL_H) $(TARGET_H) cp/call.o: cp/call.c $(CXX_TREE_H) flags.h toplev.h $(RTL_H) $(EXPR_H) \ $(GGC_H) diagnostic.h cp/friend.o: cp/friend.c $(CXX_TREE_H) flags.h $(RTL_H) toplev.h $(EXPR_H) diff --git a/gcc/cp/class.c b/gcc/cp/class.c index 1e62c59..c5e349c 100644 --- a/gcc/cp/class.c +++ b/gcc/cp/class.c @@ -33,6 +33,7 @@ Boston, MA 02111-1307, USA. */ #include "toplev.h" #include "ggc.h" #include "lex.h" +#include "target.h" #include "obstack.h" #define obstack_chunk_alloc xmalloc @@ -3106,7 +3107,8 @@ check_bitfield_decl (field) DECL_SIZE (field) = convert (bitsizetype, w); DECL_BIT_FIELD (field) = 1; - if (integer_zerop (w)) + if (integer_zerop (w) + && ! (* targetm.ms_bitfield_layout_p) (DECL_FIELD_CONTEXT (field))) { #ifdef EMPTY_FIELD_BOUNDARY DECL_ALIGN (field) = MAX (DECL_ALIGN (field), |