我正在使用Coverity检查非常旧的C ++代码,该代码使用了大量的编译宏。
Coverity不了解初始化成员的宏。我已经手动检查了代码,我确信这是误报,但我无法设法使错误无效。
ATTR_INIT(SomeStruct, unsigned, sflags, 0);
我尝试将定义放入建模文件
#define ATTR_INIT(cls, typ, nam, val) cls::typ nam = val;
或
#define ATTR_INIT(cls, typ, nam, val) __coverity_writeall__(nam);
但两者都没有删除错误。我也尝试过代码注释,但这也不起作用。
任何指针?