182847436SNico Weber // RUN: rm -rf %t 282847436SNico Weber // RUN: split-file %s %t 382847436SNico Weber 405ea321fSNico Weber // RUN: %clang_cl --target=x86_64-windows \ 505ea321fSNico Weber // RUN: /winsysroot %t \ 605ea321fSNico Weber // RUN: -### -- %t/foo.cpp 2>&1 | FileCheck %s 705ea321fSNico Weber // RUN: %clang_cl --target=x86_64-windows \ 8951f362eSNico Weber // RUN: /diasdkdir "%t/DIA SDK" \ 9951f362eSNico Weber // RUN: /vctoolsdir %t/VC/Tools/MSVC/27.1828.18284 \ 1082847436SNico Weber // RUN: /winsdkdir "%t/Windows Kits/10" \ 1182847436SNico Weber // RUN: -### -- %t/foo.cpp 2>&1 | FileCheck %s 1282847436SNico Weber 13951f362eSNico Weber // CHECK: "-internal-isystem" "[[ROOT:[^"]*]]{{/|\\\\}}DIA SDK{{/|\\\\}}include" 14951f362eSNico Weber // CHECK: "-internal-isystem" "[[ROOT]]{{/|\\\\}}VC{{/|\\\\}}Tools{{/|\\\\}}MSVC{{/|\\\\}}27.1828.18284{{/|\\\\}}include" 1582847436SNico Weber // CHECK: "-internal-isystem" "[[ROOT]]{{/|\\\\}}VC{{/|\\\\}}Tools{{/|\\\\}}MSVC{{/|\\\\}}27.1828.18284{{/|\\\\}}atlmfc{{/|\\\\}}include" 1682847436SNico Weber // CHECK: "-internal-isystem" "[[ROOT]]{{/|\\\\}}Windows Kits{{/|\\\\}}10{{/|\\\\}}Include{{/|\\\\}}10.0.19041.0{{/|\\\\}}ucrt" 1782847436SNico Weber // CHECK: "-internal-isystem" "[[ROOT]]{{/|\\\\}}Windows Kits{{/|\\\\}}10{{/|\\\\}}Include{{/|\\\\}}10.0.19041.0{{/|\\\\}}shared" 1882847436SNico Weber // CHECK: "-internal-isystem" "[[ROOT]]{{/|\\\\}}Windows Kits{{/|\\\\}}10{{/|\\\\}}Include{{/|\\\\}}10.0.19041.0{{/|\\\\}}um" 1982847436SNico Weber // CHECK: "-internal-isystem" "[[ROOT]]{{/|\\\\}}Windows Kits{{/|\\\\}}10{{/|\\\\}}Include{{/|\\\\}}10.0.19041.0{{/|\\\\}}winrt" 20*9c195baeSKagami Sascha Rosylight // CHECK: "-internal-isystem" "[[ROOT]]{{/|\\\\}}Windows Kits{{/|\\\\}}10{{/|\\\\}}Include{{/|\\\\}}10.0.19041.0{{/|\\\\}}cppwinrt" 2182847436SNico Weber 22951f362eSNico Weber // CHECK: "-libpath:[[ROOT]]{{/|\\\\}}DIA SDK{{/|\\\\}}lib{{/|\\\\}}amd64" 23951f362eSNico Weber // CHECK: "-libpath:[[ROOT]]{{/|\\\\}}VC{{/|\\\\}}Tools{{/|\\\\}}MSVC{{/|\\\\}}27.1828.18284{{/|\\\\}}lib{{/|\\\\}}x64" 24951f362eSNico Weber // CHECK: "-libpath:[[ROOT]]{{/|\\\\}}VC{{/|\\\\}}Tools{{/|\\\\}}MSVC{{/|\\\\}}27.1828.18284{{/|\\\\}}atlmfc{{/|\\\\}}lib{{/|\\\\}}x64" 25951f362eSNico Weber // CHECK: "-libpath:[[ROOT]]{{/|\\\\}}Windows Kits{{/|\\\\}}10{{/|\\\\}}Lib{{/|\\\\}}10.0.19041.0{{/|\\\\}}ucrt{{/|\\\\}}x64" 26951f362eSNico Weber // CHECK: "-libpath:[[ROOT]]{{/|\\\\}}Windows Kits{{/|\\\\}}10{{/|\\\\}}Lib{{/|\\\\}}10.0.19041.0{{/|\\\\}}um{{/|\\\\}}x64" 27951f362eSNico Weber 2882847436SNico Weber #--- VC/Tools/MSVC/27.1828.18284/include/string 2982847436SNico Weber namespace std { 3082847436SNico Weber class mystring { 3182847436SNico Weber public: 3282847436SNico Weber bool empty(); 3382847436SNico Weber }; 3482847436SNico Weber } 3582847436SNico Weber 3682847436SNico Weber #--- Windows Kits/10/Include/10.0.19041.0/ucrt/assert.h 3782847436SNico Weber #define myassert(X) 3882847436SNico Weber 39951f362eSNico Weber #--- DIA SDK/include/cvconst.h 40951f362eSNico Weber #define myotherassert(X) 41951f362eSNico Weber 4282847436SNico Weber #--- foo.cpp 4382847436SNico Weber #include <assert.h> 4482847436SNico Weber #include <string> 4582847436SNico Weber f()4682847436SNico Webervoid f() { 4782847436SNico Weber std::mystring s; 4882847436SNico Weber myassert(s.empty()); 4982847436SNico Weber } 50