[Bug c++/37206] [c++0x] Spurious copy/move requirement for initialization of rvalue reference variable from rvalue initializer.
jason at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Mon Jul 13 06:07:00 GMT 2009
------- Comment #1 from jason at gcc dot gnu dot org 2009-07-13 06:06 -------
Subject: Bug 37206
Author: jason
Date: Mon Jul 13 06:06:27 2009
New Revision: 149543
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=149543
Log:
PR c++/36628
* tree.c (rvalue): Use lvalue_or_rvalue_with_address_p.
PR c++/37206
* cp-tree.h (enum cp_lvalue_kind_flags): Add clk_rvalueref.
* tree.c (lvalue_p_1): Return it. Remove
treat_class_rvalues_as_lvalues parm.
(real_lvalue_p): Disallow pseudo-lvalues here.
(lvalue_or_rvalue_with_address_p): New fn.
* call.c (initialize_reference): Use it instead of real_lvalue_p.
PR c++/40689
* init.c (build_new_1): Handle initializer list as array initializer.
(build_vec_init): Likewise.
* typeck.c (cp_build_modify_expr): Likewise.
* typeck2.c (process_init_constructor_array): Error rather than abort
if too many initializers.
Added:
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/cpp0x/decltype17.C
- copied unchanged from r149536,
trunk/gcc/testsuite/g++.dg/cpp0x/decltype17.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/cpp0x/initlist20.C
- copied unchanged from r149534,
trunk/gcc/testsuite/g++.dg/cpp0x/initlist20.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/cpp0x/initlist21.C
- copied unchanged from r149534,
trunk/gcc/testsuite/g++.dg/cpp0x/initlist21.C
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/cpp0x/rv10.C
- copied unchanged from r149534, trunk/gcc/testsuite/g++.dg/cpp0x/rv10.C
Modified:
branches/gcc-4_4-branch/gcc/cp/ChangeLog
branches/gcc-4_4-branch/gcc/cp/ChangeLog-2007 (props changed)
branches/gcc-4_4-branch/gcc/cp/ChangeLog-2008 (props changed)
branches/gcc-4_4-branch/gcc/cp/call.c
branches/gcc-4_4-branch/gcc/cp/cp-tree.h
branches/gcc-4_4-branch/gcc/cp/init.c
branches/gcc-4_4-branch/gcc/cp/tree.c
branches/gcc-4_4-branch/gcc/cp/typeck.c
branches/gcc-4_4-branch/gcc/cp/typeck2.c
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog-2008 (props changed)
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/ (props changed)
branches/gcc-4_4-branch/gcc/testsuite/g++.dg/cpp0x/decltype-38655.C
(props changed)
branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/torture/pr36227.c (props
changed)
branches/gcc-4_4-branch/gcc/testsuite/gcc.target/x86_64/abi/callabi/
(props changed)
Propchange: branches/gcc-4_4-branch/gcc/cp/ChangeLog-2007
('svn:mergeinfo' modified)
Propchange: branches/gcc-4_4-branch/gcc/cp/ChangeLog-2008
('svn:mergeinfo' modified)
Propchange: branches/gcc-4_4-branch/gcc/testsuite/ChangeLog-2008
('svn:mergeinfo' modified)
Propchange: branches/gcc-4_4-branch/gcc/testsuite/g++.dg/
('svn:mergeinfo' modified)
Propchange: branches/gcc-4_4-branch/gcc/testsuite/g++.dg/cpp0x/decltype-38655.C
('svn:mergeinfo' modified)
Propchange: branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/torture/pr36227.c
('svn:mergeinfo' modified)
Propchange:
branches/gcc-4_4-branch/gcc/testsuite/gcc.target/x86_64/abi/callabi/
('svn:mergeinfo' modified)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37206
More information about the Gcc-bugs
mailing list