Index: docs/clang-tidy/checks/misc-suspicious-missing-comma.rst =================================================================== --- docs/clang-tidy/checks/misc-suspicious-missing-comma.rst +++ docs/clang-tidy/checks/misc-suspicious-missing-comma.rst @@ -7,14 +7,19 @@ (after the preprocessor). This feature is used to represent long string literal on multiple lines. -For instance, these declarations are equivalent: +For instance, the following declarations are equivalent: + +.. code:: c++ + const char* A[] = "This is a test"; - const char* B[] = "This" " is a " - "test"; + const char* B[] = "This" " is a " "test"; + A common mistake done by programmers is to forget a comma between two string literals in an array initializer list. +.. code:: c++ + const char* Test[] = { "line 1", "line 2" // Missing comma! @@ -23,13 +28,17 @@ "line 5" }; + The array contains the string "line 2line3" at offset 1 (i.e. Test[1]). Clang won't generate warnings at compile time. This checker may warn incorrectly on cases like: +.. code:: c++ + const char* SupportedFormat[] = { "Error %s", "Code " PRIu64, // May warn here. "Warning %s", }; +