1 // RUN: rm -rf %t 2 // RUN: split-file %s %t 3 4 // RUN: %clang_cl /winsysroot %t -### -- %t/foo.cpp 2>&1 | FileCheck %s 5 // RUN: %clang_cl /vctoolsdir %t/VC/Tools/MSVC/27.1828.18284 \ 6 // RUN: /winsdkdir "%t/Windows Kits/10" \ 7 // RUN: -### -- %t/foo.cpp 2>&1 | FileCheck %s 8 9 // CHECK: "-internal-isystem" "[[ROOT:[^"]*]]{{/|\\\\}}VC{{/|\\\\}}Tools{{/|\\\\}}MSVC{{/|\\\\}}27.1828.18284{{/|\\\\}}include" 10 // CHECK: "-internal-isystem" "[[ROOT]]{{/|\\\\}}VC{{/|\\\\}}Tools{{/|\\\\}}MSVC{{/|\\\\}}27.1828.18284{{/|\\\\}}atlmfc{{/|\\\\}}include" 11 // CHECK: "-internal-isystem" "[[ROOT]]{{/|\\\\}}Windows Kits{{/|\\\\}}10{{/|\\\\}}Include{{/|\\\\}}10.0.19041.0{{/|\\\\}}ucrt" 12 // CHECK: "-internal-isystem" "[[ROOT]]{{/|\\\\}}Windows Kits{{/|\\\\}}10{{/|\\\\}}Include{{/|\\\\}}10.0.19041.0{{/|\\\\}}shared" 13 // CHECK: "-internal-isystem" "[[ROOT]]{{/|\\\\}}Windows Kits{{/|\\\\}}10{{/|\\\\}}Include{{/|\\\\}}10.0.19041.0{{/|\\\\}}um" 14 // CHECK: "-internal-isystem" "[[ROOT]]{{/|\\\\}}Windows Kits{{/|\\\\}}10{{/|\\\\}}Include{{/|\\\\}}10.0.19041.0{{/|\\\\}}winrt" 15 16 #--- VC/Tools/MSVC/27.1828.18284/include/string 17 namespace std { 18 class mystring { 19 public: 20 bool empty(); 21 }; 22 } 23 24 #--- Windows Kits/10/Include/10.0.19041.0/ucrt/assert.h 25 #define myassert(X) 26 27 #--- foo.cpp 28 #include <assert.h> 29 #include <string> 30 31 void f() { 32 std::mystring s; 33 myassert(s.empty()); 34 } 35