https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89887
vfdff <zhongyunde at huawei dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |zhongyunde at huawei dot com --- Comment #1 from vfdff <zhongyunde at huawei dot com> --- Created attachment 46058 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46058&action=edit picture shows the bug // simple test case typedef unsigned char UINT8; typedef unsigned short UINT16; typedef unsigned int UINT32; typedef signed char INT8; typedef signed short INT16; typedef signed int INT32; typedef float FLOAT; typedef double DOUBLE; typedef char CHAR; typedef unsigned char UCHAR; typedef unsigned int BOOL; typedef unsigned long long UINT64; typedef signed long long INT64; typedef int INT; typedef enum { LBB_EN_UP_DOWN_CONFIG0 = 0, LBB_EN_UP_DOWN_CONFIG1 = 1, LBB_EN_UP_DOWN_CONFIG2 = 2, LBB_EN_UP_DOWN_CONFIG3 = 3, LBB_EN_UP_DOWN_CONFIG4 = 4, LBB_EN_UP_DOWN_CONFIG5 = 5, LBB_EN_UP_DOWN_CONFIG6 = 6, LBB_EN_UP_DOWN_CONFIG_BUTT }LBB_EN_UP_DOWN_CONFIG; UINT32 test (UINT32 uwUpDownConfig, UINT32 uwSubFrmNum) { static UINT8 aucSubFrmType[LBB_EN_UP_DOWN_CONFIG_BUTT][(10)] = { {0, 1, 2, 2, 2, 0, 1, 2, 2, 2}, {0, 1, 2, 2, 0, 0, 1, 2, 2, 0}, {0, 1, 2, 0, 0, 0, 1, 2, 0, 0}, {0, 1, 2, 2, 2, 0, 0, 0, 0, 0}, {0, 1, 2, 2, 0, 0, 0, 0, 0, 0}, {0, 1, 2, 0, 0, 0, 0, 0, 0, 0}, {0, 1, 2, 2, 2, 0, 1, 2, 2, 0} }; return aucSubFrmType[uwUpDownConfig][uwSubFrmNum]; }