aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/m32c/m32c.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2009-04-01 12:22:14 +0000
committerNick Clifton <nickc@gcc.gnu.org>2009-04-01 12:22:14 +0000
commit235e1fe81e089e2563c046260eca00144710cd67 (patch)
tree1d9f59f54ebe580d52f1cabbb41cc723f4a4ceaa /gcc/config/m32c/m32c.c
parentd6868399fb67b375e562d28d2f0dcf52cbf8d9d1 (diff)
downloadgcc-235e1fe81e089e2563c046260eca00144710cd67.zip
gcc-235e1fe81e089e2563c046260eca00144710cd67.tar.gz
gcc-235e1fe81e089e2563c046260eca00144710cd67.tar.bz2
m32c.h (LIBGCC2_UNITS_PER_WORD): Define if not already defined.
* config/m32c/m32c.h (LIBGCC2_UNITS_PER_WORD): Define if not already defined. * config/m32c/t-m32c (LIB2FUNCS_EXTRA): Add m32c-lib2-trapv.c. * config/m32c/m32c-lib2.c: Remove unused typedefs. Rename the other typedefs to avoid conflicts with libgcc2.c. Define labels to gain 16-bit bit-manipulation functions from libgcc2.c and then include it. * config/m32c/m32c-lib2-trapv.c: New file. Define labels to gain 16-bit trapping arithmetic functions from libgcc2.c and then include it. From-SVN: r145397
Diffstat (limited to 'gcc/config/m32c/m32c.c')
-rw-r--r--gcc/config/m32c/m32c.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/gcc/config/m32c/m32c.c b/gcc/config/m32c/m32c.c
index 1e0cda6..5021831 100644
--- a/gcc/config/m32c/m32c.c
+++ b/gcc/config/m32c/m32c.c
@@ -2701,8 +2701,13 @@ m32c_print_operand_punct_valid_p (int c)
void
m32c_print_operand_address (FILE * stream, rtx address)
{
- gcc_assert (GET_CODE (address) == MEM);
- m32c_print_operand (stream, XEXP (address, 0), 0);
+ if (GET_CODE (address) == MEM)
+ address = XEXP (address, 0);
+ else
+ /* cf: gcc.dg/asm-4.c. */
+ gcc_assert (GET_CODE (address) == REG);
+
+ m32c_print_operand (stream, address, 0);
}
/* Implements ASM_OUTPUT_REG_PUSH. Control registers are pushed