[llvm] [llvm-rc] Accept filenames provided as multiple string literals (PR #68881)
Martin Storsjö via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 16 02:35:19 PDT 2023
================
@@ -238,7 +238,27 @@ Expected<StringRef> RCParser::readString() {
Expected<StringRef> RCParser::readFilename() {
if (!isNextTokenKind(Kind::String) && !isNextTokenKind(Kind::Identifier))
return getExpectedError("string");
- return read().value();
+ const RCToken &Token = read();
+ StringRef Str = Token.value();
+ if (Token.kind() != Kind::String)
+ return Str;
+ while (isNextTokenKind(Kind::String)) {
+ const RCToken &NextToken = read();
+ StringRef Next = NextToken.value();
+ bool IsWide = Str.starts_with_insensitive("L");
+ if (IsWide)
+ Str = Str.drop_front();
+ if (Next.starts_with_insensitive("L"))
+ Next = Next.drop_front();
----------------
mstorsjo wrote:
Updated to use `consume_front_insensitive`, that does indeed make it yet a little bit nicer. Thanks!
https://github.com/llvm/llvm-project/pull/68881
More information about the llvm-commits
mailing list