This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

r125199 - in /branches/cxx0x-branch: ChangeLog....


Author: dgregor
Date: Wed May 30 21:05:49 2007
New Revision: 125199

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=125199
Log:
2007-05-30  Douglas Gregor  <doug.gregor@gmail.com>

	* g++.dg/cpp0x/rvo.C: New.

2007-05-30  Douglas Gregor  <doug.gregor@gmail.com>

	* typeck.c (check_return_expr): Factor out the tests common to the
	named return value optimization and returning an rvalue.
	* decl.c (grokdeclarator): Use cp_declarator's "reference" member
	to get information about the rvalue references.
	(move_fn_p): New.
	* call.c (reference_binding): Simplify computation of
	rvaluedness_matches_p.
	(convert_like_real): Update comment about forcing temporaries.
	(build_over_call): We can elide move constructors as well as copy
	constructors. 
	* except.c (build_throw): Fix typo in comment.
	* tree.c (lvalue_p_1): Fix formatting.
	(cp_build_reference_type): Use copy_node rather than make_node to
	create the rvalue reference type.
	* mangle.c (write_type): Make rvalue references with 'RR'.
	* cp-tree.h (DECL_MOVE_CONSTRUCTOR_P): New.
	(struct cp_declarator): Create a "reference" member for
	cdk_reference, and storing qualifiers and the rvalue_ref flag.
	(move_fn_p): Declare.
	* pt.c (tsubst): When forming a reference-to-reference, apply the
	resolution to core issue #106 unless we're in strict C++98 mode.
	* parser.c (make_reference_declarator): Update the "reference"
	section of the cp_declarator. 

Added:
    branches/cxx0x-branch/gcc/testsuite/g++.dg/cpp0x/rvo.C
Modified:
    branches/cxx0x-branch/ChangeLog.cxx0x
    branches/cxx0x-branch/gcc/cp/call.c
    branches/cxx0x-branch/gcc/cp/cp-tree.h
    branches/cxx0x-branch/gcc/cp/decl.c
    branches/cxx0x-branch/gcc/cp/except.c
    branches/cxx0x-branch/gcc/cp/mangle.c
    branches/cxx0x-branch/gcc/cp/parser.c
    branches/cxx0x-branch/gcc/cp/pt.c
    branches/cxx0x-branch/gcc/cp/tree.c
    branches/cxx0x-branch/gcc/cp/typeck.c


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]