[clang-cl] Implement /external:I, /external:env, and EXTERNAL_INCLUDE support (PR36003)
authorHans Wennborg <hans@chromium.org>
Wed, 16 Jun 2021 13:22:17 +0000 (15:22 +0200)
committerHans Wennborg <hans@chromium.org>
Mon, 21 Jun 2021 13:36:14 +0000 (15:36 +0200)
commit3063a5472266f05add4e5b85f34141ba2e66fa2e
treedebcea41f876f36ca55e1a985607b5a6a12d16b5
parentbbe16b7af2d66d2abcf75ad72af6155d4da964cb
[clang-cl] Implement /external:I, /external:env, and EXTERNAL_INCLUDE support (PR36003)

This patch does three things:

- Map the /external:I flag to -isystem

- Add support for the /external:env:<var> flag which reads system
  include paths from the <var> environment variable

- Pick up system include dirs EXTERNAL_INCLUDE in addition to the old
  INCLUDE environment variable.

Differential revision: https://reviews.llvm.org/D104387
clang/include/clang/Driver/Options.td
clang/lib/Driver/ToolChains/MSVC.cpp
clang/test/Driver/cl-include.c
clang/test/Driver/cl-options.c