This is an archive of the discontinued LLVM Phabricator instance.

[llvm-rc] Implement escape sequences in .rc files (serialization, pt 10).

Authored by mnbvmar on Sep 29 2017, 1:36 PM.



This allows the escape sequences (\a, \n, \r, \t, \\, \x[0-9a-f]*, \[0-7]*, "") to appear in .rc scripts. These are parsed and output in the same way as it's done in original MS implementation.

The way these sequences are processed depends on the type of the resource it resides in, and on whether the user declared the string to be "wide" or "narrow".

I tried to maintain the maximum compatibility with the original tool (and fail in some erroneous situations that are accepted by .rc). However, there are some (extremely rare) cases where Microsoft tool outputs nonsense. I found it infeasible to detect such casses.

Diff Detail