GCC Middle and Back End API Reference
c_code_id Class Reference
Inheritance diagram for c_code_id:
Collaboration diagram for c_code_id:

Public Types

enum  id_kind {
  CODE , FN , PREDICATE , USER ,
  C_CODE_ID , NULL_ID
}
typedef id_basevalue_type
typedef id_basecompare_type

Public Member Functions

 c_code_id (const char *id_, location_t loc)
 ~c_code_id ()
void gen_checking (FILE *, int)

Static Public Member Functions

static id_baseget_c_code_id (const char *)
static hashval_t hash (const id_base *)
static hashval_t hash (const value_type &)
static int equal (const id_base *, const id_base *)
static bool equal (const value_type &existing, const compare_type &candidate)
static void mark_deleted (id_base *&)
static void mark_empty (id_base *&)
static bool is_deleted (id_base *)
static bool is_empty (id_base *)
static void remove (id_base *&)

Data Fields

vec< id_base * > possible_values {vNULL}
bool m_cmp = false
bool m_code_only = false
bool m_fn_only = false
bool used = false
location_t m_loc
enum id_base::id_kind kind
hashval_t hashval
int nargs
const char * id

Static Public Attributes

static const bool empty_zero_p

Member Typedef Documentation

◆ compare_type

◆ value_type

typedef id_base* pointer_hash< id_base >::value_type
inherited

Member Enumeration Documentation

◆ id_kind

enum id_base::id_kind
inherited
Enumerator
CODE 
FN 
PREDICATE 
USER 
C_CODE_ID 
NULL_ID 

Constructor & Destructor Documentation

◆ c_code_id()

c_code_id::c_code_id ( const char * id_,
location_t loc )
inline

◆ ~c_code_id()

c_code_id::~c_code_id ( )
inline

References id_base::id.

Member Function Documentation

◆ equal() [1/2]

int id_base::equal ( const id_base * op1,
const id_base * op2 )
inlinestaticinherited

References hashval, and id_base().

◆ equal() [2/2]

bool pointer_hash< id_base >::equal ( const value_type & existing,
const compare_type & candidate )
inlinestaticinherited

◆ gen_checking()

void c_code_id::gen_checking ( FILE * f,
int indent )
Generates the checking code to make sure that the value of the identifier
is only one of the possible values.
F is where the printed to.  INDENT is the initial indentation of the
code.   

References fprintf_indent().

Referenced by dt_simplify::gen_1().

◆ get_c_code_id()

id_base * c_code_id::get_c_code_id ( const char * )
static

References id_base::id_base().

◆ hash() [1/2]

hashval_t id_base::hash ( const id_base * op)
inlinestaticinherited

References hashval, and id_base().

◆ hash() [2/2]

hashval_t pointer_hash< id_base >::hash ( const value_type & candidate)
inlinestaticinherited

◆ is_deleted()

bool pointer_hash< id_base >::is_deleted ( id_base * e)
inlinestaticinherited

◆ is_empty()

bool pointer_hash< id_base >::is_empty ( id_base * e)
inlinestaticinherited

◆ mark_deleted()

void pointer_hash< id_base >::mark_deleted ( id_base *& e)
inlinestaticinherited

◆ mark_empty()

void pointer_hash< id_base >::mark_empty ( id_base *& e)
inlinestaticinherited

◆ remove()

void typed_noop_remove< id_base * >::remove ( id_base * & )
inlinestaticinherited
Remove doing nothing.   

Field Documentation

◆ empty_zero_p

const bool pointer_hash< id_base >::empty_zero_p
staticinherited

◆ hashval

◆ id

◆ kind

enum id_base::id_kind id_base::kind
inherited

◆ m_cmp

bool c_code_id::m_cmp = false

◆ m_code_only

bool c_code_id::m_code_only = false

◆ m_fn_only

bool c_code_id::m_fn_only = false

◆ m_loc

location_t c_code_id::m_loc

Referenced by c_code_id().

◆ nargs

◆ possible_values

vec<id_base*> c_code_id::possible_values {vNULL}

◆ used

bool c_code_id::used = false

The documentation for this class was generated from the following file: