21#ifndef GCC_ANALYZER_REGION_H
22#define GCC_ANALYZER_REGION_H
180 std::unique_ptr<json::value>
to_json ()
const;
186 std::unique_ptr<text_art::tree_widget>
188 const char *prefix =
nullptr)
const;
246 auto_vec <const region *> *out)
const;
336 return hstate.
end ();
342 &&
m_fun == other.m_fun);
412 return reg->get_kind () == RK_FRAME;
445 return reg->get_kind () == RK_GLOBALS;
473 return reg->get_kind () == RK_CODE;
512 return reg->get_kind () == RK_FUNCTION;
547 return reg->get_kind () == RK_LABEL;
575 return reg->get_kind () == RK_STACK;
602 return reg->get_kind () == RK_HEAP;
629 return reg->get_kind () == RK_THREAD_LOCAL;
655 return reg->get_kind () == RK_ROOT;
680 return hstate.
end ();
712 const final override;
727 return reg->get_kind () == RK_SYMBOLIC;
794 return reg->get_kind () == RK_DECL;
819 return hstate.
end ();
853 const final override;
866 return reg->get_kind () == RK_FIELD;
897 return hstate.
end ();
939 const final override;
946 const final override;
959 return reg->get_kind () == RK_ELEMENT;
991 return hstate.
end ();
1015 const svalue *byte_offset)
1033 const final override;
1040 const final override;
1053 return reg->get_kind () == RK_OFFSET;
1074 const svalue *byte_size_sval)
1087 return hstate.
end ();
1112 const svalue *byte_size_sval)
1130 const final override;
1155 return reg->get_kind () == RK_SIZED;
1185 return hstate.
end ();
1191 &&
m_type == other.m_type);
1231 return reg->get_kind () == RK_CAST;
1309 return reg->get_kind () == RK_STRING;
1335 return hstate.
end ();
1341 &&
m_type == other.m_type
1342 &&
m_bits == other.m_bits);
1380 const final override;
1393 return reg->get_kind () == RK_BIT_RANGE;
1423 return hstate.
end ();
1429 &&
m_idx == other.m_idx);
1475 return reg->get_kind () == RK_VAR_ARG;
1508 return reg->get_kind () == RK_ERRNO;
1545 return reg->get_kind () == RK_PRIVATE;
void print_dump_widget_label(pretty_printer *pp) const final override
alloca_region(symbol::id_t id, const frame_region *parent)
Definition region.h:1264
void dump_to_pp(pretty_printer *pp, bool simple) const final override
enum region_kind get_kind() const final override
Definition region.h:1268
bool get_relative_concrete_offset(bit_offset_t *out) const final override
bit_range_region(symbol::id_t id, const region *parent, tree type, const bit_range &bits)
Definition region.h:1358
enum region_kind get_kind() const final override
Definition region.h:1367
bool get_byte_size(byte_size_t *out) const final override
const svalue * get_bit_size_sval(region_model_manager *mgr) const final override
const bit_range_region * dyn_cast_bit_range_region() const final override
Definition region.h:1365
bool get_bit_size(bit_size_t *out) const final override
bit_range m_bits
Definition region.h:1383
const svalue * get_byte_size_sval(region_model_manager *mgr) const final override
const svalue * get_relative_symbolic_offset(region_model_manager *mgr) const final override
void dump_to_pp(pretty_printer *pp, bool simple) const final override
const bit_range & get_bits() const
Definition region.h:1372
void print_dump_widget_label(pretty_printer *pp) const final override
void dump_to_pp(pretty_printer *pp, bool simple) const final override
void print_dump_widget_label(pretty_printer *pp) const final override
const cast_region * dyn_cast_cast_region() const final override
Definition region.h:1216
enum region_kind get_kind() const final override
Definition region.h:1214
cast_region(symbol::id_t id, const region *parent, tree type)
Definition region.h:1209
bool get_relative_concrete_offset(bit_offset_t *out) const final override
code_region(symbol::id_t id, const region *parent)
Definition region.h:456
void print_dump_widget_label(pretty_printer *pp) const final override
enum region_kind get_kind() const final override
Definition region.h:463
void dump_to_pp(pretty_printer *pp, bool simple) const final override
void print_dump_widget_label(pretty_printer *pp) const final override
const decl_region * dyn_cast_decl_region() const final override
Definition region.h:753
const svalue * get_svalue_for_initializer(region_model_manager *mgr) const
const svalue * get_svalue_for_constructor(tree ctor, region_model_manager *mgr) const
decl_region(symbol::id_t id, const region *parent, tree decl)
Definition region.h:745
tree m_decl
Definition region.h:775
static bool calc_tracked_p(tree decl)
const svalue * maybe_get_constant_value(region_model_manager *mgr) const
const svalue * calc_svalue_for_constructor(tree ctor, region_model_manager *mgr) const
bool m_tracked
Definition region.h:781
enum region_kind get_kind() const final override
Definition region.h:751
int get_stack_depth() const
void dump_to_pp(pretty_printer *pp, bool simple) const final override
const svalue * m_ctor_svalue
Definition region.h:784
bool tracked_p() const final override
Definition region.h:760
tree get_decl() const
Definition region.h:762
const svalue * m_index
Definition region.h:949
const element_region * dyn_cast_element_region() const final override
Definition region.h:928
element_region(symbol::id_t id, const region *parent, tree element_type, const svalue *index)
Definition region.h:920
void print_dump_widget_label(pretty_printer *pp) const final override
void accept(visitor *v) const final override
const svalue * get_index() const
Definition region.h:941
void dump_to_pp(pretty_printer *pp, bool simple) const final override
void add_dump_widget_children(text_art::tree_widget &, const text_art::dump_widget_info &dwi) const final override
virtual bool get_relative_concrete_offset(bit_offset_t *out) const final override
const svalue * get_relative_symbolic_offset(region_model_manager *mgr) const final override
enum region_kind get_kind() const final override
Definition region.h:926
enum region_kind get_kind() const final override
Definition region.h:1495
void print_dump_widget_label(pretty_printer *pp) const final override
errno_region(symbol::id_t id, const thread_local_region *parent)
Definition region.h:1491
void dump_to_pp(pretty_printer *pp, bool simple) const final override
tree get_field() const
Definition region.h:849
void dump_to_pp(pretty_printer *pp, bool simple) const final override
enum region_kind get_kind() const final override
Definition region.h:841
tree m_field
Definition region.h:856
const svalue * get_relative_symbolic_offset(region_model_manager *mgr) const final override
bool get_relative_concrete_offset(bit_offset_t *out) const final override
void print_dump_widget_label(pretty_printer *pp) const final override
const field_region * dyn_cast_field_region() const final override
Definition region.h:847
field_region(symbol::id_t id, const region *parent, tree field)
Definition region.h:836
int get_index() const
Definition region.h:380
void accept(visitor *v) const final override
const function & m_fun
Definition region.h:395
unsigned get_num_locals() const
Definition region.h:388
enum region_kind get_kind() const final override
Definition region.h:366
const frame_region * m_calling_frame
Definition region.h:394
const decl_region * get_region_for_local(region_model_manager *mgr, tree expr, const region_model_context *ctxt) const
const frame_region * dyn_cast_frame_region() const final override
Definition region.h:367
const frame_region * get_calling_frame() const
Definition region.h:377
map_t m_locals
Definition region.h:402
void dump_untracked_regions() const
tree get_fndecl() const
Definition region.h:379
const function & get_function() const
Definition region.h:378
void print_dump_widget_label(pretty_printer *pp) const final override
void dump_to_pp(pretty_printer *pp, bool simple) const final override
frame_region(symbol::id_t id, const region *parent, const frame_region *calling_frame, const function &fun, int index)
Definition region.h:357
hash_map< tree, decl_region * > map_t
Definition region.h:401
int m_index
Definition region.h:396
int get_stack_depth() const
Definition region.h:381
function_region(symbol::id_t id, const code_region *parent, tree fndecl)
Definition region.h:484
tree m_fndecl
Definition region.h:502
const function_region * dyn_cast_function_region() const final override
Definition region.h:497
void print_dump_widget_label(pretty_printer *pp) const final override
enum region_kind get_kind() const final override
Definition region.h:495
tree get_fndecl() const
Definition region.h:499
void dump_to_pp(pretty_printer *pp, bool simple) const final override
enum region_kind get_kind() const final override
Definition region.h:433
void dump_to_pp(pretty_printer *pp, bool simple) const final override
globals_region(symbol::id_t id, const region *parent)
Definition region.h:428
void print_dump_widget_label(pretty_printer *pp) const final override
enum region_kind get_kind() const final override
Definition region.h:1253
heap_allocated_region(symbol::id_t id, const region *parent)
Definition region.h:1248
void dump_to_pp(pretty_printer *pp, bool simple) const final override
void print_dump_widget_label(pretty_printer *pp) const final override
void print_dump_widget_label(pretty_printer *pp) const final override
void dump_to_pp(pretty_printer *pp, bool simple) const final override
enum region_kind get_kind() const final override
Definition region.h:590
heap_region(symbol::id_t id, region *parent)
Definition region.h:586
label_region(symbol::id_t id, const function_region *parent, tree label)
Definition region.h:523
tree get_label() const
Definition region.h:534
void dump_to_pp(pretty_printer *pp, bool simple) const final override
void print_dump_widget_label(pretty_printer *pp) const final override
tree m_label
Definition region.h:537
enum region_kind get_kind() const final override
Definition region.h:532
bool get_relative_concrete_offset(bit_offset_t *out) const final override
enum region_kind get_kind() const final override
Definition region.h:1020
const svalue * get_relative_symbolic_offset(region_model_manager *mgr) const final override
const svalue * get_byte_offset() const
Definition region.h:1035
void dump_to_pp(pretty_printer *pp, bool simple) const final override
void print_dump_widget_label(pretty_printer *pp) const final override
void accept(visitor *v) const final override
const svalue * get_bit_offset(region_model_manager *mgr) const
const svalue * m_byte_offset
Definition region.h:1043
void add_dump_widget_children(text_art::tree_widget &, const text_art::dump_widget_info &dwi) const final override
const offset_region * dyn_cast_offset_region() const final override
Definition region.h:1022
offset_region(symbol::id_t id, const region *parent, tree type, const svalue *byte_offset)
Definition region.h:1014
void print_dump_widget_label(pretty_printer *pp) const final override
enum region_kind get_kind() const final override
Definition region.h:1529
void dump_to_pp(pretty_printer *pp, bool simple) const final override
private_region(unsigned id, const region *parent, tree type, const char *desc)
Definition region.h:1523
const char * m_desc
Definition region.h:1535
Definition region-model.h:748
Definition region-model-manager.h:32
Definition region-model.h:294
virtual const var_arg_region * dyn_cast_var_arg_region() const
Definition region.h:155
bool maybe_print_for_user(pretty_printer *pp, const region_model &model) const
bool is_named_decl_p(const char *decl_name) const
bool symbolic_for_unknown_ptr_p() const
region_offset calc_offset(region_model_manager *mgr) const
void get_subregions_for_binding(region_model_manager *mgr, bit_offset_t start_bit_offset, bit_size_t size_in_bits, tree type, auto_vec< const region * > *out) const
virtual void add_dump_widget_children(text_art::tree_widget &, const text_art::dump_widget_info &dwi) const
bool involves_p(const svalue *sval) const
virtual const offset_region * dyn_cast_offset_region() const
Definition region.h:145
virtual const frame_region * dyn_cast_frame_region() const
Definition region.h:133
virtual const string_region * dyn_cast_string_region() const
Definition region.h:151
virtual const symbolic_region * dyn_cast_symbolic_region() const
Definition region.h:137
const frame_region * maybe_get_frame_region() const
bool can_have_initial_svalue_p() const
virtual const sized_region * dyn_cast_sized_region() const
Definition region.h:147
const region * get_base_region() const
static int cmp_ptr_ptr(const void *, const void *)
bool descendent_of_p(const region *elder) const
tree get_type() const
Definition region.h:170
virtual bool tracked_p() const
Definition region.h:255
const region * m_parent
Definition region.h:274
const svalue * calc_initial_value_at_main(region_model_manager *mgr) const
virtual bool get_relative_concrete_offset(bit_offset_t *out) const
const region * get_parent_region() const
Definition region.h:159
virtual const svalue * get_byte_size_sval(region_model_manager *mgr) const
region_offset get_offset(region_model_manager *mgr) const
bool base_region_p() const
virtual const element_region * dyn_cast_element_region() const
Definition region.h:143
virtual const field_region * dyn_cast_field_region() const
Definition region.h:141
std::unique_ptr< json::value > to_json() const
virtual bool get_byte_size(byte_size_t *out) const
enum memory_space get_memory_space() const
void print(const region_model &model, pretty_printer *pp) const
virtual const svalue * get_relative_symbolic_offset(region_model_manager *mgr) const
std::unique_ptr< text_art::tree_widget > make_dump_widget(const text_art::dump_widget_info &dwi, const char *prefix=nullptr) const
region(complexity c, symbol::id_t id, const region *parent, tree type)
virtual enum region_kind get_kind() const =0
const svalue * get_initial_value_at_main(region_model_manager *mgr) const
label_text get_desc(bool simple=true) const
tree maybe_get_decl() const
virtual const decl_region * dyn_cast_decl_region() const
Definition region.h:139
virtual void accept(visitor *v) const
const svalue * m_cached_init_sval_at_main
Definition region.h:281
virtual const function_region * dyn_cast_function_region() const
Definition region.h:135
virtual const svalue * get_bit_size_sval(region_model_manager *mgr) const
region_offset * m_cached_offset
Definition region.h:277
virtual void print_dump_widget_label(pretty_printer *pp) const =0
tree m_type
Definition region.h:275
virtual void dump_to_pp(pretty_printer *pp, bool simple) const =0
virtual bool get_bit_size(bit_size_t *out) const
virtual const bit_range_region * dyn_cast_bit_range_region() const
Definition region.h:153
virtual const cast_region * dyn_cast_cast_region() const
Definition region.h:149
void dump(bool simple) const
region_offset get_next_offset(region_model_manager *mgr) const
bool get_relative_concrete_byte_range(byte_range *out) const
void print_dump_widget_label(pretty_printer *pp) const final override
enum region_kind get_kind() const final override
Definition region.h:643
void dump_to_pp(pretty_printer *pp, bool simple) const final override
root_region(symbol::id_t id)
const svalue * m_byte_size_sval
Definition region.h:1145
bool get_bit_size(bit_size_t *out) const final override
bool get_byte_size(byte_size_t *out) const final override
const sized_region * dyn_cast_sized_region() const final override
Definition region.h:1120
const svalue * get_byte_size_sval(region_model_manager *) const final override
Definition region.h:1136
void add_dump_widget_children(text_art::tree_widget &, const text_art::dump_widget_info &dwi) const final override
enum region_kind get_kind() const final override
Definition region.h:1118
void print_dump_widget_label(pretty_printer *pp) const final override
sized_region(symbol::id_t id, const region *parent, tree type, const svalue *byte_size_sval)
Definition region.h:1111
const svalue * get_bit_size_sval(region_model_manager *) const final override
void dump_to_pp(pretty_printer *pp, bool simple) const final override
void accept(visitor *v) const final override
space_region(symbol::id_t id, const region *parent)
Definition region.h:302
void dump_to_pp(pretty_printer *pp, bool simple) const final override
void print_dump_widget_label(pretty_printer *pp) const final override
stack_region(symbol::id_t id, region *parent)
Definition region.h:558
enum region_kind get_kind() const final override
Definition region.h:565
const string_region * dyn_cast_string_region() const final override
Definition region.h:1285
bool tracked_p() const final override
Definition region.h:1294
tree get_string_cst() const
Definition region.h:1296
enum region_kind get_kind() const final override
Definition region.h:1287
void print_dump_widget_label(pretty_printer *pp) const final override
void dump_to_pp(pretty_printer *pp, bool simple) const final override
tree m_string_cst
Definition region.h:1299
string_region(symbol::id_t id, const region *parent, tree string_cst)
Definition region.h:1279
unsigned id_t
Definition symbol.h:33
symbol(complexity c, unsigned id)
Definition symbol.h:41
void dump_to_pp(pretty_printer *pp, bool simple) const final override
void print_dump_widget_label(pretty_printer *pp) const final override
symbolic_region(symbol::id_t id, region *parent, const svalue *sval_ptr)
const svalue * get_pointer() const
Definition region.h:714
const symbolic_region * dyn_cast_symbolic_region() const final override
Definition region.h:703
enum region_kind get_kind() const final override
Definition region.h:705
const svalue * m_sval_ptr
Definition region.h:717
void accept(visitor *v) const final override
void add_dump_widget_children(text_art::tree_widget &w, const text_art::dump_widget_info &dwi) const final override
void print_dump_widget_label(pretty_printer *pp) const final override
void dump_to_pp(pretty_printer *pp, bool simple) const final override
thread_local_region(symbol::id_t id, region *parent)
Definition region.h:613
enum region_kind get_kind() const final override
Definition region.h:617
void print_dump_widget_label(pretty_printer *pp) const final override
enum region_kind get_kind() const final override
Definition region.h:1559
void dump_to_pp(pretty_printer *pp, bool simple) const final override
unknown_region(symbol::id_t id, const region *parent, tree type)
Definition region.h:1555
unsigned m_idx
Definition region.h:1465
var_arg_region(symbol::id_t id, const frame_region *parent, unsigned idx)
Definition region.h:1447
const var_arg_region * dyn_cast_var_arg_region() const final override
Definition region.h:1454
const frame_region * get_frame_region() const
void dump_to_pp(pretty_printer *pp, bool simple) const final override
void print_dump_widget_label(pretty_printer *pp) const final override
enum region_kind get_kind() const final override
Definition region.h:1456
unsigned get_index() const
Definition region.h:1462
Definition region-model.h:223
Definition genmatch.cc:1506
void add_int(unsigned v)
Definition inchash.h:55
hashval_t end() const
Definition inchash.h:49
void add_wide_int(const generic_wide_int< T > &x)
Definition inchash.h:84
void add_ptr(const void *ptr)
Definition inchash.h:94
Definition pretty-print.h:241
Definition tree-widget.h:32
union tree_node * tree
Definition coretypes.h:97
void final(rtx_insn *first, FILE *file, int optimize_p)
Definition final.cc:2009
Definition access-diagram.h:30
offset_int byte_size_t
Definition common.h:207
offset_int bit_offset_t
Definition common.h:204
offset_int bit_size_t
Definition common.h:205
region_kind
Definition region.h:48
@ RK_UNKNOWN
Definition region.h:72
@ RK_STACK
Definition region.h:54
@ RK_PRIVATE
Definition region.h:71
@ RK_LABEL
Definition region.h:53
@ RK_CAST
Definition region.h:64
@ RK_FIELD
Definition region.h:60
@ RK_FRAME
Definition region.h:49
@ RK_DECL
Definition region.h:59
@ RK_ERRNO
Definition region.h:70
@ RK_ELEMENT
Definition region.h:61
@ RK_SYMBOLIC
Definition region.h:58
@ RK_BIT_RANGE
Definition region.h:68
@ RK_ALLOCA
Definition region.h:66
@ RK_SIZED
Definition region.h:63
@ RK_HEAP_ALLOCATED
Definition region.h:65
@ RK_THREAD_LOCAL
Definition region.h:56
@ RK_CODE
Definition region.h:51
@ RK_GLOBALS
Definition region.h:50
@ RK_OFFSET
Definition region.h:62
@ RK_ROOT
Definition region.h:57
@ RK_FUNCTION
Definition region.h:52
@ RK_HEAP
Definition region.h:55
@ RK_VAR_ARG
Definition region.h:69
@ RK_STRING
Definition region.h:67
memory_space
Definition region.h:33
@ MEMSPACE_GLOBALS
Definition region.h:36
@ MEMSPACE_READONLY_DATA
Definition region.h:39
@ MEMSPACE_HEAP
Definition region.h:38
@ MEMSPACE_PRIVATE
Definition region.h:41
@ MEMSPACE_THREAD_LOCAL
Definition region.h:40
@ MEMSPACE_STACK
Definition region.h:37
@ MEMSPACE_CODE
Definition region.h:35
@ MEMSPACE_UNKNOWN
Definition region.h:34
void mark_deleted()
Definition region.h:1345
bit_range m_bits
Definition region.h:1355
const region * m_parent
Definition region.h:1353
bool is_empty() const
Definition region.h:1351
hashval_t hash() const
Definition region.h:1328
bool is_deleted() const
Definition region.h:1347
key_t(const region *parent, tree type, const bit_range &bits)
Definition region.h:1322
void mark_empty()
Definition region.h:1346
tree m_type
Definition region.h:1354
bool operator==(const key_t &other) const
Definition region.h:1338
void mark_empty()
Definition region.h:1198
bool is_deleted() const
Definition region.h:1199
const region * m_parent
Definition region.h:1205
key_t(const region *parent, tree type)
Definition region.h:1174
tree m_type
Definition region.h:1206
bool operator==(const key_t &other) const
Definition region.h:1188
bool is_empty() const
Definition region.h:1203
hashval_t hash() const
Definition region.h:1180
void mark_deleted()
Definition region.h:1194
Definition complexity.h:31
bool operator==(const key_t &other) const
Definition region.h:900
const svalue * m_index
Definition region.h:917
void mark_empty()
Definition region.h:908
bool is_deleted() const
Definition region.h:909
const region * m_parent
Definition region.h:915
key_t(const region *parent, tree element_type, const svalue *index)
Definition region.h:885
tree m_element_type
Definition region.h:916
bool is_empty() const
Definition region.h:913
void mark_deleted()
Definition region.h:907
hashval_t hash() const
Definition region.h:891
void mark_deleted()
Definition region.h:827
hashval_t hash() const
Definition region.h:814
bool is_deleted() const
Definition region.h:829
const region * m_parent
Definition region.h:832
bool is_empty() const
Definition region.h:830
bool operator==(const key_t &other) const
Definition region.h:822
tree m_field
Definition region.h:833
key_t(const region *parent, tree field)
Definition region.h:808
void mark_empty()
Definition region.h:828
key_t(const frame_region *calling_frame, const function &fun)
Definition region.h:325
bool is_empty() const
Definition region.h:351
bool is_deleted() const
Definition region.h:347
void mark_empty()
Definition region.h:346
bool operator==(const key_t &other) const
Definition region.h:339
void mark_deleted()
Definition region.h:345
hashval_t hash() const
Definition region.h:331
const frame_region * m_calling_frame
Definition region.h:353
const function * m_fun
Definition region.h:354
key_t(const region *parent, tree element_type, const svalue *byte_offset)
Definition region.h:979
const region * m_parent
Definition region.h:1009
bool is_empty() const
Definition region.h:1007
bool operator==(const key_t &other) const
Definition region.h:994
hashval_t hash() const
Definition region.h:985
tree m_element_type
Definition region.h:1010
bool is_deleted() const
Definition region.h:1003
void mark_empty()
Definition region.h:1002
const svalue * m_byte_offset
Definition region.h:1011
void mark_deleted()
Definition region.h:1001
const svalue * m_end_offset
Definition region.h:1108
key_t(const region *parent, tree element_type, const svalue *byte_size_sval)
Definition region.h:1073
const region * m_parent
Definition region.h:1105
void mark_deleted()
Definition region.h:1097
bool is_empty() const
Definition region.h:1103
bool operator==(const key_t &other) const
Definition region.h:1090
const svalue * m_byte_size_sval
Definition region.h:1107
tree m_element_type
Definition region.h:1106
hashval_t hash() const
Definition region.h:1081
void mark_empty()
Definition region.h:1098
bool is_deleted() const
Definition region.h:1099
const svalue * m_sval_ptr
Definition region.h:697
bool is_empty() const
Definition region.h:694
const region * m_parent
Definition region.h:696
void mark_deleted()
Definition region.h:688
void mark_empty()
Definition region.h:689
hashval_t hash() const
Definition region.h:675
key_t(const region *parent, const svalue *sval_ptr)
Definition region.h:669
bool operator==(const key_t &other) const
Definition region.h:683
bool is_deleted() const
Definition region.h:690
bool is_deleted() const
Definition region.h:1437
const frame_region * m_parent
Definition region.h:1443
unsigned m_idx
Definition region.h:1444
bool operator==(const key_t &other) const
Definition region.h:1426
bool is_empty() const
Definition region.h:1441
void mark_empty()
Definition region.h:1436
void mark_deleted()
Definition region.h:1432
hashval_t hash() const
Definition region.h:1418
key_t(const frame_region *parent, unsigned idx)
Definition region.h:1412
Definition genautomata.cc:499
static const bool empty_zero_p
Definition region.h:1399
static const bool empty_zero_p
Definition region.h:1237
static const bool empty_zero_p
Definition region.h:965
static const bool empty_zero_p
Definition region.h:872
static const bool empty_zero_p
Definition region.h:418
static const bool empty_zero_p
Definition region.h:1059
static const bool empty_zero_p
Definition region.h:1161
static const bool empty_zero_p
Definition region.h:733
static const bool empty_zero_p
Definition region.h:1481
Definition hash-traits.h:466
Definition function.h:249
tree decl
Definition function.h:285
Definition collect2.cc:168
Definition dump-widget-info.h:31
Definition gengtype.h:252
#define gcc_assert(EXPR)
Definition system.h:817
#define TREE_CODE(NODE)
Definition tree.h:325
#define FUNC_OR_METHOD_TYPE_P(NODE)
Definition tree.h:729
#define TREE_TYPE(NODE)
Definition tree.h:513
#define NULL_TREE
Definition tree.h:318
#define integer_type_node
Definition tree.h:4799