| /* 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); | 
 |  | 
 | struct test_suite; | 
 | extern int test__clang_to_IR(struct test_suite *test, int subtest); | 
 | extern int test__clang_to_obj(struct test_suite *test, int subtest); | 
 |  | 
 | 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 | 
 | 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 |