On 06/11/2017 07:39 PM, Xi Ruoyao wrote:
This patch adds document of -Wstring-plus-int and -Wstring-plus-char.
+@item -Wstring-plus-char +@opindex Wstring-plus-char +@opindex Wno-string-plus-char +Warn for adding a character to a string pointer, which seems like a failed +attempt to append to the string. For example, this option will issue a +warning for the code below. The text above should be corrected for grammar: Warn when a character is added to a character pointer. Such addition it may be an incorrect attempt to append the character to a string. Similarly, the text below should be corrected (though as I mentioned in my earlier response to one of the prior patches, I would prefer to see the out-of-bounds warning(s) phrased in terms the (undefined) effects of the addition and included in -Warray-bounds rather than adding a new option based on assumptions about the intended effects, and extended to all arrays of known bound rather than applied only to string literals). +@item -Wstring-plus-int +@opindex Wstring-plus-int +@opindex Wno-string-plus-int +Warn for adding an integer to a string literal, which may forms a pointer +out of the bound of the string. The typical examples this warns about are +@samp{"abc" + 'd'}, @samp{"abc" + getchar()} and @samp{"abc" + 5}, but +not @samp{"abc" + 1}. Warn when an integer constant in excess of its upper bound is added to a string literal. Martin