root/tools/perf/util/c++/clang-c.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. perf_clang__init
  2. perf_clang__cleanup
  3. test__clang_to_IR
  4. test__clang_to_obj
  5. perf_clang__compile_bpf

   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #ifndef PERF_UTIL_CLANG_C_H
   3 #define PERF_UTIL_CLANG_C_H
   4 
   5 #include <stddef.h>     /* for size_t */
   6 
   7 #ifdef __cplusplus
   8 extern "C" {
   9 #endif
  10 
  11 #ifdef HAVE_LIBCLANGLLVM_SUPPORT
  12 extern void perf_clang__init(void);
  13 extern void perf_clang__cleanup(void);
  14 
  15 extern int test__clang_to_IR(void);
  16 extern int test__clang_to_obj(void);
  17 
  18 extern int perf_clang__compile_bpf(const char *filename,
  19                                    void **p_obj_buf,
  20                                    size_t *p_obj_buf_sz);
  21 #else
  22 
  23 #include <errno.h>
  24 #include <linux/compiler.h>     /* for __maybe_unused */
  25 
  26 static inline void perf_clang__init(void) { }
  27 static inline void perf_clang__cleanup(void) { }
  28 
  29 static inline int test__clang_to_IR(void) { return -1; }
  30 static inline int test__clang_to_obj(void) { return -1;}
  31 
  32 static inline int
  33 perf_clang__compile_bpf(const char *filename __maybe_unused,
  34                         void **p_obj_buf __maybe_unused,
  35                         size_t *p_obj_buf_sz __maybe_unused)
  36 {
  37         return -ENOTSUP;
  38 }
  39 
  40 #endif
  41 
  42 #ifdef __cplusplus
  43 }
  44 #endif
  45 #endif

/* [<][>][^][v][top][bottom][index][help] */