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.

Reply via email to