]> granicus.if.org Git - llvm/commit
[llvm-rc] Serialize ACCELERATORS to .res files (serialization, pt 2).
authorMarek Sokolowski <mnbvmar@gmail.com>
Fri, 29 Sep 2017 19:07:44 +0000 (19:07 +0000)
committerMarek Sokolowski <mnbvmar@gmail.com>
Fri, 29 Sep 2017 19:07:44 +0000 (19:07 +0000)
commitb121e77d2ef4e7dd30fbbe9404315b5852bcd1c9
tree583060e610d99e89c1917610c1627b81518050a9
parente0d97dea2f357daa9c052a91bfb5c0248cf901eb
[llvm-rc] Serialize ACCELERATORS to .res files (serialization, pt 2).

This allows llvm-rc to serialize ACCELERATORS resources.

Additionally, as this is the first type of resource to support basic
optional resource statements (LANGUAGE, CHARACTERISTICS, VERSION),

ACCELERATORS statement documentation:
msdn.microsoft.com/en-us/library/windows/desktop/aa380610.aspx
Accelerator table structure documentation:
msdn.microsoft.com/en-us/library/windows/desktop/ms648010.aspx
Optional resource statement fields are described in:
msdn.microsoft.com/en-us/library/windows/desktop/ms648027.aspx

Thanks for Nico Weber for his original work in this area.

Differential Revision: https://reviews.llvm.org/D37824

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@314549 91177308-0d34-0410-b5e6-96231b3b80d8
20 files changed:
test/tools/llvm-rc/Inputs/tag-accelerators-ascii-alt.rc [new file with mode: 0644]
test/tools/llvm-rc/Inputs/tag-accelerators-ascii-control.rc [new file with mode: 0644]
test/tools/llvm-rc/Inputs/tag-accelerators-ascii-shift.rc [new file with mode: 0644]
test/tools/llvm-rc/Inputs/tag-accelerators-ascii-virtkey.rc [new file with mode: 0644]
test/tools/llvm-rc/Inputs/tag-accelerators-bad-id.rc [new file with mode: 0644]
test/tools/llvm-rc/Inputs/tag-accelerators-bad-key-id.rc [new file with mode: 0644]
test/tools/llvm-rc/Inputs/tag-accelerators-control-nonalpha.rc [new file with mode: 0644]
test/tools/llvm-rc/Inputs/tag-accelerators-long-virtkey.rc [new file with mode: 0644]
test/tools/llvm-rc/Inputs/tag-accelerators-no-caret.rc [new file with mode: 0644]
test/tools/llvm-rc/Inputs/tag-accelerators-no-type.rc [new file with mode: 0644]
test/tools/llvm-rc/Inputs/tag-accelerators-only-caret.rc [new file with mode: 0644]
test/tools/llvm-rc/Inputs/tag-accelerators-too-long.rc [new file with mode: 0644]
test/tools/llvm-rc/Inputs/tag-accelerators-too-short.rc [new file with mode: 0644]
test/tools/llvm-rc/Inputs/tag-accelerators-virtual-nonalpha.rc [new file with mode: 0644]
test/tools/llvm-rc/Inputs/tag-accelerators.rc [new file with mode: 0644]
test/tools/llvm-rc/tag-accelerators.test [new file with mode: 0644]
tools/llvm-rc/ResourceFileWriter.cpp
tools/llvm-rc/ResourceFileWriter.h
tools/llvm-rc/ResourceScriptStmt.h
tools/llvm-rc/ResourceVisitor.h