GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Typedefs | Functions
compile-c-support.c File Reference
#include "defs.h"
#include "compile-internal.h"
#include "compile-c.h"
#include "compile-cplus.h"
#include "compile.h"
#include "c-lang.h"
#include "macrotab.h"
#include "macroscope.h"
#include "regcache.h"
#include "gdbsupport/function-view.h"
#include "gdbsupport/gdb-dlfcn.h"
#include "gdbsupport/preprocessor.h"
#include "gdbarch.h"

Go to the source code of this file.

Classes

struct  c_push_user_expression
 
struct  pop_user_expression_nop
 
struct  c_add_code_header
 
struct  c_add_code_footer
 
struct  c_add_input
 
struct  cplus_push_user_expression
 
struct  cplus_pop_user_expression
 
struct  cplus_add_code_header
 
struct  cplus_add_input
 
class  compile_program< CompileInstanceType, PushUserExpressionPolicy, PopUserExpressionPolicy, AddCodeHeaderPolicy, AddCodeFooterPolicy, AddInputPolicy >
 

Typedefs

typedef compile_program< compile_c_instance, c_push_user_expression, pop_user_expression_nop, c_add_code_header, c_add_code_footer, c_add_inputc_compile_program
 
typedef compile_program< compile_cplus_instance, cplus_push_user_expression, cplus_pop_user_expression, cplus_add_code_header, c_add_code_footer, cplus_add_inputcplus_compile_program
 

Functions

const char * c_get_mode_for_size (int size)
 
std::string c_get_range_decl_name (const struct dynamic_prop *prop)
 
template<typename FUNCTYPE >
FUNCTYPE * load_libcompile (const char *fe_libcc, const char *fe_context)
 
template<typename INSTTYPE , typename FUNCTYPE , typename CTXTYPE , typename BASE_VERSION_TYPE , typename API_VERSION_TYPE >
std::unique_ptr< compile_instanceget_compile_context (const char *fe_libcc, const char *fe_context, BASE_VERSION_TYPE base_version, API_VERSION_TYPE api_version)
 
std::unique_ptr< compile_instancec_get_compile_context ()
 
std::unique_ptr< compile_instancecplus_get_compile_context ()
 
static void print_one_macro (const char *name, const struct macro_definition *macro, struct macro_source_file *source, int line, ui_file *file)
 
static void write_macro_definitions (const struct block *block, CORE_ADDR pc, struct ui_file *file)
 
static void generate_register_struct (struct ui_file *stream, struct gdbarch *gdbarch, const std::vector< bool > &registers_used)
 
std::string c_compute_program (compile_instance *inst, const char *input, struct gdbarch *gdbarch, const struct block *expr_block, CORE_ADDR expr_pc)
 
std::string cplus_compute_program (compile_instance *inst, const char *input, struct gdbarch *gdbarch, const struct block *expr_block, CORE_ADDR expr_pc)
 

Typedef Documentation

◆ c_compile_program

Definition at line 656 of file compile-c-support.c.

◆ cplus_compile_program

Definition at line 661 of file compile-c-support.c.

Function Documentation

◆ c_compute_program()

std::string c_compute_program ( compile_instance * inst,
const char * input,
struct gdbarch * gdbarch,
const struct block * expr_block,
CORE_ADDR expr_pc )

◆ c_get_compile_context()

std::unique_ptr< compile_instance > c_get_compile_context ( )

Definition at line 127 of file compile-c-support.c.

References get_compile_context().

Referenced by c_language::get_compile_instance().

◆ c_get_mode_for_size()

const char * c_get_mode_for_size ( int size)

◆ c_get_range_decl_name()

std::string c_get_range_decl_name ( const struct dynamic_prop * prop)

◆ cplus_compute_program()

std::string cplus_compute_program ( compile_instance * inst,
const char * input,
struct gdbarch * gdbarch,
const struct block * expr_block,
CORE_ADDR expr_pc )

◆ cplus_get_compile_context()

std::unique_ptr< compile_instance > cplus_get_compile_context ( )

Definition at line 139 of file compile-c-support.c.

References get_compile_context().

Referenced by cplus_language::get_compile_instance().

◆ generate_register_struct()

static void generate_register_struct ( struct ui_file * stream,
struct gdbarch * gdbarch,
const std::vector< bool > & registers_used )
static

◆ get_compile_context()

template<typename INSTTYPE , typename FUNCTYPE , typename CTXTYPE , typename BASE_VERSION_TYPE , typename API_VERSION_TYPE >
std::unique_ptr< compile_instance > get_compile_context ( const char * fe_libcc,
const char * fe_context,
BASE_VERSION_TYPE base_version,
API_VERSION_TYPE api_version )

Definition at line 103 of file compile-c-support.c.

References func.

Referenced by c_get_compile_context(), and cplus_get_compile_context().

◆ load_libcompile()

template<typename FUNCTYPE >
FUNCTYPE * load_libcompile ( const char * fe_libcc,
const char * fe_context )

Definition at line 77 of file compile-c-support.c.

References func.

◆ print_one_macro()

static void print_one_macro ( const char * name,
const struct macro_definition * macro,
struct macro_source_file * source,
int line,
ui_file * file )
static

◆ write_macro_definitions()

static void write_macro_definitions ( const struct block * block,
CORE_ADDR pc,
struct ui_file * file )
static