diff options
author | Sergej Jaskiewicz <jaskiewiczs@icloud.com> | 2020-07-15 18:55:37 +0300 |
---|---|---|
committer | Sergej Jaskiewicz <jaskiewiczs@icloud.com> | 2020-07-27 18:09:00 +0300 |
commit | 4dd5c2bee366514cbc3fc4e6da46462bc11a0a3d (patch) | |
tree | ce26bcda16052ef49b1a0931c6fab691d89a6dea /llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp | |
parent | 7c182663a857fc87552fa2861c7f94046d55845e (diff) | |
download | llvm-4dd5c2bee366514cbc3fc4e6da46462bc11a0a3d.zip llvm-4dd5c2bee366514cbc3fc4e6da46462bc11a0a3d.tar.gz llvm-4dd5c2bee366514cbc3fc4e6da46462bc11a0a3d.tar.bz2 |
[lit] Don't expand escapes until all substitutions have been applied
Otherwise, if a Lit script contains escaped substitutions (like %%p in this test https://github.com/llvm/llvm-project/blob/master/compiler-rt/test/asan/TestCases/Darwin/asan-symbolize-partial-report-with-module-map.cpp#L10), they are unescaped during recursive application of substitutions, and the results are unexpected.
We solve it using the fact that double percent signs are first replaced with #_MARKER_#, and only after all the other substitutions have been applied, #_MARKER_# is replaced with a single percent sign. The only change is that instead of replacing #_MARKER_# at each recursion step, we replace it once after the last recursion step.
Differential Revision: https://reviews.llvm.org/D83894
Diffstat (limited to 'llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp')
0 files changed, 0 insertions, 0 deletions