Fwd: Macros taking a function as argument - and evaluating it at least twice

Steven Bosscher stevenb.gcc@gmail.com
Tue Nov 12 23:32:00 GMT 2013


[Sorry for double post - gmail insists that "GCC" is gcc-patches@, not
gcc@  :-/ ]

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



More information about the Gcc mailing list