diff options
author | Jason Merrill <jason@redhat.com> | 2011-04-11 18:00:06 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2011-04-11 18:00:06 -0400 |
commit | b24290fb5bfba313dc7143aa29a7b161fd501997 (patch) | |
tree | dd92eb9594d145c9a1cbd548aadb98292d461fc5 /gcc/cp/tree.c | |
parent | 1e6d1da02d97cb863bd000c90d0309ba8f630955 (diff) | |
download | gcc-b24290fb5bfba313dc7143aa29a7b161fd501997.zip gcc-b24290fb5bfba313dc7143aa29a7b161fd501997.tar.gz gcc-b24290fb5bfba313dc7143aa29a7b161fd501997.tar.bz2 |
PR c++/48457, Core 1238
PR c++/48457, Core 1238
* call.c (reference_binding): Allow rvalue reference to bind to
function lvalue.
* tree.c (lvalue_kind): Functions are always lvalues.
From-SVN: r172282
Diffstat (limited to 'gcc/cp/tree.c')
-rw-r--r-- | gcc/cp/tree.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c index 3594ae4..d6b6197 100644 --- a/gcc/cp/tree.c +++ b/gcc/cp/tree.c @@ -73,7 +73,9 @@ lvalue_kind (const_tree ref) if (TYPE_REF_IS_RVALUE (TREE_TYPE (ref)) && TREE_CODE (ref) != PARM_DECL && TREE_CODE (ref) != VAR_DECL - && TREE_CODE (ref) != COMPONENT_REF) + && TREE_CODE (ref) != COMPONENT_REF + /* Functions are always lvalues. */ + && TREE_CODE (TREE_TYPE (TREE_TYPE (ref))) != FUNCTION_TYPE) return clk_rvalueref; /* lvalue references and named rvalue references are lvalues. */ |