正如标题所说,对于那些已经知道以GCC-6
开头的人来说,可以使用以下标志-Wduplicated-cond
在if
语句中捕获重复项:
#include <stdio.h>
int main(void){
int a = 5;
if( a == 5){
printf("First condition is True, A = %dn", a);
}else if( a == 5 ){
printf("Second condition is True, A = %dn", a);
}
}
输出将是:
program.c:8:17: warning: duplicated ‘if’ condition [-Wduplicated-cond]
}else if( a == 5 ){
~~^~~~
program.c:6:11: note: previously used here
if( a == 5){
~~^~~~
现在我知道以下内容:
else if( (a > 4) && (a < 6) )
与不同
else if( a == 5 )
但碰巧的是,如果CCD_。
我的问题是,有机会抓住(避免)这种重复吗?
-Wduplicated-cond
确实捕捉到了这种情况。你必须明确启用它。
main.cpp:在函数"int main()"中:
main.cpp:8:11:警告:重复的"if"条件[-Wduplicated cond]
}else if( a == 5 ){ ^~
main.cpp:6:5:注意:以前在这里使用
if( a == 5){
它最初由-Wall
启用,但由于PR67819:而不再启用
考虑到新的警告目前破坏了bootstrap[*],我认为没有如何解决PR67819导出自引导的简单方法失败,我将-Wduplicated第二个移出Wall并跳过其中一个暂时的测试。我也在恢复破解genemit c.