Jon*_*ams 6 c++ clang address-sanitizer ubsan
我们使用以下代码来确定是否-fsanitize=address
在编译时为clang和gcc指定了.我们如何确定是否-fsanitize=undefined
已指定?
bool isSanitized = false;
#if defined(__has_feature)
#if __has_feature(address_sanitizer)
isSanitized = true;
#endif
#elif defined(__SANITIZE_ADDRESS__)
isSanitized = true;
#endif
Run Code Online (Sandbox Code Playgroud)
我建议您将其作为 bug 提交到 ASan github(或 GCC bugzilla)(我们已经为 ASan 和 TSan 定义了这一点,因此为 UBSan 制作一个 bug 也是有意义的)。-fsanitize-undefined
目前看来您唯一的选择是在 Makefile 中传递自定义定义。