aboutsummaryrefslogtreecommitdiff
path: root/clang/unittests/Tooling/Syntax/TreeTest.cpp
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2020-08-04 10:24:32 +0300
committerMartin Storsjö <martin@martin.st>2020-08-05 08:59:32 +0300
commitb989fcbae6f179ad887d19ceef83ace1c00b87cc (patch)
tree81c93d7eedb2c798466fd95ff065a11b8e916aa0 /clang/unittests/Tooling/Syntax/TreeTest.cpp
parente0d99e9aaf51dac0555655cbf17909377ed37a27 (diff)
downloadllvm-b989fcbae6f179ad887d19ceef83ace1c00b87cc.zip
llvm-b989fcbae6f179ad887d19ceef83ace1c00b87cc.tar.gz
llvm-b989fcbae6f179ad887d19ceef83ace1c00b87cc.tar.bz2
[llvm-rc] Allow string table values split into multiple string literals
This can practically easily be a product of combining strings with macros in resource files. This fixes https://github.com/mstorsjo/llvm-mingw/issues/140. As string literals within llvm-rc are handled as StringRefs, each referencing an uninterpreted slice of the input file, with actual interpretation of the input string (codepage handling, unescaping etc) done only right before writing them out to disk, it's hard to concatenate them other than just bundling them up in a vector, without rearchitecting a large part of llvm-rc. This matches how the same already is supported in VersionInfoValue, with a std::vector<IntOrString> Values. MS rc.exe only supports concatenated string literals in version info values (already supported), string tables (implemented in this patch) and user data resources (easily implemented in a separate patch, but hasn't been requested by any end user yet), while GNU windres supports string immediates split into multiple strings anywhere (e.g. like (100 ICON "myicon" ".ico"). Not sure if concatenation in other statements actually is used in the wild though, in resource files normally built by GNU windres. Differential Revision: https://reviews.llvm.org/D85183
Diffstat (limited to 'clang/unittests/Tooling/Syntax/TreeTest.cpp')
0 files changed, 0 insertions, 0 deletions