“断点代码”自分配的替代方案

问题描述 投票:0回答:1

我最近尝试使用 clang 和 clang++ 构建一个项目。到目前为止,它仅是使用 GCC 构建的。

我看到的问题之一是以下形式的代码

if (expression)
{
   var = var;
}

我认为这样做是为了在代码中留出一个位置,以便在调试版本中放置断点。在优化构建中,代码应该全部被优化掉。

我们使用 -Werror 进行构建,但使用

构建失败

错误:将“int”类型变量的值显式分配给自身[-Werror,-Wself-assign]

我可以使用

-Wno-self-assign
-Wno-error=self-assign
或本地使用

消除警告/错误
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wself-assign"
var = var;
#pragma clang diagnostic pop

(可能在宏中)。

有人对没有副作用、可用于断点的代码有任何其他建议吗?

c++ compiler-warnings clang++
1个回答
0
投票

我用的就是这个。 它还会发出未使用的警告,使它们很容易找到。

int x = 3; 
© www.soinside.com 2019 - 2024. All rights reserved.