This is an archive of the discontinued LLVM Phabricator instance.

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

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

Details

Summary

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

Repository
rL LLVM