20#ifndef COMPILE_GCC_CP_PLUGIN_H
21#define COMPILE_GCC_CP_PLUGIN_H
25#include "gcc-cp-interface.h"
38 gcc_cp_symbol_address_function *address_oracle,
39 gcc_cp_enter_leave_user_expr_scope_function *enter_scope,
40 gcc_cp_enter_leave_user_expr_scope_function *leave_scope,
44 address_oracle, enter_scope, leave_scope,
51#define GCC_METHOD0(R, N) R N () const;
52#define GCC_METHOD1(R, N, A) R N (A) const;
53#define GCC_METHOD2(R, N, A, B) R N (A, B) const;
54#define GCC_METHOD3(R, N, A, B, C) R N (A, B, C) const;
55#define GCC_METHOD4(R, N, A, B, C, D) R N (A, B, C, D) const;
56#define GCC_METHOD5(R, N, A, B, C, D, E) R N (A, B, C, D, E) const;
57#define GCC_METHOD7(R, N, A, B, C, D, E, F, G) R N (A, B, C, D, E, F, G) const;
59#include "gcc-cp-fe.def"
72 enum gcc_cp_symbol_kind sym_kind, gcc_type sym_type,
73 const char *substitution_name, gcc_address address,
74 const char *filename,
unsigned int line_number);
77 const struct gcc_vbase_array *base_classes,
78 const char *filename,
unsigned int line_number);
int finish_class_type(const char *debug_name, unsigned long size_in_bytes)
void set_callbacks(gcc_cp_oracle_function *binding_oracle, gcc_cp_symbol_address_function *address_oracle, gcc_cp_enter_leave_user_expr_scope_function *enter_scope, gcc_cp_enter_leave_user_expr_scope_function *leave_scope, void *datum)
gcc_type start_class_type(const char *debug_name, gcc_decl typedecl, const struct gcc_vbase_array *base_classes, const char *filename, unsigned int line_number)
gcc_cp_plugin(struct gcc_cp_context *gcc_cp)
int pop_binding_level(const char *debug_name)
struct gcc_cp_context * m_context
gcc_expr build_decl(const char *debug_decltype, const char *name, enum gcc_cp_symbol_kind sym_kind, gcc_type sym_type, const char *substitution_name, gcc_address address, const char *filename, unsigned int line_number)