diff options
author | Nick Clifton <nickc@redhat.com> | 2009-02-06 09:02:37 +0000 |
---|---|---|
committer | Nick Clifton <nickc@gcc.gnu.org> | 2009-02-06 09:02:37 +0000 |
commit | 8506528ca214784d301c162a4ff0c4543d7ad979 (patch) | |
tree | 90213ecdce24cca3e5058a0463e887f102228442 /gcc | |
parent | 851691140a53104db9e2b1135f923618299fd92b (diff) | |
download | gcc-8506528ca214784d301c162a4ff0c4543d7ad979.zip gcc-8506528ca214784d301c162a4ff0c4543d7ad979.tar.gz gcc-8506528ca214784d301c162a4ff0c4543d7ad979.tar.bz2 |
* config/m32c/m32c.h (PCC_BITFIELD_TYPE_MATTERS): Define to zero.
From-SVN: r143981
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/m32c/m32c.h | 16 |
2 files changed, 21 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8a7a318..9b4a543 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2009-02-06 Nick Clifton <nickc@redhat.com> + + * config/m32c/m32c.h (PCC_BITFIELD_TYPE_MATTERS): Define to + zero. + 2009-02-06 Paolo Bonzini <bonzini@gnu.org> PR tree-optimization/35659 diff --git a/gcc/config/m32c/m32c.h b/gcc/config/m32c/m32c.h index 2292a33..7775bd8 100644 --- a/gcc/config/m32c/m32c.h +++ b/gcc/config/m32c/m32c.h @@ -143,6 +143,17 @@ machine_function; #define UNITS_PER_WORD 2 #define POINTER_SIZE (TARGET_A16 ? 16 : 32) #define POINTERS_EXTEND_UNSIGNED 1 +/* We have a problem with libgcc2. It only defines two versions of + each function, one for "int" and one for "long long". Ie it assumes + that "sizeof (int) == sizeof (long)". For the M32C this is not true + and we need a third set of functions. We explicitly define + LIBGCC2_UNITS_PER_WORD here so that it is clear that we are expecting + to get the SI and DI versions from the libgcc2.c sources, and we + provide our own set of HI functions in m32c-lib2.c, which is why this + definition is surrounded by #ifndef..#endif. */ +#ifndef LIBGCC2_UNITS_PER_WORD +#define LIBGCC2_UNITS_PER_WORD 4 +#endif /* These match the alignment enforced by the two types of stack operations. */ #define PARM_BOUNDARY (TARGET_A16 ? 8 : 16) @@ -154,6 +165,11 @@ machine_function; #define FUNCTION_BOUNDARY 8 #define BIGGEST_ALIGNMENT 8 +/* Since we have a maximum structure alignment of 8 there + is no need to enforce any alignment of bitfield types. */ +#undef PCC_BITFIELD_TYPE_MATTERS +#define PCC_BITFIELD_TYPE_MATTERS 0 + #define STRICT_ALIGNMENT 0 #define SLOW_BYTE_ACCESS 1 |