[PATCH] D85545: [Diagnostics] Diagnose missing comma in string array initialization

Dávid Bolvanský via cfe-commits cfe-commits at lists.llvm.org
Tue Aug 11 11:49:45 PDT 2020


I check if all elements of init list are strings, so this is not
exactly true "struct checker" (I have no such info in that part of
code..) but I consider it good enough. Your test case is based on real
code? Does not seem so - well sure, we could construct many examples
where warning fires uselessly but my focus is on real world false
positive cases :)

ut 11. 8. 2020 o 19:55 Arthur Eubanks via Phabricator
<reviews at reviews.llvm.org> napísal(a):
>
> aeubanks added a comment.
>
> Actually sorry, it does still seem like there are false positives on structs. Reduced:
>
>   $ cat /tmp/a.cpp
>
>   struct A {
>     const char* a;
>     const char* b;
>     const char* c;
>   };
>
>   static constexpr A foo2 = A{"",
>                               ""
>                               "",
>                               ""};
>
>   $ ~/repos/llvm-project/build_cmake/bin/clang /tmp/a.cpp -o /dev/null -c -Wstring-concatenation
>   /tmp/a.cpp:10:29: warning: suspicious concatenation of string literals in an array initialization; did you mean to separate the elements with a comma? [-Wstring-concatenation]
>                               "",
>                               ^
>   /tmp/a.cpp:9:29: note: place parentheses around the string literal to silence warning
>                               ""
>                               ^
>   1 warning generated.
>
>
> Repository:
>   rG LLVM Github Monorepo
>
> CHANGES SINCE LAST ACTION
>   https://reviews.llvm.org/D85545/new/
>
> https://reviews.llvm.org/D85545
>


More information about the cfe-commits mailing list