工具/软件:
我 ‘CCS11.1 中的 C2000‘器在‘‘Δ T 而不是 Δ t=Δ T IN Δ f‘条件时不会生成任何警告。 我想在我的程序中检查这些语法错误。 那么、如何在这种情况下配置编译器呢?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:
我 ‘CCS11.1 中的 C2000‘器在‘‘Δ T 而不是 Δ t=Δ T IN Δ f‘条件时不会生成任何警告。 我想在我的程序中检查这些语法错误。 那么、如何在这种情况下配置编译器呢?
最新版本的 C2000 编译器为 22.6.2.LTS。 当我尝试时、我会收到警告。
% cl2000 --verbose_diagnostics file.c
"file.c", line 3: warning: use of "=" where "==" may have been intended
if (arg = 0)
^
无论选项是否可用、都会发出诊断 -- verbose_diagnostics 调制。 此选项使诊断程序也显示受影响的源代码行、并带有错误开始位置的指示器。
谢谢。此致、
-乔治
当“arg"是“是 局部变量时、没有诊断信息
我无法重现这一结果。 对于发生这种情况的源文件、 请按照 如何提交编译器测试用例一文中的说明进行操作。
谢谢。此致、
-乔治
我创建了一个只包含“main.c"源“源文件的工程。 “main.c"中“中的代码如下所示。
int global, global1;
void main(void)
{
int i;
if(global = global1){
i++;
}
if(i = global1){
i++;
}
}
我之前的描述不正确。 我原本以为这是'='左侧的一个问题。 实际上、如果“="的“的右侧是全局变量、则没有诊断信息。 编译器版本为 v21.6.0.LTS。
此致。
感谢您的测试用例。 我能够重现同样的行为。 我提交 EXT_EP-12882 对此进行调查。 欢迎点击这个链接。 请注意、该问题不会被视为错误、而是要求改进编译器发出的诊断。
谢谢。此致、
-乔治