From: Martin Storsjo Date: Mon, 7 May 2018 20:27:28 +0000 (+0000) Subject: [llvm-rc] Allow optional commas between the string table index and value X-Git-Tag: android-x86-7.1-r4~1414 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=ab499d8976ccd5b83f316fb50babb0238df8c02a;p=android-x86%2Fexternal-llvm.git [llvm-rc] Allow optional commas between the string table index and value This form is even used in one of the examples at https://msdn.microsoft.com/en-us/library/windows/desktop/aa381050(v=vs.85).aspx. Differential Revision: https://reviews.llvm.org/D46508 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@331669 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/tools/llvm-rc/Inputs/tag-stringtable-basic.rc b/test/tools/llvm-rc/Inputs/tag-stringtable-basic.rc index 9847dabb7ca..afda2f3af63 100644 --- a/test/tools/llvm-rc/Inputs/tag-stringtable-basic.rc +++ b/test/tools/llvm-rc/Inputs/tag-stringtable-basic.rc @@ -4,9 +4,10 @@ CHARACTERISTICS 0x32 { 0 "a" } +// Commas are optional, so we make sure to test both cases. STRINGTABLE { - 1 "b" - 16 "bb" + 1, "b" + 16, "bb" } STRINGTABLE diff --git a/tools/llvm-rc/ResourceScriptParser.cpp b/tools/llvm-rc/ResourceScriptParser.cpp index 14fe4b4583a..d8398b78514 100644 --- a/tools/llvm-rc/ResourceScriptParser.cpp +++ b/tools/llvm-rc/ResourceScriptParser.cpp @@ -573,6 +573,7 @@ RCParser::ParseType RCParser::parseStringTableResource() { // Some examples in documentation suggest that there might be a comma in // between, however we strictly adhere to the single statement definition. ASSIGN_OR_RETURN(IDResult, readInt()); + consumeOptionalType(Kind::Comma); ASSIGN_OR_RETURN(StrResult, readString()); Table->addString(*IDResult, *StrResult); }