Index: llvm/trunk/test/tools/llvm-rc/Inputs/tag-stringtable-basic.rc =================================================================== --- llvm/trunk/test/tools/llvm-rc/Inputs/tag-stringtable-basic.rc +++ llvm/trunk/test/tools/llvm-rc/Inputs/tag-stringtable-basic.rc @@ -4,9 +4,10 @@ 0 "a" } +// Commas are optional, so we make sure to test both cases. STRINGTABLE { - 1 "b" - 16 "bb" + 1, "b" + 16, "bb" } STRINGTABLE Index: llvm/trunk/tools/llvm-rc/ResourceScriptParser.cpp =================================================================== --- llvm/trunk/tools/llvm-rc/ResourceScriptParser.cpp +++ llvm/trunk/tools/llvm-rc/ResourceScriptParser.cpp @@ -573,6 +573,7 @@ // 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); }