xref: /llvm-project/clang/test/SemaCXX/ifunc-has-attribute.cpp (revision acf9aa3c22d6fe88abba848d2804da1a732d205a)
1 // RUN: %clang_cc1 -emit-llvm-only -triple x86_64-linux-gnu -verify %s -DSUPPORTED=1
2 // RUN: %clang_cc1 -emit-llvm-only -triple x86_64-apple-macosx -verify %s -DSUPPORTED=1
3 // RUN: %clang_cc1 -emit-llvm-only -triple arm64-apple-macosx -verify %s -DSUPPORTED=1
4 // RUN: %clang_cc1 -emit-llvm-only -triple x86_64-pc-win32 -verify %s -DNOT_SUPPORTED=1
5 
6 // expected-no-diagnostics
7 
8 #if __has_attribute(ifunc)
9 #  if NOT_SUPPORTED
10 #    error "ifunc appears to be supported on this platform, but shouldn't be"
11 #  endif
12 #else
13 #  if SUPPORTED
14 #    error "ifunc should be supported on this platform, but isn't"
15 #  endif
16 #endif
17