+ if (!op)
+ continue;
+
+ /* Fixup reference tree operands for substituted prevailing decls
+ with mismatched types. For plain VAR_DECLs we need to look
+ at context to determine the wanted type - we do that below
+ after the stmt is completed. */
+ if (TREE_CODE (op) == ADDR_EXPR
+ && TREE_CODE (TREE_OPERAND (op, 0)) == VAR_DECL
+ && !useless_type_conversion_p (TREE_TYPE (TREE_TYPE (op)),
+ TREE_TYPE (op)))
+ {
+ TREE_OPERAND (op, 0)
+ = build1 (VIEW_CONVERT_EXPR, TREE_TYPE (TREE_TYPE (op)),
+ TREE_OPERAND (op, 0));
+ continue;
+ }