| 1 | // RUN: %check_clang_tidy %s modernize-use-std-format %t -- \ |
| 2 | // RUN: -config="{CheckOptions: { \ |
| 3 | // RUN: modernize-use-std-format.StrictMode: true, \ |
| 4 | // RUN: modernize-use-std-format.StrFormatLikeFunctions: 'fmt::sprintf', \ |
| 5 | // RUN: modernize-use-std-format.ReplacementFormatFunction: 'fmt::format', \ |
| 6 | // RUN: modernize-use-std-format.FormatHeader: '<fmt/core.h>' \ |
| 7 | // RUN: }}" \ |
| 8 | // RUN: -- -isystem %clang_tidy_headers |
| 9 | |
| 10 | // CHECK-FIXES: #include <fmt/core.h> |
| 11 | #include <string> |
| 12 | |
| 13 | namespace fmt |
| 14 | { |
| 15 | template <typename S, typename... T, |
| 16 | typename Char = char> |
| 17 | std::basic_string<Char> sprintf(const S& fmt, const T&... args); |
| 18 | } // namespace fmt |
| 19 | |
| 20 | std::string fmt_sprintf_simple() { |
| 21 | return fmt::sprintf(fmt: "Hello %s %d" , args: "world" , args: 42); |
| 22 | // CHECK-MESSAGES: [[@LINE-1]]:10: warning: use 'fmt::format' instead of 'sprintf' [modernize-use-std-format] |
| 23 | // CHECK-FIXES: return fmt::format("Hello {} {}", "world", 42); |
| 24 | } |
| 25 | |