YAML CPP: Explain ASan plugin removal reason
@@ -4,6 +4,9 @@ if (DEPENDENCY_PHASE)
remove_plugin (yamlcpp "yaml-cpp (libyaml-cpp-dev >= 0.6) not found")
endif (NOT YAML-CPP_FOUND)
+ # AdressSanitizer enabled builds of the plugin report runtime errors about member calls, which do not point to an object of type
+ # `_Sp_counted_base` inside the system header file `shared_ptr_base.h`. In Clang builds of the plugin we ignore this error in our
+ # [blacklist](tests/sanitizer.blacklist). Unfortunately GCC does not support a blacklist, so we remove the plugin in this case.
set (DISABLE_PLUGIN_ASAN
${ENABLE_ASAN}
AND
@@ -14,9 +17,10 @@ if (DEPENDENCY_PHASE)
${CMAKE_CXX_COMPILER_VERSION}
VERSION_LESS
7)
-
if (${DISABLE_PLUGIN_ASAN})
- remove_plugin (yamlcpp "ASAN enabled GCC builds of the plugin report memory leaks")
+ remove_plugin (yamlcpp
+ "ASan enabled GCC builds of the plugin report member calls on addresses, "
+ "which do not point to an object of type `_Sp_counted_base`")
endif (${DISABLE_PLUGIN_ASAN})
endif (DEPENDENCY_PHASE)
