1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
llvm-mirror/tools
Martin Storsjö 872454e51b [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

(cherry picked from commit b989fcbae6f179ad887d19ceef83ace1c00b87cc)
2020-08-05 19:59:38 +02:00
..
bugpoint
bugpoint-passes
dsymutil
gold [LLVMgold.so] -plugin-opt=save-temps: save combined module to .lto.o instead of .o 2020-07-21 10:20:50 -07:00
llc
lli
llvm-ar
llvm-as [opt] Remove obsolete --quiet option 2020-07-08 13:21:20 -07:00
llvm-as-fuzzer
llvm-bcanalyzer
llvm-c-test
llvm-cat
llvm-cfi-verify [llvm] Avoid linking llvm-cfi-verify to duplicate libs 2020-06-17 19:00:26 +02:00
llvm-config
llvm-cov [llvm-cov gcov] Don't suppress .gcov output if .gcda is corrupted 2020-06-16 14:55:38 -07:00
llvm-cvtres
llvm-cxxdump
llvm-cxxfilt
llvm-cxxmap
llvm-diff
llvm-dis
llvm-dwarfdump [llvm] Remove full stop frome error message 2020-06-24 09:41:17 -07:00
llvm-dwp llvm-dwp.cpp - fix implicit CommandLine.h dependency. NFC. 2020-06-23 12:29:52 +01:00
llvm-elfabi
llvm-exegesis [X86-64] Support Intel AMX instructions 2020-07-02 08:57:04 +08:00
llvm-extract [opt] Remove obsolete --quiet option 2020-07-08 13:21:20 -07:00
llvm-go
llvm-gsymutil
llvm-ifs
llvm-isel-fuzzer llvm-isel-fuzzer.cpp - fix implicit CommandLine.h dependency. NFC. 2020-06-23 12:29:53 +01:00
llvm-itanium-demangle-fuzzer
llvm-jitlink
llvm-jitlistener
llvm-link llvm-link: Add support for archive files as inputs 2020-07-14 15:30:59 -04:00
llvm-lipo
llvm-lto
llvm-lto2
llvm-mc [MC] Add --dwarf64 to generate DWARF64 debug info [1/7] 2020-06-16 15:50:13 +07:00
llvm-mc-assemble-fuzzer
llvm-mc-disassemble-fuzzer
llvm-mca
llvm-microsoft-demangle-fuzzer
llvm-ml
llvm-modextract
llvm-mt
llvm-nm llvm-nm: Implement --special-syms. 2020-06-22 13:05:47 -07:00
llvm-objcopy [llvm-install-name-tool] Merge install-name options 2020-07-06 20:32:32 -07:00
llvm-objdump [test/Object][llvm-objdump] - llvm-objdump: don't abort() when the e_phoff field is invalid and refine testing. 2020-07-14 14:45:18 +03:00
llvm-opt-fuzzer
llvm-opt-report
llvm-pdbutil
llvm-profdata [NFC] Extract the code to write instr profile into function writeInstrProfile 2020-07-09 16:30:28 -07:00
llvm-rc [llvm-rc] Allow string table values split into multiple string literals 2020-08-05 19:59:38 +02:00
llvm-readobj [llvm-readobj] - Stop using unwrapOrError() for all program_headers() calls. 2020-07-14 14:16:57 +03:00
llvm-reduce [llvm-reduce] Reducing attributes 2020-07-09 23:10:43 +03:00
llvm-rtdyld
llvm-shlib Add option LLVM_NM to allow specifying the location of the llvm-nm tool 2020-07-06 13:27:56 -07:00
llvm-size [llvm-size] Output REL, RELA and STRTAB sections when allocatable 2020-07-01 12:02:32 +01:00
llvm-special-case-list-fuzzer
llvm-split
llvm-stress [SVE] Eliminate calls to default-false VectorType::get() from llvm-stress 2020-06-08 11:32:37 -07:00
llvm-strings
llvm-symbolizer
llvm-undname
llvm-xray
llvm-yaml-numeric-parser-fuzzer
lto [LTO] Use StringRef instead of C-style strings in setCodeGenDebugOptions 2020-06-22 11:22:18 +01:00
msbuild
obj2yaml [yaml2obj] - Rename FileHeader::SH* fields. 2020-07-15 12:47:31 +03:00
opt [NewPM][opt] Translate -foo-analysis to require<foo-analysis> 2020-07-13 11:24:59 -07:00
opt-viewer
remarks-shlib
sancov Re-land "Migrate the rest of COFFObjectFile to Error" 2020-06-11 14:46:16 -07:00
sanstats
verify-uselistorder
vfabi-demangle-fuzzer
xcode-toolchain
yaml2obj [yaml2obj] - Add a way to set default values for macros used in a YAML. 2020-06-30 12:05:30 +03:00
CMakeLists.txt
LLVMBuild.txt