#2094·Catch2

重构和集中编译器检测

作者: horenmar创建于 2020年11月3日更新于 2026年7月30日
标签Tweak requestDevelopmentGood First Issue

目前 Catch2 会在代码需要编译器特定性的地方进行 ad-hoc 的编译器检测。对于更加模糊的编译器,这会带来很多麻烦,因为编译器喜欢伪装成不同的编译器,例如 Clang 定义 GCC 版本的宏,ICC 定义了两种,IBM XL 将自己报告为 Clang 等等。由于代码的编译器特定部分通常确实是编译器特定的,因此如果不正确地检测编译器,就会出现问题,例如如果我们尝试禁用 GCC 特定的警告而不检查 Clang 是否被使用,Clang 就会抱怨它发现了未知的 pragma。

内容来源: catchorg/Catch2