Lines Matching defs:expr
42 /* Prepare expr to be an argument of a TRUTH_NOT_EXPR,
48 truthvalue_conversion (tree expr)
50 switch (TREE_CODE (TREE_TYPE (expr)))
53 if (TREE_TYPE (expr) == boolean_type_node)
54 return expr;
55 else if (COMPARISON_CLASS_P (expr))
57 TREE_TYPE (expr) = boolean_type_node;
58 return expr;
60 else if (TREE_CODE (expr) == NOP_EXPR)
62 boolean_type_node, TREE_OPERAND (expr, 0));
65 expr);
68 if (TREE_CODE (expr) == INTEGER_CST)
69 return integer_zerop (expr) ? boolean_false_node : boolean_true_node;
72 expr, build_int_cst (TREE_TYPE (expr), 0));
86 convert (tree type, tree expr)
88 tree e = expr;
91 if (type == TREE_TYPE (expr))
92 return expr;
95 || TREE_CODE (expr) == ERROR_MARK
96 || TREE_CODE (TREE_TYPE (expr)) == ERROR_MARK)
97 return expr;
99 gcc_checking_assert (TREE_CODE (TREE_TYPE (expr)) != VOID_TYPE);
101 if (TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (TREE_TYPE (expr)))
102 return fold_build1_loc (input_location, NOP_EXPR, type, expr);