43 #ifndef TYPE_CASTING_HPP    44 #define TYPE_CASTING_HPP    51 #include <boost/preprocessor/facilities/empty.hpp>    52 #include <boost/preprocessor/seq/for_each.hpp>    62 #define LOCAL_OBJ_NOT_SPECIALIZED_SEQ                                                                                \    63    (translation_unit_decl)(label_decl)(using_decl)(void_cst)(void_type)(template_type_parm)(set_type)(               \    64        qual_union_type)(offset_type)(lang_type)(CharType)(nullptr_type)(boolean_type)(typename_type)(none)(          \    66        TERNARY_EXPRESSION_TREE_NODES(ctor_initializer)(trait_expr)(template_id_expr)(placeholder_expr)(new_expr)(    \    67            gimple_resx)(gimple_predict)(gimple_nop)                                                                  \    68            QUATERNARY_EXPRESSION_TREE_NODES(modop_expr)(PointToSolution)(omp_atomic_pragma)(abs_expr)(addr_expr)(    \    69                alignof_expr)(arrow_expr)(bit_not_expr)(buffer_ref)(card_expr)(cleanup_point_expr)(conj_expr)(        \    70                convert_expr)(exit_expr)(fix_ceil_expr)(fix_floor_expr)(fix_round_expr)(fix_trunc_expr)(float_expr)(  \    71                imagpart_expr)(misaligned_indirect_ref)(loop_expr)(negate_expr)(non_lvalue_expr)(nop_expr)(           \    72                realpart_expr)(reference_expr)(reinterpret_cast_expr)(sizeof_expr)(static_cast_expr)(throw_expr)(     \    73                truth_not_expr)(unsave_expr)(va_arg_expr)(view_convert_expr)(reduc_max_expr)(reduc_min_expr)(         \    74                reduc_plus_expr)(vec_unpack_hi_expr)(vec_unpack_lo_expr)(vec_unpack_float_hi_expr)(                   \    75                vec_unpack_float_lo_expr)(assert_expr)(bit_and_expr)(bit_ior_expr)(bit_xor_expr)(catch_expr)(         \    76                ceil_div_expr)(ceil_mod_expr)(complex_expr)(compound_expr)(eh_filter_expr)(eq_expr)(exact_div_expr)(  \    77                fdesc_expr)(floor_div_expr)(floor_mod_expr)(ge_expr)(gt_expr)(goto_subroutine)(in_expr)(init_expr)(   \    78                le_expr)(lrotate_expr)(lshift_expr)(lt_expr)(max_expr)(min_expr)(minus_expr)(modify_expr)(mult_expr)( \    79                mult_highpart_expr)(ne_expr)(ordered_expr)(plus_expr)(pointer_plus_expr)(postdecrement_expr)(         \    80                postincrement_expr)(predecrement_expr)(preincrement_expr)(range_expr)(paren_expr)(rdiv_expr)(         \    81                round_div_expr)(round_mod_expr)(rrotate_expr)(rshift_expr)(set_le_expr)(trunc_div_expr)(              \    82                trunc_mod_expr)(truth_and_expr)(truth_andif_expr)(truth_or_expr)(truth_orif_expr)(truth_xor_expr)(    \    83                try_catch_expr)(try_finally)(uneq_expr)(ltgt_expr)(unge_expr)(ungt_expr)(unle_expr)(unlt_expr)(       \    84                unordered_expr)(widen_sum_expr)(widen_mult_expr)(with_size_expr)(vec_lshift_expr)(vec_rshift_expr)(   \    85                widen_mult_hi_expr)(widen_mult_lo_expr)(vec_pack_trunc_expr)(vec_pack_sat_expr)(                      \    86                vec_pack_fix_trunc_expr)(vec_extracteven_expr)(vec_extractodd_expr)(vec_interleavehigh_expr)(         \    87                vec_interleavelow_expr)(extract_bit_expr)(sat_plus_expr)(sat_minus_expr)(extractvalue_expr)(          \    88                extractelement_expr)(frem_expr)    97    void operator()(
const mem_ref* obj, 
unsigned int& mask) 
override;
    99    void operator()(
const indirect_ref* obj, 
unsigned int& mask) 
override;
 
TreeNodeConstSet & types
tree_node visitors 
#define OBJ_SPECIALIZED_SEQ
sequence of obj that have to be specialized 
CustomUnorderedSet< unsigned int > visited
already visited 
type_casting(TreeNodeConstSet &_types)
default constructor 
A set of const tree node. 
#define LOCAL_OBJ_NOT_SPECIALIZED_SEQ
void operator()(const mem_ref *obj, unsigned int &mask) override
Header include. 
Classes specification of the tree_node data structures. 
BOOST_PP_SEQ_FOR_EACH(OPERATOR_MACRO, BOOST_PP_EMPTY, VISITED_OBJ_SEQ1)
virtual template object functor 
Template definition of refcount. 
#define OPERATOR_MACROO(r, data, elem)
#define OPERATOR_MACRO_DECLO(r, data, elem)
REF_FORWARD_DECL(type_casting)