2

我在我的代码库上运行 iwyu,并且有一些文件坚持我添加

#include <cxxabi.h>  // for __forced_unwind

我能够消融代码并发现它似乎与cv.wait(mu).

具体来说,无谓词版本。

如果我删除cv.wait(mu),iwyu 不再建议cxxabi.h

这是什么__forced_unwind功能,为什么 iwyu 推荐它,可以安全地忽略它吗?

最小测试用例:

// foo.cpp

#include <condition_variable>
#include <mutex>

void foo(std::condition_variable_any* cv, std::mutex* mu) {
  cv->wait(*mu);
}
src/foo.cpp should add these lines:
#include <cxxabi.h>            // for __forced_unwind

src/foo.cpp should remove these lines:

The full include-list for src/foo.cpp:
#include <cxxabi.h>            // for __forced_unwind
#include <condition_variable>  // for condition_variable_any
#include <mutex>               // for mutex
---
4

0 回答 0