summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/CheckDeclarator.cpp
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2010-03-23 12:11:33 +0100
committerRoberto Raggi <roberto.raggi@nokia.com>2010-03-23 12:12:07 +0100
commit4b8d59719624271c1e70ba93294016fb593601f5 (patch)
tree6f8cf60ee992f620bffe561138a5f61e9f37fefd /src/shared/cplusplus/CheckDeclarator.cpp
parent21c13328d3c5cf902734045394aa0a976aaf8db2 (diff)
downloadqt-creator-4b8d59719624271c1e70ba93294016fb593601f5.tar.gz
Recognize C++0x rvalue references.
Diffstat (limited to 'src/shared/cplusplus/CheckDeclarator.cpp')
-rw-r--r--src/shared/cplusplus/CheckDeclarator.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/shared/cplusplus/CheckDeclarator.cpp b/src/shared/cplusplus/CheckDeclarator.cpp
index 5a3044051b..86e3541d56 100644
--- a/src/shared/cplusplus/CheckDeclarator.cpp
+++ b/src/shared/cplusplus/CheckDeclarator.cpp
@@ -237,9 +237,11 @@ bool CheckDeclarator::visit(PointerAST *ast)
return false;
}
-bool CheckDeclarator::visit(ReferenceAST *)
+bool CheckDeclarator::visit(ReferenceAST *ast)
{
- ReferenceType *refTy = control()->referenceType(_fullySpecifiedType);
+ const bool rvalueRef = (tokenKind(ast->reference_token) == T_AMPER_AMPER);
+
+ ReferenceType *refTy = control()->referenceType(_fullySpecifiedType, rvalueRef);
FullySpecifiedType ty(refTy);
_fullySpecifiedType = ty;
return false;