xref: /llvm-project/clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-fmt.cpp (revision 1af159e98c23a293c103e1f548866488126ed6f6)
183f875dcSMike Crowe // RUN: %check_clang_tidy %s modernize-use-std-print %t -- \
283f875dcSMike Crowe // RUN:   -config="{CheckOptions: \
383f875dcSMike Crowe // RUN:             { \
4*1af159e9SPiotr Zegar // RUN:               modernize-use-std-print.ReplacementPrintFunction: 'fmt::print', \
5*1af159e9SPiotr Zegar // RUN:               modernize-use-std-print.ReplacementPrintlnFunction: 'fmt::println', \
6*1af159e9SPiotr Zegar // RUN:               modernize-use-std-print.PrintHeader: '<fmt/core.h>' \
783f875dcSMike Crowe // RUN:             } \
883f875dcSMike Crowe // RUN:            }" \
983f875dcSMike Crowe // RUN:   -- -isystem %clang_tidy_headers
1083f875dcSMike Crowe 
1183f875dcSMike Crowe #include <cstdio>
1283f875dcSMike Crowe // CHECK-FIXES: #include <fmt/core.h>
1383f875dcSMike Crowe #include <string.h>
1483f875dcSMike Crowe 
printf_simple()1583f875dcSMike Crowe void printf_simple() {
1683f875dcSMike Crowe   printf("Hello %s %d", "world", 42);
1783f875dcSMike Crowe   // CHECK-MESSAGES: [[@LINE-1]]:3: warning: use 'fmt::print' instead of 'printf' [modernize-use-std-print]
1883f875dcSMike Crowe   // CHECK-FIXES: fmt::print("Hello {} {}", "world", 42);
1983f875dcSMike Crowe }
2083f875dcSMike Crowe 
printf_newline()2183f875dcSMike Crowe void printf_newline() {
2283f875dcSMike Crowe   printf("Hello %s %d\n", "world", 42);
2383f875dcSMike Crowe   // CHECK-MESSAGES: [[@LINE-1]]:3: warning: use 'fmt::println' instead of 'printf' [modernize-use-std-print]
2483f875dcSMike Crowe   // CHECK-FIXES: fmt::println("Hello {} {}", "world", 42);
2583f875dcSMike Crowe }
2683f875dcSMike Crowe 
fprintf_simple(FILE * fp)2783f875dcSMike Crowe void fprintf_simple(FILE *fp) {
2883f875dcSMike Crowe   fprintf(fp, "Hello %s %d", "world", 42);
2983f875dcSMike Crowe   // CHECK-MESSAGES: [[@LINE-1]]:3: warning: use 'fmt::print' instead of 'fprintf' [modernize-use-std-print]
3083f875dcSMike Crowe   // CHECK-FIXES: fmt::print(fp, "Hello {} {}", "world", 42);
3183f875dcSMike Crowe }
3283f875dcSMike Crowe 
fprintf_newline(FILE * fp)3383f875dcSMike Crowe void fprintf_newline(FILE *fp) {
3483f875dcSMike Crowe   fprintf(fp, "Hello %s %d\n", "world", 42);
3583f875dcSMike Crowe   // CHECK-MESSAGES: [[@LINE-1]]:3: warning: use 'fmt::println' instead of 'fprintf' [modernize-use-std-print]
3683f875dcSMike Crowe   // CHECK-FIXES: fmt::println(fp, "Hello {} {}", "world", 42);
3783f875dcSMike Crowe }
38