1 // RUN: %check_clang_tidy %s cppcoreguidelines-pro-type-member-init %t -- -config="{CheckOptions: [{key: "cppcoreguidelines-pro-type-member-init.UseAssignment", value: true}]}" -- -fsigned-char
2 
3 struct T {
4   int i;
5 };
6 
7 struct S {
8   bool b;
9   // CHECK-FIXES: bool b = false;
10   char c;
11   // CHECK-FIXES: char c = 0;
12   signed char sc;
13   // CHECK-FIXES: signed char sc = 0;
14   unsigned char uc;
15   // CHECK-FIXES: unsigned char uc = 0U;
16   int i;
17   // CHECK-FIXES: int i = 0;
18   unsigned u;
19   // CHECK-FIXES: unsigned u = 0U;
20   long l;
21   // CHECK-FIXES: long l = 0L;
22   unsigned long ul;
23   // CHECK-FIXES: unsigned long ul = 0UL;
24   long long ll;
25   // CHECK-FIXES: long long ll = 0LL;
26   unsigned long long ull;
27   // CHECK-FIXES: unsigned long long ull = 0ULL;
28   float f;
29   // CHECK-FIXES: float f = 0.0F;
30   double d;
31   // CHECK-FIXES: double d = 0.0;
32   long double ld;
33   // CHECK-FIXES: double ld = 0.0L;
34   int *ptr;
35   // CHECK-FIXES: int *ptr = nullptr;
36   T t;
37   // CHECK-FIXES: T t{};
SS38   S() {}
39   // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: constructor does not initialize these fields:
40 };
41