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.