linux/tools/perf/util/c++/clang-c.h
<<
>>
Prefs
   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#include <util-cxx.h>   /* for __maybe_unused */
   7
   8#ifdef __cplusplus
   9extern "C" {
  10#endif
  11
  12#ifdef HAVE_LIBCLANGLLVM_SUPPORT
  13extern void perf_clang__init(void);
  14extern void perf_clang__cleanup(void);
  15
  16extern int test__clang_to_IR(void);
  17extern int test__clang_to_obj(void);
  18
  19extern int perf_clang__compile_bpf(const char *filename,
  20                                   void **p_obj_buf,
  21                                   size_t *p_obj_buf_sz);
  22#else
  23
  24#include <errno.h>
  25
  26static inline void perf_clang__init(void) { }
  27static inline void perf_clang__cleanup(void) { }
  28
  29static inline int test__clang_to_IR(void) { return -1; }
  30static inline int test__clang_to_obj(void) { return -1;}
  31
  32static inline int
  33perf_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
  46