/* SPDX-License-Identifier: GPL-2.0 */ #ifndef PERF_UTIL_CLANG_C_H #define PERF_UTIL_CLANG_C_H #include <stddef.h> /* for size_t */ #ifdef __cplusplus extern "C" { #endif #ifdef HAVE_LIBCLANGLLVM_SUPPORT extern void perf_clang__init(void); extern void perf_clang__cleanup(void); extern int test__clang_to_IR(void); extern int test__clang_to_obj(void); extern int perf_clang__compile_bpf(const char *filename, void **p_obj_buf, size_t *p_obj_buf_sz); #else #include <errno.h> #include <linux/compiler.h> /* for __maybe_unused */ static inline void perf_clang__init(void) { } static inline void perf_clang__cleanup(void) { } static inline int test__clang_to_IR(void) { return -1; } static inline int test__clang_to_obj(void) { return -1;} static inline int perf_clang__compile_bpf(const char *filename __maybe_unused, void **p_obj_buf __maybe_unused, size_t *p_obj_buf_sz __maybe_unused) { return -ENOTSUP; } #endif #ifdef __cplusplus } #endif #endif |