From b2c9b631bb48087c988d798adc5465499b155a9a Mon Sep 17 00:00:00 2001 From: =?utf8?q?D=C3=A1vid=20Bolvansk=C3=BD?= Date: Mon, 10 Aug 2020 23:35:55 +0200 Subject: [PATCH] [Diagnostics] Move -Wstring-concatenation to -Wextra --- clang/include/clang/Basic/DiagnosticGroups.td | 4 +++- clang/include/clang/Basic/DiagnosticSemaKinds.td | 2 +- clang/lib/Sema/SemaExpr.cpp | 1 - clang/test/Sema/string-concat.c | 17 ++--------------- 4 files changed, 6 insertions(+), 18 deletions(-) diff --git a/clang/include/clang/Basic/DiagnosticGroups.td b/clang/include/clang/Basic/DiagnosticGroups.td index 5ddd37e..2b13f9e 100644 --- a/clang/include/clang/Basic/DiagnosticGroups.td +++ b/clang/include/clang/Basic/DiagnosticGroups.td @@ -547,6 +547,7 @@ def StaticLocalInInline : DiagGroup<"static-local-in-inline">; def GNUStaticFloatInit : DiagGroup<"gnu-static-float-init">; def StaticFloatInit : DiagGroup<"static-float-init", [GNUStaticFloatInit]>; def GNUStatementExpression : DiagGroup<"gnu-statement-expression">; +def StringConcatation : DiagGroup<"string-concatenation">; def StringCompare : DiagGroup<"string-compare">; def StringPlusInt : DiagGroup<"string-plus-int">; def StringPlusChar : DiagGroup<"string-plus-char">; @@ -880,7 +881,8 @@ def Extra : DiagGroup<"extra", [ SignCompare, UnusedParameter, NullPointerArithmetic, - EmptyInitStatement + EmptyInitStatement, + StringConcatation ]>; def Most : DiagGroup<"most", [ diff --git a/clang/include/clang/Basic/DiagnosticSemaKinds.td b/clang/include/clang/Basic/DiagnosticSemaKinds.td index d0bddd8..f2e939d 100644 --- a/clang/include/clang/Basic/DiagnosticSemaKinds.td +++ b/clang/include/clang/Basic/DiagnosticSemaKinds.td @@ -3005,7 +3005,7 @@ def warn_objc_string_literal_comparison : Warning< def warn_concatenated_literal_array_init : Warning< "suspicious concatenation of string literals in an array initialization; " "did you mean to separate the elements with a comma?">, - InGroup>; + InGroup, DefaultIgnore; def warn_concatenated_nsarray_literal : Warning< "concatenated NSString literal for an NSArray expression - " "possibly missing a comma">, diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp index 8f38238..28ac1df 100644 --- a/clang/lib/Sema/SemaExpr.cpp +++ b/clang/lib/Sema/SemaExpr.cpp @@ -6914,7 +6914,6 @@ Sema::ActOnInitList(SourceLocation LBraceLoc, MultiExprArg InitArgList, // Do not warn when all the elements in the initializer are concatenated // together. Do not warn for macros too. if (NumConcat > 1 && E > 2 && !SL->getBeginLoc().isMacroID() && - SL->getString().find(" ") == llvm::StringRef::npos && isa(InitArgList[0]) && SLPrev && NumConcat != SLPrev->getNumConcatenated()) { SmallVector Hints; diff --git a/clang/test/Sema/string-concat.c b/clang/test/Sema/string-concat.c index 09de0a9..4e5ed44 100644 --- a/clang/test/Sema/string-concat.c +++ b/clang/test/Sema/string-concat.c @@ -1,6 +1,6 @@ -// RUN: %clang_cc1 -x c -fsyntax-only -verify %s -// RUN: %clang_cc1 -x c++ -fsyntax-only -verify %s +// RUN: %clang_cc1 -x c -Wstring-concatenation -fsyntax-only -verify %s +// RUN: %clang_cc1 -x c++ -Wstring-concatenation -fsyntax-only -verify %s const char *missing_comma[] = { "basic_filebuf", @@ -110,19 +110,6 @@ const char *not_warn2[] = { "// Aaa\\\r" " Bbb\\ \r" " Ccc?" "?/\r" }; -const char *not_warn3[] = { - "// \\param [in,out] aaa Bbb\n", - "// \\param[in,out] aaa Bbb\n", - "// \\param [in, out] aaa Bbb\n", - "// \\param [in,\n" - "// out] aaa Bbb\n", - "// \\param [in,out]\n" - "// aaa Bbb\n", - "// \\param [in,out] aaa\n" - "// Bbb\n" -}; - - // Do not warn when all the elements in the initializer are concatenated together. const char *all_elems_in_init_concatenated[] = {"a" "b" "c"}; -- 2.7.4