================ @@ -136,13 +137,26 @@ void RawStringLiteralCheck::check(const MatchFinder::MatchResult &Result) { void RawStringLiteralCheck::replaceWithRawStringLiteral( const MatchFinder::MatchResult &Result, const StringLiteral *Literal, - StringRef Replacement) { - CharSourceRange CharRange = Lexer::makeFileCharRange( - CharSourceRange::getTokenRange(Literal->getSourceRange()), - *Result.SourceManager, getLangOpts()); - diag(Literal->getBeginLoc(), - "escaped string literal can be written as a raw string literal") - << FixItHint::CreateReplacement(CharRange, Replacement); + std::string Replacement) { + DiagnosticBuilder Builder = + diag(Literal->getBeginLoc(), + "escaped string literal can be written as a raw string literal"); + const SourceManager &SM = *Result.SourceManager; + const CharSourceRange TokenRange = + CharSourceRange::getTokenRange(Literal->getSourceRange()); + Token T; + if (Lexer::getRawToken(Literal->getBeginLoc(), T, SM, getLangOpts())) + return; + const CharSourceRange CharRange = + Lexer::makeFileCharRange(TokenRange, SM, getLangOpts()); + if (T.hasUDSuffix()) { + StringRef Text = Lexer::getSourceText(CharRange, SM, getLangOpts()); ---------------- EugeneZelenko wrote:
Should be `const`. https://github.com/llvm/llvm-project/pull/122901 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits