This patch adds the support for detecting suspicious string
literals and their incorrect usage.
The following example shows a incorrect character escaping leading
to an embedded NUL character.
std::string str = "\0x42"; // Should be "\x42".
The patch also add detection of truncated literal when a literal
is passed to a string constructor.
If clang-format did this, it used an incorrect style. In LLVM style it should put return on the next line. It should do the right thing, if you run it with -style=file and your clang-tools-extra working copy is checked out inside the cfe working copy (the important part here is that there's clang's or llvm's .clang-format file in a parent directory of the files you're running clang-format on).