thakis added a comment.

Nice, that's much less convoluted than I had feared :)



================
Comment at: clang/lib/Driver/ToolChains/MSVC.cpp:1255
+    }
+  }
+
----------------
`/external:env` should happen after winsysroot I think. sysroots try to make 
builds hermetic and env vars defeat that.

I.e. this flag is more like the env var reads below than imsvc above – it reads 
the env mostly, instead of being a flag mostly.


================
Comment at: clang/lib/Driver/ToolChains/MSVC.cpp:1266
+    llvm::Optional<std::string> include_var =
+        llvm::sys::Process::GetEnv("INCLUDE");
+    llvm::Optional<std::string> ext_include_var =
----------------
Maybe this should grow a FIXME to make regular INCLUDE not a system include at 
some point? Kind of sounds like this is the direction msvc is moving in with 
the existence of EXTERNAL_INCLUDE at least.


================
Comment at: clang/test/Driver/cl-include.c:10
 
-// RUN: env INCLUDE=/my/system/inc %clang_cl -### -- %s 2>&1 | FileCheck %s 
--check-prefix=STDINC
+// RUN: env INCLUDE=/my/system/inc env EXTERNAL_INCLUDE=/my/system/inc2 
%clang_cl -### -- %s 2>&1 | FileCheck %s --check-prefix=STDINC
 // STDINC: "-internal-isystem" "/my/system/inc"
----------------
Should there be tests for the interaction with `/X`, `/winsysroot:`?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D104387/new/

https://reviews.llvm.org/D104387

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to