xref: /llvm-project/compiler-rt/test/builtins/TestCases/Darwin/os_version_check_test.c (revision 72e7fd7152885f9a96060ee8ca35d9e816d7190d)
1*72e7fd71SLouis Dionne // RUN: %clang %s -o %t -mmacosx-version-min=10.7 -framework CoreFoundation -DMAJOR=%macos_version_major -DMINOR=%macos_version_minor -DSUBMINOR=%macos_version_subminor
20490e1c5SErik Pilkington // RUN: %run %t
30490e1c5SErik Pilkington 
40490e1c5SErik Pilkington int __isOSVersionAtLeast(int Major, int Minor, int Subminor);
50490e1c5SErik Pilkington 
main()60490e1c5SErik Pilkington int main() {
70490e1c5SErik Pilkington   if (!__isOSVersionAtLeast(MAJOR, MINOR, SUBMINOR))
80490e1c5SErik Pilkington     return 1;
90490e1c5SErik Pilkington   if (__isOSVersionAtLeast(MAJOR, MINOR, SUBMINOR + 1))
100490e1c5SErik Pilkington     return 1;
110490e1c5SErik Pilkington   if (SUBMINOR && __isOSVersionAtLeast(MAJOR + 1, MINOR, SUBMINOR - 1))
120490e1c5SErik Pilkington     return 1;
130490e1c5SErik Pilkington   if (SUBMINOR && !__isOSVersionAtLeast(MAJOR, MINOR, SUBMINOR - 1))
140490e1c5SErik Pilkington     return 1;
150490e1c5SErik Pilkington   if (MAJOR && !__isOSVersionAtLeast(MAJOR - 1, MINOR + 1, SUBMINOR))
160490e1c5SErik Pilkington     return 1;
170490e1c5SErik Pilkington 
180490e1c5SErik Pilkington   return 0;
190490e1c5SErik Pilkington }
20