[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