The problem we meeted last have not solved. The code is so large and I am trying to simplify it. We meeted two additional problems.All the errors took place when we were compiling C or C++ using Tornado 2.2 for MIPS. The compiler is GCC 2.96 suppiled by WindRiver. Please help us! Thanks a lot 1. The compiler can't compare an element of enum and an unsigned short variable Error information: ../../../src/momu/src/mnt/cmnt_int.cpp:3736: Internal compiler error in `copy_to_mode_reg', at explow.c:710 cmnt_int.cpp:3736: if ( LID_OMU != g_uwLogicBoardType ) /* Error occurs here */ { vos_printf("error"); } The related defination: typedef enum { LID_OMU = 0x0100, /*256 MOMU,FOMU*/ ... } VOS_UINT16 g_uwLogicalBoardNo = VOS_NULL_WORD; typedef unsigned short VOS_UINT16; #define VOS_NULL_WORD 0xFFFF 2. The compiler can't assign by structure ../../../src/momu/src/mnt/cmnt_int.cpp:3751: Internal compiler error in `move_by_pieces', at expr.c:1505 cmnt_int.cpp:3751 struct tmp a,b; a.time = b.time; /* Error occurs here */ The related defination: #pragma pack(1) struct tmp { VOS_UINT32 a; SYS_T time; }; #pragma pack(4) name: jiayu email: jiayu@huawei.com ************************************************************** This e-mail and its attachments contain confidential information from HUAWEI, which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction, or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this e-mail in error, please notify the sender by phone or email immediately and delete it! **************************************************************