Path: blob/master/Utilities/ClangTidyModule/Tests/cmake-use-cmstrlen.cxx
3153 views
#include <cstring> template <size_t N> constexpr size_t cmStrLen(char const (& /*str*/)[N]) { return N - 1; } namespace ns1 { using std::strlen; } namespace ns2 { std::size_t strlen(char const* str) { return std::strlen(str); } } int main() { // String variable used for calling strlen() on a variable auto s0 = "howdy"; // Correction needed (void)strlen("Hello"); (void)::strlen("Goodbye"); (void)std::strlen("Hola"); (void)ns1::strlen("Bonjour"); (void)(sizeof("Hallo") - 1); (void)(4 + sizeof("Hallo") - 1); (void)(sizeof "Hallo" - 1); (void)(4 + sizeof "Hallo" - 1); // No correction needed (void)ns2::strlen("Salve"); (void)cmStrLen("Konnichiwa"); (void)strlen(s0); (void)(sizeof("Hallo") - 2); return 0; }