1 | // RUN: %check_clang_tidy %s bugprone-suspicious-missing-comma %t |
2 | |
3 | const char* Cartoons[] = { |
4 | "Bugs Bunny" , |
5 | "Homer Simpson" , |
6 | "Mickey Mouse" , |
7 | "Bart Simpson" , |
8 | "Charlie Brown" // There is a missing comma here. |
9 | "Fred Flintstone" , |
10 | "Popeye" , |
11 | }; |
12 | // CHECK-MESSAGES: :[[@LINE-4]]:3: warning: suspicious string literal, probably missing a comma [bugprone-suspicious-missing-comma] |
13 | |
14 | const wchar_t* Colors[] = { |
15 | L"Red" , L"Yellow" , L"Blue" , L"Green" , L"Purple" , L"Rose" , L"White" , L"Black" |
16 | }; |
17 | |
18 | // The following array should not trigger any warnings. There is more than 5 |
19 | // elements, but they are all concatenated string literals. |
20 | const char* HttpCommands[] = { |
21 | "GET / HTTP/1.0\r\n" |
22 | "\r\n" , |
23 | |
24 | "GET /index.html HTTP/1.0\r\n" |
25 | "\r\n" , |
26 | |
27 | "GET /favicon.ico HTTP/1.0\r\n" |
28 | "header: dummy" |
29 | "\r\n" , |
30 | |
31 | "GET /index.html-en HTTP/1.0\r\n" |
32 | "\r\n" , |
33 | |
34 | "GET /index.html-fr HTTP/1.0\r\n" |
35 | "\r\n" , |
36 | |
37 | "GET /index.html-es HTTP/1.0\r\n" |
38 | "\r\n" , |
39 | }; |
40 | |
41 | // This array is too small to trigger a warning. |
42 | const char* SmallArray[] = { |
43 | "a" "b" , "c" |
44 | }; |
45 | |
46 | // Parentheses should be enough to avoid warnings. |
47 | const char* ParentheseArray[] = { |
48 | ("a" "b" ), "c" , |
49 | ("d" |
50 | "e" |
51 | "f" ), |
52 | "g" , "h" , "i" , "j" , "k" , "l" |
53 | }; |
54 | |
55 | // Indentation should be enough to avoid warnings. |
56 | const char* CorrectlyIndentedArray[] = { |
57 | "This is a long message " |
58 | "which is spanning over multiple lines." |
59 | "And this should be fine." , |
60 | "a" , "b" , "c" , "d" , "e" , "f" , |
61 | "g" , "h" , "i" , "j" , "k" , "l" |
62 | }; |
63 | |
64 | const char* IncorrectlyIndentedArray[] = { |
65 | "This is a long message " |
66 | "which is spanning over multiple lines." |
67 | "And this should be fine." , |
68 | "a" , "b" , "c" , "d" , "e" , "f" , |
69 | "g" , "h" , "i" , "j" , "k" , "l" |
70 | }; |
71 | // CHECK-MESSAGES: :[[@LINE-6]]:3: warning: suspicious string literal, probably missing a comma [bugprone-suspicious-missing-comma] |
72 | |
73 | const char* TooManyConcatenatedTokensArray[] = { |
74 | "Dummy line" , |
75 | "Dummy line" , |
76 | "a" "b" "c" "d" "e" "f" , |
77 | "g" "h" "i" "j" "k" "l" , |
78 | "Dummy line" , |
79 | "Dummy line" , |
80 | "Dummy line" , |
81 | "Dummy line" , |
82 | }; |
83 | |