Considere o seguinte programa:
#include <array>
int main() {
throw std::logic_error("hi");
}
Com alguns compiladores C++ (ou melhor, bibliotecas padrão), isso compila. Por exemplo, libstdc++ 8, onde <array>
inclui <stdexcept>
. Mas em outras implementações de bibliotecas padrão, como libstdc++ 11, isso não compila.
Posso usar o clang-tity para me avisar sobre essas situações? Pelo menos em relação à biblioteca padrão?
Caso contrário, existe outra ferramenta, talvez não baseada em clang, que possa me ajudar a detectar esse problema?