From 8141f496ffee4d70b3563e2a3b091b1826a7859f Mon Sep 17 00:00:00 2001 From: Roberto Raggi Date: Tue, 23 Mar 2010 12:27:09 +0100 Subject: Warn for invalid references. --- src/shared/cplusplus/CheckDeclarator.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/shared/cplusplus/CheckDeclarator.cpp b/src/shared/cplusplus/CheckDeclarator.cpp index 86e3541d56..44aaf32a0b 100644 --- a/src/shared/cplusplus/CheckDeclarator.cpp +++ b/src/shared/cplusplus/CheckDeclarator.cpp @@ -241,6 +241,9 @@ bool CheckDeclarator::visit(ReferenceAST *ast) { const bool rvalueRef = (tokenKind(ast->reference_token) == T_AMPER_AMPER); + if (_fullySpecifiedType->isReferenceType()) + translationUnit()->error(ast->firstToken(), "cannot declare reference to a reference"); + ReferenceType *refTy = control()->referenceType(_fullySpecifiedType, rvalueRef); FullySpecifiedType ty(refTy); _fullySpecifiedType = ty; -- cgit v1.2.1