This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Macros taking a function as argument - and evaluating it at least twice
- From: Steven Bosscher <stevenb dot gcc at gmail dot com>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Cc: Jeff Law <law at redhat dot com>
- Date: Wed, 13 Nov 2013 00:30:59 +0100
- Subject: Macros taking a function as argument - and evaluating it at least twice
- Authentication-results: sourceware.org; auth=none
Hello,
Here is a non-comprehensive list of macros that are used with a
function passed to the macro's argument, and the macro evaluates that
argument at least twice:
gimple.c: && (CONVERT_EXPR_CODE_P (gimple_assign_rhs_code (gs))
gimple-ssa-strength-reduction.c: || !CONVERT_EXPR_CODE_P
(gimple_assign_rhs_code (gs)))
ipa-prop.c: && CONVERT_EXPR_CODE_P (gimple_assign_rhs_code (def)))
tree-inline.c: || CONVERT_EXPR_CODE_P
(gimple_assign_rhs_code (stmt)));
tree-ssa-dom.c: && CONVERT_EXPR_CODE_P
(gimple_assign_rhs_code (defstmt)))
tree-ssa-forwprop.c: if (CONVERT_EXPR_CODE_P (gimple_assign_rhs_code
(def_stmt)))
tree-ssa-forwprop.c: || !CONVERT_EXPR_CODE_P
(gimple_assign_rhs_code (def_stmt)))
tree-ssa-ifcombine.c: && CONVERT_EXPR_CODE_P
(gimple_assign_rhs_code (def_stmt)))
tree-ssa-ifcombine.c: && ((CONVERT_EXPR_CODE_P
(gimple_assign_rhs_code (stmt))
tree-ssa-loop-im.c: if (CONVERT_EXPR_CODE_P (gimple_assign_rhs_code (stmt1)))
tree-stdarg.c: || CONVERT_EXPR_CODE_P
(gimple_assign_rhs_code (stmt))
tree-vect-patterns.c: if (!CONVERT_EXPR_CODE_P
(gimple_assign_rhs_code (*def_stmt)))
tree-vect-patterns.c: if (CONVERT_EXPR_CODE_P (gimple_assign_rhs_code
(use_stmt)))
tree-vect-patterns.c: && CONVERT_EXPR_CODE_P
(gimple_assign_rhs_code (use_stmt))
tree-vrp.c: if (CONVERT_EXPR_CODE_P (gimple_assign_rhs_code (def_stmt))
tree-vrp.c: if (!CONVERT_EXPR_CODE_P
(gimple_assign_rhs_code (def_stmt2))
tree-vrp.c: else if (CONVERT_EXPR_CODE_P (gimple_assign_rhs_code (op_def)))
tree-vrp.c: || !CONVERT_EXPR_CODE_P (gimple_assign_rhs_code (stmt2))
tree-vrp.c: || !CONVERT_EXPR_CODE_P (gimple_assign_rhs_code (def_stmt)))
tree-vrp.c: || !CONVERT_EXPR_CODE_P (gimple_assign_rhs_code (def_stmt)))
tree-outof-ssa.c: && FLOAT_TYPE_P (gimple_expr_type (stmt)))
tree-ssa-ccp.c: && (INTEGRAL_TYPE_P (gimple_expr_type (stmt))
tree-chrec.c: if (POINTER_TYPE_P (chrec_type (poly0)))
tree-chrec.c: if (POINTER_TYPE_P (chrec_type (chrec)))
tree-ssa-ccp.c: || POINTER_TYPE_P (gimple_expr_type (stmt))))
tree-ssa-structalias.c: && !(POINTER_TYPE_P (gimple_expr_type (t))
Not sure what to do about them (if anything) but I don't think this is
intended...
Ciao!
Steven