X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fcp%2Fsemantics.c;h=d4ce01496ee0e7783d3d739b3b67ec091276aa5b;hb=9fecd9ccc3c0c3af4b6b98ddc342ac19f9ca7aac;hp=135de46abe74971a779f224e2dd68d5a5d6bd037;hpb=2483cbc4b4bf756afba17dd384dc6cbaee797b52;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index 135de46abe7..d4ce01496ee 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -4,7 +4,7 @@ and during the instantiation of template functions. Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, - 2008, 2009, 2010 Free Software Foundation, Inc. + 2008, 2009 Free Software Foundation, Inc. Written by Mark Mitchell (mmitchell@usa.net) based on code found formerly in parse.y and pt.c. @@ -1238,8 +1238,6 @@ finish_asm_stmt (int volatile_p, tree string, tree output_operands, otherwise we'll get an error. Gross, but ... */ STRIP_NOPS (operand); - operand = mark_lvalue_use (operand); - if (!lvalue_or_else (operand, lv_asm, tf_warning_or_error)) operand = error_mark_node; @@ -2651,7 +2649,8 @@ baselink_for_fns (tree fns) if (!cl) cl = DECL_CONTEXT (fn); cl = TYPE_BINFO (cl); - return build_baselink (cl, cl, fns, /*optype=*/NULL_TREE); + return build_baselink (TYPE_BINFO (DECL_CONTEXT (fn)), cl, fns, + /*optype=*/NULL_TREE); } /* Returns true iff DECL is an automatic variable from a function outside @@ -3183,8 +3182,6 @@ finish_typeof (tree expr) return type; } - expr = mark_type_use (expr); - type = unlowered_expr_type (expr); if (!type || type == unknown_type_node) @@ -3272,7 +3269,7 @@ simplify_aggr_init_expr (tree *tp) expand_call{,_inline}. */ cxx_mark_addressable (slot); CALL_EXPR_RETURN_SLOT_OPT (call_expr) = true; - call_expr = build2 (INIT_EXPR, TREE_TYPE (call_expr), slot, call_expr); + call_expr = build2 (MODIFY_EXPR, TREE_TYPE (call_expr), slot, call_expr); } else if (style == pcc) { @@ -4862,7 +4859,6 @@ finish_decltype_type (tree expr, bool id_expression_or_member_access_p) case PARM_DECL: case RESULT_DECL: case TEMPLATE_PARM_INDEX: - expr = mark_type_use (expr); type = TREE_TYPE (expr); break; @@ -4871,7 +4867,6 @@ finish_decltype_type (tree expr, bool id_expression_or_member_access_p) break; case COMPONENT_REF: - mark_type_use (expr); type = is_bitfield_expr_with_lowered_type (expr); if (!type) type = TREE_TYPE (TREE_OPERAND (expr, 1));