llvm-project/clang/test/SemaCXX/ifunc-has-attribute.cpp
Jon Roelofs acf9aa3c22
[clang] Support __attribute__((ifunc(...))) on Darwin platforms
Unlike ELF targets, MachO does not support the same kind of dynamic symbol
resolution at load time.  Instead, the corresponding MachO feature resolves
symbols lazily on first call.

Reviewers:
JDevlieghere, dmpolukhin, ahmedbougacha, tahonermann, echristo, MaskRay, erichkeane

Reviewed By: MaskRay, echristo, ahmedbougacha

Pull Request: https://github.com/llvm/llvm-project/pull/73687
2023-12-14 14:52:35 -07:00

17 lines
616 B
C++

// RUN: %clang_cc1 -emit-llvm-only -triple x86_64-linux-gnu -verify %s -DSUPPORTED=1
// RUN: %clang_cc1 -emit-llvm-only -triple x86_64-apple-macosx -verify %s -DSUPPORTED=1
// RUN: %clang_cc1 -emit-llvm-only -triple arm64-apple-macosx -verify %s -DSUPPORTED=1
// RUN: %clang_cc1 -emit-llvm-only -triple x86_64-pc-win32 -verify %s -DNOT_SUPPORTED=1
// expected-no-diagnostics
#if __has_attribute(ifunc)
# if NOT_SUPPORTED
# error "ifunc appears to be supported on this platform, but shouldn't be"
# endif
#else
# if SUPPORTED
# error "ifunc should be supported on this platform, but isn't"
# endif
#endif