This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
short int and conversions
- From: Andrea <amichelo at gmail dot com>
- To: gcc at gcc dot gnu dot org
- Date: Thu, 17 Mar 2005 17:57:44 +0100
- Subject: short int and conversions
- Reply-to: Andrea <amichelo at gmail dot com>
Hi,
I'm trying to port gcc 4.1 for an architecture that has the following
memory layout BITS_PER_UNIT=32 and UNITS_PER_WORD=1.
It has support (16bit registers and operators) for 16bit signed
atithmetic used mainly for addressing. There are also operators for 32
bit integer and floating point support.
I set SHORT_TYPE_SIZE=POINTER_SIZE=(BITS_PER_WORD/2).
I reserved QImode and QFmode for 32 bit integer/floating point operations.
And I defined a new fractional int mode FRACTIONAL_INT_MODE (PQ, 16, 1) for
pointers and short int operations.
When I try to compile a very simple program with short int xgcc
segments for stack overflow because it calls recursively
#32 0x0806dd6d in convert (type=0xb7c7b288, expr=0xb7c88090) at
../../gcc/c-convert.c:95
#33 0x08160626 in convert_to_integer (type=0xb7c7b288,
expr=0xb7c88090) at ../../gcc/convert.c:442
I presume it tries to convert a small precision mode in something
bigger but I cannot understand why.
This is the first time I try to port gcc, so I don't know if my
assumptions are reasonable or not.
could someone help me?
thanks
andrea.