1 // RUN: %clang_cc1 -triple i386-pc-win32 -target-cpu pentium4 \
2 // RUN:     -fms-extensions -fms-compatibility -fms-compatibility-version=17.00 \
3 // RUN:     -ffreestanding -fsyntax-only -Werror \
4 // RUN:     -isystem %S/Inputs/include %s
5 
6 // RUN: %clang_cc1 -triple i386-pc-win32 -target-cpu broadwell \
7 // RUN:     -fms-extensions -fms-compatibility -fms-compatibility-version=17.00 \
8 // RUN:     -ffreestanding -fsyntax-only -Werror \
9 // RUN:     -isystem %S/Inputs/include %s
10 
11 // RUN: %clang_cc1 -triple x86_64-pc-win32  \
12 // RUN:     -fms-extensions -fms-compatibility -fms-compatibility-version=17.00 \
13 // RUN:     -ffreestanding -fsyntax-only -Werror \
14 // RUN:     -isystem %S/Inputs/include %s
15 
16 // RUN: %clang_cc1 -triple thumbv7--windows \
17 // RUN:     -fms-compatibility -fms-compatibility-version=17.00 \
18 // RUN:     -ffreestanding -fsyntax-only -Werror \
19 // RUN:     -isystem %S/Inputs/include %s
20 
21 // Intrin.h needs size_t, but -ffreestanding prevents us from getting it from
22 // stddef.h.  Work around it with this typedef.
23 typedef __SIZE_TYPE__ size_t;
24 
25 #include <Intrin.h>
26 
27 // Use some C++ to make sure we closed the extern "C" brackets.
28 template <typename T>
foo(T V)29 void foo(T V) {}
30