Clang имеет различные дезинфицирующие средства, которые можно включить, чтобы ловить проблемы во время выполнения.
Однако есть некоторые дезинфицирующие средства, которые я не могу использовать вместе. Почему это?
clang++-3.9 -std=c++1z -g -fsanitize=memory -fsanitize=address -o main main.cpp 1
clang: error: invalid argument '-fsanitize=address' not allowed with '-fsanitize=memory'
Это неважно, но когда я запускаю свои модульные тесты, это занимает больше времени, чем нужно, потому что я создаю несколько двоичных файлов для тех же тестов и запускаю каждый из них отдельно.
clang++-3.9 -std=c++1z -g -fsanitize=address -o test1 test.cpp
clang++-3.9 -std=c++1z -g -fsanitize=memory -fsanitize=undefined -o test2 test.cpp