summaryrefslogtreecommitdiffstats
path: root/src/tools
diff options
context:
space:
mode:
authorTopi Reinio <topi.reinio@digia.com>2013-08-29 09:10:52 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-08-30 09:22:16 +0200
commit00237744117bd9ca5ce13cafa21203fe4decd8d9 (patch)
tree4c63d0699b191e7df1461ecfad45a5d04b05240d /src/tools
parentdf7944e7d7dd8b2bbccbd639eff0ab09745d6cc3 (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')
-rw-r--r--src/tools/qdoc/tokenizer.cpp6
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;
}