[PATCH] D100755: [llvm-rc] [3/4] Run clang to preprocess input files

Martin Storsjö via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 19 05:21:42 PDT 2021


mstorsjo created this revision.
mstorsjo added reviewers: rnk, thakis, amccarth, aganea.
mstorsjo requested review of this revision.
Herald added a project: LLVM.

Allow opting out from preprocessing with a command line argument and
an environment variable. (Not all existing users of llvm-rc might have
clang available, theoretically at least.)

Update tests to pass -no-cpp (and one case of LLVM_RC_NO_CPP) to
make it not try to use clang (which isn't a build level dependency
of llvm-rc).

Update a few options to allow them both joined (as -DFOO) and separate
(-D BR), as rc.exe allows both forms of them.

With the verbose flag set, this prints the preprocessing command
used (which differs from what rc.exe does).

This uses 'clang' for preprocessing, instead of 'clang-cl'; for this
particular case, 'clang-cl' might be marginally easier, but using
'clang' simplifies the following patch. The 'clang' executable is
probably also available in a few more cases than 'clang-cl'.

As we can't rely on clang to exist when running these tests, this only
tests what kind of command lines are constructed.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D100755

Files:
  llvm/test/tools/llvm-rc/absolute.test
  llvm/test/tools/llvm-rc/codepage.test
  llvm/test/tools/llvm-rc/cpp-output.test
  llvm/test/tools/llvm-rc/flags.test
  llvm/test/tools/llvm-rc/helpmsg.test
  llvm/test/tools/llvm-rc/include-paths.test
  llvm/test/tools/llvm-rc/language.test
  llvm/test/tools/llvm-rc/memoryflags-stringtable.test
  llvm/test/tools/llvm-rc/memoryflags.test
  llvm/test/tools/llvm-rc/not-expr.test
  llvm/test/tools/llvm-rc/parser-expr.test
  llvm/test/tools/llvm-rc/parser.test
  llvm/test/tools/llvm-rc/preproc.test
  llvm/test/tools/llvm-rc/tag-accelerators.test
  llvm/test/tools/llvm-rc/tag-dialog.test
  llvm/test/tools/llvm-rc/tag-escape.test
  llvm/test/tools/llvm-rc/tag-html.test
  llvm/test/tools/llvm-rc/tag-icon-cursor.test
  llvm/test/tools/llvm-rc/tag-menu.test
  llvm/test/tools/llvm-rc/tag-stringtable.test
  llvm/test/tools/llvm-rc/tag-user.test
  llvm/test/tools/llvm-rc/tag-versioninfo.test
  llvm/test/tools/llvm-rc/tokenizer.test
  llvm/test/tools/llvm-rc/versioninfo-padding.test
  llvm/tools/llvm-rc/Opts.td
  llvm/tools/llvm-rc/llvm-rc.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D100755.338490.patch
Type: text/x-patch
Size: 47609 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210419/e84793e5/attachment.bin>


More information about the llvm-commits mailing list