xref: /llvm-project/clang/test/Driver/cl-sysroot.cpp (revision 9c195bae31c4eefc3e5360cefb4f601388a4f6d9)
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 Weber void f() {
4782847436SNico Weber   std::mystring s;
4882847436SNico Weber   myassert(s.empty());
4982847436SNico Weber }
50