xref: /llvm-project/clang/test/Driver/fdefine-target-os-macros.c (revision e5ed7b6e2fd368b722b6359556cd0125881e7638)
16e1f1916SZixu Wang // RUN: %clang -### --target=arm64-apple-darwin %s 2>&1 | FileCheck %s --check-prefix=DARWIN-DEFAULT
2c3f96acbSZixu Wang // DARWIN-DEFAULT: "-fdefine-target-os-macros"
36e1f1916SZixu Wang 
46e1f1916SZixu Wang // RUN: %clang -### --target=arm-none-linux-gnu %s 2>&1 | FileCheck %s --check-prefix=NON-DARWIN-DEFAULT
56e1f1916SZixu Wang // RUN: %clang -### --target=x86_64-pc-win32 %s 2>&1 | FileCheck %s --check-prefix=NON-DARWIN-DEFAULT
66e1f1916SZixu Wang // NON-DARWIN-DEFAULT-NOT: "-fdefine-target-os-macros"
76e1f1916SZixu Wang 
8c3f96acbSZixu Wang // RUN: %clang -dM -E --target=arm64-apple-macos %s 2>&1 \
96e1f1916SZixu Wang // RUN: | FileCheck %s -DMAC=1         \
106e1f1916SZixu Wang // RUN:                -DOSX=1         \
116e1f1916SZixu Wang // RUN:                -DIPHONE=0      \
126e1f1916SZixu Wang // RUN:                -DIOS=0         \
136e1f1916SZixu Wang // RUN:                -DTV=0          \
146e1f1916SZixu Wang // RUN:                -DWATCH=0       \
15*e5ed7b6eSrohit-rao // RUN:                -DVISION=0      \
166e1f1916SZixu Wang // RUN:                -DDRIVERKIT=0   \
176e1f1916SZixu Wang // RUN:                -DMACCATALYST=0 \
186e1f1916SZixu Wang // RUN:                -DEMBEDDED=0    \
196e1f1916SZixu Wang // RUN:                -DSIMULATOR=0   \
206e1f1916SZixu Wang // RUN:                -DWINDOWS=0     \
216e1f1916SZixu Wang // RUN:                -DLINUX=0       \
226e1f1916SZixu Wang // RUN:                -DUNIX=0
236e1f1916SZixu Wang 
24c3f96acbSZixu Wang // RUN: %clang -dM -E --target=arm64-apple-ios %s 2>&1 \
256e1f1916SZixu Wang // RUN: | FileCheck %s -DMAC=1         \
266e1f1916SZixu Wang // RUN:                -DOSX=0         \
276e1f1916SZixu Wang // RUN:                -DIPHONE=1      \
286e1f1916SZixu Wang // RUN:                -DIOS=1         \
296e1f1916SZixu Wang // RUN:                -DTV=0          \
306e1f1916SZixu Wang // RUN:                -DWATCH=0       \
31*e5ed7b6eSrohit-rao // RUN:                -DVISION=0      \
326e1f1916SZixu Wang // RUN:                -DDRIVERKIT=0   \
336e1f1916SZixu Wang // RUN:                -DMACCATALYST=0 \
346e1f1916SZixu Wang // RUN:                -DEMBEDDED=1    \
356e1f1916SZixu Wang // RUN:                -DSIMULATOR=0   \
366e1f1916SZixu Wang // RUN:                -DWINDOWS=0     \
376e1f1916SZixu Wang // RUN:                -DLINUX=0       \
386e1f1916SZixu Wang // RUN:                -DUNIX=0
396e1f1916SZixu Wang 
40c3f96acbSZixu Wang // RUN: %clang -dM -E --target=arm64-apple-ios-macabi %s 2>&1 \
416e1f1916SZixu Wang // RUN: | FileCheck %s -DMAC=1         \
426e1f1916SZixu Wang // RUN:                -DOSX=0         \
436e1f1916SZixu Wang // RUN:                -DIPHONE=1      \
446e1f1916SZixu Wang // RUN:                -DIOS=1         \
456e1f1916SZixu Wang // RUN:                -DTV=0          \
466e1f1916SZixu Wang // RUN:                -DWATCH=0       \
47*e5ed7b6eSrohit-rao // RUN:                -DVISION=0      \
486e1f1916SZixu Wang // RUN:                -DDRIVERKIT=0   \
496e1f1916SZixu Wang // RUN:                -DMACCATALYST=1 \
506e1f1916SZixu Wang // RUN:                -DEMBEDDED=0    \
516e1f1916SZixu Wang // RUN:                -DSIMULATOR=0   \
526e1f1916SZixu Wang // RUN:                -DWINDOWS=0     \
536e1f1916SZixu Wang // RUN:                -DLINUX=0       \
546e1f1916SZixu Wang // RUN:                -DUNIX=0
556e1f1916SZixu Wang 
56c3f96acbSZixu Wang // RUN: %clang -dM -E --target=arm64-apple-ios-simulator %s 2>&1 \
576e1f1916SZixu Wang // RUN: | FileCheck %s -DMAC=1         \
586e1f1916SZixu Wang // RUN:                -DOSX=0         \
596e1f1916SZixu Wang // RUN:                -DIPHONE=1      \
606e1f1916SZixu Wang // RUN:                -DIOS=1         \
616e1f1916SZixu Wang // RUN:                -DTV=0          \
626e1f1916SZixu Wang // RUN:                -DWATCH=0       \
63*e5ed7b6eSrohit-rao // RUN:                -DVISION=0      \
646e1f1916SZixu Wang // RUN:                -DDRIVERKIT=0   \
656e1f1916SZixu Wang // RUN:                -DMACCATALYST=0 \
666e1f1916SZixu Wang // RUN:                -DEMBEDDED=0    \
676e1f1916SZixu Wang // RUN:                -DSIMULATOR=1   \
686e1f1916SZixu Wang // RUN:                -DWINDOWS=0     \
696e1f1916SZixu Wang // RUN:                -DLINUX=0       \
706e1f1916SZixu Wang // RUN:                -DUNIX=0
716e1f1916SZixu Wang 
72c3f96acbSZixu Wang // RUN: %clang -dM -E --target=arm64-apple-tvos %s 2>&1 \
736e1f1916SZixu Wang // RUN: | FileCheck %s -DMAC=1         \
746e1f1916SZixu Wang // RUN:                -DOSX=0         \
756e1f1916SZixu Wang // RUN:                -DIPHONE=1      \
766e1f1916SZixu Wang // RUN:                -DIOS=0         \
776e1f1916SZixu Wang // RUN:                -DTV=1          \
786e1f1916SZixu Wang // RUN:                -DWATCH=0       \
79*e5ed7b6eSrohit-rao // RUN:                -DVISION=0      \
806e1f1916SZixu Wang // RUN:                -DDRIVERKIT=0   \
816e1f1916SZixu Wang // RUN:                -DMACCATALYST=0 \
826e1f1916SZixu Wang // RUN:                -DEMBEDDED=1    \
836e1f1916SZixu Wang // RUN:                -DSIMULATOR=0   \
846e1f1916SZixu Wang // RUN:                -DWINDOWS=0     \
856e1f1916SZixu Wang // RUN:                -DLINUX=0       \
866e1f1916SZixu Wang // RUN:                -DUNIX=0
876e1f1916SZixu Wang 
88c3f96acbSZixu Wang // RUN: %clang -dM -E --target=arm64-apple-tvos-simulator %s 2>&1 \
896e1f1916SZixu Wang // RUN: | FileCheck %s -DMAC=1         \
906e1f1916SZixu Wang // RUN:                -DOSX=0         \
916e1f1916SZixu Wang // RUN:                -DIPHONE=1      \
926e1f1916SZixu Wang // RUN:                -DIOS=0         \
936e1f1916SZixu Wang // RUN:                -DTV=1          \
946e1f1916SZixu Wang // RUN:                -DWATCH=0       \
95*e5ed7b6eSrohit-rao // RUN:                -DVISION=0      \
966e1f1916SZixu Wang // RUN:                -DDRIVERKIT=0   \
976e1f1916SZixu Wang // RUN:                -DMACCATALYST=0 \
986e1f1916SZixu Wang // RUN:                -DEMBEDDED=0    \
996e1f1916SZixu Wang // RUN:                -DSIMULATOR=1   \
1006e1f1916SZixu Wang // RUN:                -DWINDOWS=0     \
1016e1f1916SZixu Wang // RUN:                -DLINUX=0       \
1026e1f1916SZixu Wang // RUN:                -DUNIX=0
1036e1f1916SZixu Wang 
104c3f96acbSZixu Wang // RUN: %clang -dM -E --target=arm64-apple-watchos %s 2>&1 \
1056e1f1916SZixu Wang // RUN: | FileCheck %s -DMAC=1         \
1066e1f1916SZixu Wang // RUN:                -DOSX=0         \
1076e1f1916SZixu Wang // RUN:                -DIPHONE=1      \
1086e1f1916SZixu Wang // RUN:                -DIOS=0         \
1096e1f1916SZixu Wang // RUN:                -DTV=0          \
1106e1f1916SZixu Wang // RUN:                -DWATCH=1       \
111*e5ed7b6eSrohit-rao // RUN:                -DVISION=0      \
1126e1f1916SZixu Wang // RUN:                -DDRIVERKIT=0   \
1136e1f1916SZixu Wang // RUN:                -DMACCATALYST=0 \
1146e1f1916SZixu Wang // RUN:                -DEMBEDDED=1    \
1156e1f1916SZixu Wang // RUN:                -DSIMULATOR=0   \
1166e1f1916SZixu Wang // RUN:                -DWINDOWS=0     \
1176e1f1916SZixu Wang // RUN:                -DLINUX=0       \
1186e1f1916SZixu Wang // RUN:                -DUNIX=0
1196e1f1916SZixu Wang 
120c3f96acbSZixu Wang // RUN: %clang -dM -E --target=arm64-apple-watchos-simulator %s 2>&1 \
1216e1f1916SZixu Wang // RUN: | FileCheck %s -DMAC=1         \
1226e1f1916SZixu Wang // RUN:                -DOSX=0         \
1236e1f1916SZixu Wang // RUN:                -DIPHONE=1      \
1246e1f1916SZixu Wang // RUN:                -DIOS=0         \
1256e1f1916SZixu Wang // RUN:                -DTV=0          \
1266e1f1916SZixu Wang // RUN:                -DWATCH=1       \
127*e5ed7b6eSrohit-rao // RUN:                -DVISION=0      \
128*e5ed7b6eSrohit-rao // RUN:                -DDRIVERKIT=0   \
129*e5ed7b6eSrohit-rao // RUN:                -DMACCATALYST=0 \
130*e5ed7b6eSrohit-rao // RUN:                -DEMBEDDED=0    \
131*e5ed7b6eSrohit-rao // RUN:                -DSIMULATOR=1   \
132*e5ed7b6eSrohit-rao // RUN:                -DWINDOWS=0     \
133*e5ed7b6eSrohit-rao // RUN:                -DLINUX=0       \
134*e5ed7b6eSrohit-rao // RUN:                -DUNIX=0
135*e5ed7b6eSrohit-rao 
136*e5ed7b6eSrohit-rao // RUN: %clang -dM -E --target=arm64-apple-xros %s 2>&1 \
137*e5ed7b6eSrohit-rao // RUN: | FileCheck %s -DMAC=1         \
138*e5ed7b6eSrohit-rao // RUN:                -DOSX=0         \
139*e5ed7b6eSrohit-rao // RUN:                -DIPHONE=1      \
140*e5ed7b6eSrohit-rao // RUN:                -DIOS=0         \
141*e5ed7b6eSrohit-rao // RUN:                -DTV=0          \
142*e5ed7b6eSrohit-rao // RUN:                -DWATCH=0       \
143*e5ed7b6eSrohit-rao // RUN:                -DVISION=1      \
144*e5ed7b6eSrohit-rao // RUN:                -DDRIVERKIT=0   \
145*e5ed7b6eSrohit-rao // RUN:                -DMACCATALYST=0 \
146*e5ed7b6eSrohit-rao // RUN:                -DEMBEDDED=1    \
147*e5ed7b6eSrohit-rao // RUN:                -DSIMULATOR=0   \
148*e5ed7b6eSrohit-rao // RUN:                -DWINDOWS=0     \
149*e5ed7b6eSrohit-rao // RUN:                -DLINUX=0       \
150*e5ed7b6eSrohit-rao // RUN:                -DUNIX=0
151*e5ed7b6eSrohit-rao 
152*e5ed7b6eSrohit-rao // RUN: %clang -dM -E --target=arm64-apple-xros-simulator %s 2>&1 \
153*e5ed7b6eSrohit-rao // RUN: | FileCheck %s -DMAC=1         \
154*e5ed7b6eSrohit-rao // RUN:                -DOSX=0         \
155*e5ed7b6eSrohit-rao // RUN:                -DIPHONE=1      \
156*e5ed7b6eSrohit-rao // RUN:                -DIOS=0         \
157*e5ed7b6eSrohit-rao // RUN:                -DTV=0          \
158*e5ed7b6eSrohit-rao // RUN:                -DWATCH=0       \
159*e5ed7b6eSrohit-rao // RUN:                -DVISION=1      \
1606e1f1916SZixu Wang // RUN:                -DDRIVERKIT=0   \
1616e1f1916SZixu Wang // RUN:                -DMACCATALYST=0 \
1626e1f1916SZixu Wang // RUN:                -DEMBEDDED=0    \
1636e1f1916SZixu Wang // RUN:                -DSIMULATOR=1   \
1646e1f1916SZixu Wang // RUN:                -DWINDOWS=0     \
1656e1f1916SZixu Wang // RUN:                -DLINUX=0       \
1666e1f1916SZixu Wang // RUN:                -DUNIX=0
1676e1f1916SZixu Wang 
168c3f96acbSZixu Wang // RUN: %clang -dM -E --target=arm64-apple-driverkit %s 2>&1 \
1696e1f1916SZixu Wang // RUN: | FileCheck %s -DMAC=1         \
1706e1f1916SZixu Wang // RUN:                -DOSX=0         \
1716e1f1916SZixu Wang // RUN:                -DIPHONE=0      \
1726e1f1916SZixu Wang // RUN:                -DIOS=0         \
1736e1f1916SZixu Wang // RUN:                -DTV=0          \
1746e1f1916SZixu Wang // RUN:                -DWATCH=0       \
175*e5ed7b6eSrohit-rao // RUN:                -DVISION=0      \
1766e1f1916SZixu Wang // RUN:                -DDRIVERKIT=1   \
1776e1f1916SZixu Wang // RUN:                -DMACCATALYST=0 \
1786e1f1916SZixu Wang // RUN:                -DEMBEDDED=0    \
1796e1f1916SZixu Wang // RUN:                -DSIMULATOR=0   \
1806e1f1916SZixu Wang // RUN:                -DWINDOWS=0     \
1816e1f1916SZixu Wang // RUN:                -DLINUX=0       \
1826e1f1916SZixu Wang // RUN:                -DUNIX=0
1836e1f1916SZixu Wang 
1846e1f1916SZixu Wang // RUN: %clang -dM -E --target=x86_64-pc-linux-gnu \
1856e1f1916SZixu Wang // RUN:        -fdefine-target-os-macros %s 2>&1 \
1866e1f1916SZixu Wang // RUN: | FileCheck %s -DMAC=0         \
1876e1f1916SZixu Wang // RUN:                -DOSX=0         \
1886e1f1916SZixu Wang // RUN:                -DIPHONE=0      \
1896e1f1916SZixu Wang // RUN:                -DIOS=0         \
1906e1f1916SZixu Wang // RUN:                -DTV=0          \
1916e1f1916SZixu Wang // RUN:                -DWATCH=0       \
192*e5ed7b6eSrohit-rao // RUN:                -DVISION=0      \
1936e1f1916SZixu Wang // RUN:                -DDRIVERKIT=0   \
1946e1f1916SZixu Wang // RUN:                -DMACCATALYST=0 \
1956e1f1916SZixu Wang // RUN:                -DEMBEDDED=0    \
1966e1f1916SZixu Wang // RUN:                -DSIMULATOR=0   \
1976e1f1916SZixu Wang // RUN:                -DWINDOWS=0     \
1986e1f1916SZixu Wang // RUN:                -DLINUX=1       \
1996e1f1916SZixu Wang // RUN:                -DUNIX=0
2006e1f1916SZixu Wang 
2016e1f1916SZixu Wang // RUN: %clang -dM -E --target=x86_64-pc-win32 \
2026e1f1916SZixu Wang // RUN:        -fdefine-target-os-macros %s 2>&1 \
2036e1f1916SZixu Wang // RUN: | FileCheck %s -DMAC=0         \
2046e1f1916SZixu Wang // RUN:                -DOSX=0         \
2056e1f1916SZixu Wang // RUN:                -DIPHONE=0      \
2066e1f1916SZixu Wang // RUN:                -DIOS=0         \
2076e1f1916SZixu Wang // RUN:                -DTV=0          \
2086e1f1916SZixu Wang // RUN:                -DWATCH=0       \
209*e5ed7b6eSrohit-rao // RUN:                -DVISION=0      \
2106e1f1916SZixu Wang // RUN:                -DDRIVERKIT=0   \
2116e1f1916SZixu Wang // RUN:                -DMACCATALYST=0 \
2126e1f1916SZixu Wang // RUN:                -DEMBEDDED=0    \
2136e1f1916SZixu Wang // RUN:                -DSIMULATOR=0   \
2146e1f1916SZixu Wang // RUN:                -DWINDOWS=1     \
2156e1f1916SZixu Wang // RUN:                -DLINUX=0       \
2166e1f1916SZixu Wang // RUN:                -DUNIX=0
2176e1f1916SZixu Wang 
2186e1f1916SZixu Wang // RUN: %clang -dM -E --target=x86_64-pc-windows-gnu \
2196e1f1916SZixu Wang // RUN:        -fdefine-target-os-macros %s 2>&1 \
2206e1f1916SZixu Wang // RUN: | FileCheck %s -DMAC=0         \
2216e1f1916SZixu Wang // RUN:                -DOSX=0         \
2226e1f1916SZixu Wang // RUN:                -DIPHONE=0      \
2236e1f1916SZixu Wang // RUN:                -DIOS=0         \
2246e1f1916SZixu Wang // RUN:                -DTV=0          \
2256e1f1916SZixu Wang // RUN:                -DWATCH=0       \
226*e5ed7b6eSrohit-rao // RUN:                -DVISION=0      \
2276e1f1916SZixu Wang // RUN:                -DDRIVERKIT=0   \
2286e1f1916SZixu Wang // RUN:                -DMACCATALYST=0 \
2296e1f1916SZixu Wang // RUN:                -DEMBEDDED=0    \
2306e1f1916SZixu Wang // RUN:                -DSIMULATOR=0   \
2316e1f1916SZixu Wang // RUN:                -DWINDOWS=1     \
2326e1f1916SZixu Wang // RUN:                -DLINUX=0       \
2336e1f1916SZixu Wang // RUN:                -DUNIX=0
2346e1f1916SZixu Wang 
2356e1f1916SZixu Wang // RUN: %clang -dM -E --target=sparc-none-solaris \
2366e1f1916SZixu Wang // RUN:        -fdefine-target-os-macros %s 2>&1 \
2376e1f1916SZixu Wang // RUN: | FileCheck %s -DMAC=0         \
2386e1f1916SZixu Wang // RUN:                -DOSX=0         \
2396e1f1916SZixu Wang // RUN:                -DIPHONE=0      \
2406e1f1916SZixu Wang // RUN:                -DIOS=0         \
2416e1f1916SZixu Wang // RUN:                -DTV=0          \
2426e1f1916SZixu Wang // RUN:                -DWATCH=0       \
243*e5ed7b6eSrohit-rao // RUN:                -DVISION=0      \
2446e1f1916SZixu Wang // RUN:                -DDRIVERKIT=0   \
2456e1f1916SZixu Wang // RUN:                -DMACCATALYST=0 \
2466e1f1916SZixu Wang // RUN:                -DEMBEDDED=0    \
2476e1f1916SZixu Wang // RUN:                -DSIMULATOR=0   \
2486e1f1916SZixu Wang // RUN:                -DWINDOWS=0     \
2496e1f1916SZixu Wang // RUN:                -DLINUX=0       \
2506e1f1916SZixu Wang // RUN:                -DUNIX=1
2516e1f1916SZixu Wang 
2526e1f1916SZixu Wang // RUN: %clang -dM -E --target=arm64-apple-macos \
2536e1f1916SZixu Wang // RUN:        -fno-define-target-os-macros %s 2>&1 \
2546e1f1916SZixu Wang // RUN: | FileCheck %s --check-prefix=NEG
2556e1f1916SZixu Wang 
2566e1f1916SZixu Wang // RUN: %clang -dM -E --target=arm64-apple-macos \
2576e1f1916SZixu Wang // RUN:        -fdefine-target-os-macros \
2586e1f1916SZixu Wang // RUN:        -fno-define-target-os-macros %s 2>&1 \
2596e1f1916SZixu Wang // RUN: | FileCheck %s --check-prefix=NEG
2606e1f1916SZixu Wang 
2616e1f1916SZixu Wang // RUN: %clang -dM -E --target=x86_64-pc-windows \
2626e1f1916SZixu Wang // RUN:        -fdefine-target-os-macros \
2636e1f1916SZixu Wang // RUN:        -fno-define-target-os-macros %s 2>&1 \
2646e1f1916SZixu Wang // RUN: | FileCheck %s --check-prefix=NEG
2656e1f1916SZixu Wang 
2666e1f1916SZixu Wang // NEG-NOT: #define TARGET_OS_
2676e1f1916SZixu Wang 
2686e1f1916SZixu Wang // CHECK-DAG: #define TARGET_OS_MAC [[MAC]]
2696e1f1916SZixu Wang // CHECK-DAG: #define TARGET_OS_OSX [[OSX]]
2706e1f1916SZixu Wang // CHECK-DAG: #define TARGET_OS_IPHONE [[IPHONE]]
2716e1f1916SZixu Wang // CHECK-DAG: #define TARGET_OS_IOS [[IOS]]
2726e1f1916SZixu Wang // CHECK-DAG: #define TARGET_OS_TV [[TV]]
2736e1f1916SZixu Wang // CHECK-DAG: #define TARGET_OS_WATCH [[WATCH]]
274*e5ed7b6eSrohit-rao // CHECK-DAG: #define TARGET_OS_VISION [[VISION]]
2756e1f1916SZixu Wang // CHECK-DAG: #define TARGET_OS_DRIVERKIT [[DRIVERKIT]]
2766e1f1916SZixu Wang // CHECK-DAG: #define TARGET_OS_MACCATALYST [[MACCATALYST]]
2776e1f1916SZixu Wang // CHECK-DAG: #define TARGET_OS_SIMULATOR [[SIMULATOR]]
2786e1f1916SZixu Wang // Deprecated
2796e1f1916SZixu Wang // CHECK-DAG: #define TARGET_OS_EMBEDDED [[EMBEDDED]]
2806e1f1916SZixu Wang // CHECK-DAG: #define TARGET_OS_NANO [[WATCH]]
2816e1f1916SZixu Wang // CHECK-DAG: #define TARGET_IPHONE_SIMULATOR [[SIMULATOR]]
2826e1f1916SZixu Wang // CHECK-DAG: #define TARGET_OS_UIKITFORMAC [[MACCATALYST]]
2836e1f1916SZixu Wang // Non-darwin OSes
2846e1f1916SZixu Wang // CHECK-DAG: #define TARGET_OS_WIN32 [[WINDOWS]]
2856e1f1916SZixu Wang // CHECK-DAG: #define TARGET_OS_WINDOWS [[WINDOWS]]
2866e1f1916SZixu Wang // CHECK-DAG: #define TARGET_OS_LINUX [[LINUX]]
2876e1f1916SZixu Wang // CHECK-DAG: #define TARGET_OS_UNIX [[UNIX]]
288