Mercurial > hg > CbC > CbC_llvm
view clang/test/Sema/format-strings-no-fixit.c @ 150:1d019706d866
LLVM10
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 15:10:13 +0900 |
parents | |
children | c4bab56944e8 |
line wrap: on
line source
// RUN: cp %s %t // RUN: %clang_cc1 -fsyntax-only -fixit %t // RUN: %clang_cc1 -E -o - %t | FileCheck %s /* This is a test of the various code modification hints that are provided as part of warning or extension diagnostics. Only warnings for format strings within the function call will be fixed by -fixit. Other format strings will be left alone. */ int printf(char const *, ...); int scanf(char const *, ...); void pr9751() { const char kFormat1[] = "%s"; printf(kFormat1, 5); printf("%s", 5); const char kFormat2[] = "%.3p"; void *p; printf(kFormat2, p); printf("%.3p", p); const char kFormat3[] = "%0s"; printf(kFormat3, "a"); printf("%0s", "a"); const char kFormat4[] = "%hhs"; printf(kFormat4, "a"); printf("%hhs", "a"); const char kFormat5[] = "%-0d"; printf(kFormat5, 5); printf("%-0d", 5); const char kFormat6[] = "%00d"; int *i; scanf(kFormat6, i); scanf("%00d", i); } // CHECK: const char kFormat1[] = "%s"; // CHECK: printf(kFormat1, 5); // CHECK: printf("%d", 5); // CHECK: const char kFormat2[] = "%.3p"; // CHECK: void *p; // CHECK: printf(kFormat2, p); // CHECK: printf("%p", p); // CHECK: const char kFormat3[] = "%0s"; // CHECK: printf(kFormat3, "a"); // CHECK: printf("%s", "a"); // CHECK: const char kFormat4[] = "%hhs"; // CHECK: printf(kFormat4, "a"); // CHECK: printf("%s", "a"); // CHECK: const char kFormat5[] = "%-0d"; // CHECK: printf(kFormat5, 5); // CHECK: printf("%-d", 5); // CHECK: const char kFormat6[] = "%00d"; // CHECK: int *i; // CHECK: scanf(kFormat6, i); // CHECK: scanf("%d", i);