On 10/18/2017 12:43 AM, Joe Perches wrote: > On Tue, 2017-10-17 at 23:17 +0200, Heinrich Schuchardt wrote: >> This patch creates a warning (CHECK) >> "Concatenated strings should use spaces between elements" >> >> There are no concatenated strings here. > > Yes, there are. > >> (checkpatch is also used in the U-Boot project where wide strings >> occur in the EFI implementation.) >> >> Signed-off-by: Heinrich Schuchardt <xypron.g...@gmx.de> >> --- >> test.c | 7 +++++++ >> 1 file changed, 7 insertions(+) >> create mode 100644 test.c >> >> diff --git a/test.c b/test.c >> new file mode 100644 >> index 0000000000..dfd33cd765 >> --- /dev/null >> +++ b/test.c >> @@ -0,0 +1,6 @@ >> +#include <foo.h> >> + >> +void foo(void) >> +{ >> + test(L"\""); > > In this case, L must be a constant string and you > are concatenating L and "\"" > > See ISO/IEC 9899:1999
6.4.5 String literals <cite> A character string literal is a sequence of zero or more multibyte characters enclosed in double-quotes, as in "xyz" A wide string literal is the same, except prefixed by the letter L. </cite> L"foo" is a literal of type wchar_t * and not two strings. L is a qualifier and not a constant string. Just like ULL in 10ULL. Regards Heinrich