diff options
author | Topi Reinio <topi.reinio@digia.com> | 2013-08-29 09:10:52 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-08-30 09:22:16 +0200 |
commit | 00237744117bd9ca5ce13cafa21203fe4decd8d9 (patch) | |
tree | 4c63d0699b191e7df1461ecfad45a5d04b05240d /src/tools/qdoc/tokenizer.cpp | |
parent | df7944e7d7dd8b2bbccbd639eff0ab09745d6cc3 (diff) |
qdoc: Enable support for rvalue references in function signatures
qdoc interprets the double-ampersand in function parameters
using rvalue references (e.g. 'Type &&other') incorrectly
as a logical AND operator, resulting in a syntax error.
This change works around the issue by treating '&' the same
as '*', and defining Q_COMPILER_RVALUE_REFS for qdoc.
Task-number: QTBUG-32675
Change-Id: I499611f16f22c33ff5b878da0cd59d67ddf53d72
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
Diffstat (limited to 'src/tools/qdoc/tokenizer.cpp')
-rw-r--r-- | src/tools/qdoc/tokenizer.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/tools/qdoc/tokenizer.cpp b/src/tools/qdoc/tokenizer.cpp index 224d451f4c..e1ca28eef8 100644 --- a/src/tools/qdoc/tokenizer.cpp +++ b/src/tools/qdoc/tokenizer.cpp @@ -237,7 +237,11 @@ int Tokenizer::getToken() return getTokenAfterPreprocessor(); case '&': yyCh = getChar(); - if (yyCh == '&' || yyCh == '=') { + /* + Removed check for '&&', only interpret '&=' as an operator. + '&&' is also used for an rvalue reference. QTBUG-32675 + */ + if (yyCh == '=') { yyCh = getChar(); return Tok_SomeOperator; } |