在编译项目结束时,我得到了这个奇怪的编译器错误:
"llvm_transformed_context_ini.c", line 3198: warning: loop not entered at top
"llvm_transformed_context_ini.c", line 3218: warning: loop not entered at top
"llvm_transformed_context_ini.c", line 3237: warning: statement not reached
"llvm_transformed_context_ini.c", line 3248: warning: loop not entered at top
"llvm_transformed_context_ini.c", line 3268: warning: loop not entered at top
"llvm_transformed_context_ini.c", line 3287: warning: statement not reached
op: 2, val: 0
"llvm_transformed_context_ini.c", line 3291: compiler error: wasted space: 1047036660
该行是位于.c文件中的最后一行,并且没有写入任何内容。我试图删除该行,但这并没有解决问题。
* * _17th_september_EDITED TEXT:
您可以从here
下载任何人都可以向我解释一下吗?
谢谢,
阿米尔
答案 0 :(得分:0)
不确定是否有帮助,但您可以尝试删除所有虚拟“do..while”循环。要做到这一点,你应该删除评论中包含短语“.. syntactic loop ..”的所有行。
例如:
do { /* Syntactic loop 'bb172' to make GCC happy */ <<-- remove this line
llvm_cbe_bb172:
llvm_cbe_tmp__425 = *(&llvm_cbe_model_number);
llvm_cbe_tmp__426 = *(&llvm_cbe_i);
llvm_cbe_tmp__427 = *(&llvm_cbe_j);
llvm_cbe_tmp__428 = *(&llvm_cbe_i);
llvm_cbe_tmp__429 = *(&llvm_cbe_j);
llvm_cbe_tmp__430 = *(&llvm_cbe_tc);
llvm_cbe_tmp__431 = *(&llvm_cbe_qp);
biari_init_context(llvm_cbe_tmp__431, ((&(*((&(*((&llvm_cbe_tmp__430->field7))).array[((signed int )llvm_cbe_tmp__428)]))).array[((signed int )llvm_cbe_tmp__429)])), ((&(*((&(*((&(*((&INIT_ABS_P.array[((signed int )llvm_cbe_tmp__425)]))).array[((signed int )llvm_cbe_tmp__426)]))).array[((signed int )llvm_cbe_tmp__427)]))).array[((signed int )0u)])));
llvm_cbe_tmp__432 = *(&llvm_cbe_j);
*(&llvm_cbe_j) = (((unsigned int )(((unsigned int )llvm_cbe_tmp__432) + ((unsigned int )1u))));
llvm_cbe_tmp__433 = *(&llvm_cbe_j);
if ((((signed int )llvm_cbe_tmp__433) <= ((signed int )4u))) {
goto llvm_cbe_bb172;
} else {
goto llvm_cbe_bb174;
}
} while (1); /* end of syntactic loop 'bb172' */ <<-- remove this line
此代码中有很多“goto”标签。可能你当前的编译器无法解析循环中的goto。