summaryrefslogtreecommitdiff
path: root/tests/auto/cplusplus/preprocessor
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@digia.com>2013-04-30 11:43:33 +0200
committerEike Ziller <eike.ziller@digia.com>2013-04-30 11:43:33 +0200
commitbedc477943ba94c38db133b8cf6d20132d56a315 (patch)
treeae64d44a5d12f66e07a0c2d963d885bcf0ceb5db /tests/auto/cplusplus/preprocessor
parent3aa0e500392192dc6306a29d4a60b4d362a29811 (diff)
parent71f1919de9a1ce0abc370fb2a1044ad6e85438cf (diff)
downloadqt-creator-bedc477943ba94c38db133b8cf6d20132d56a315.tar.gz
Merge remote-tracking branch 'origin/2.7'
Conflicts: src/plugins/qmldesigner/components/formeditor/abstractcustomtool.cpp Change-Id: I4e0a85795e7f4bfcdc21d106517517b527f85104
Diffstat (limited to 'tests/auto/cplusplus/preprocessor')
-rw-r--r--tests/auto/cplusplus/preprocessor/tst_preprocessor.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/auto/cplusplus/preprocessor/tst_preprocessor.cpp b/tests/auto/cplusplus/preprocessor/tst_preprocessor.cpp
index f920da1125..92560c4e44 100644
--- a/tests/auto/cplusplus/preprocessor/tst_preprocessor.cpp
+++ b/tests/auto/cplusplus/preprocessor/tst_preprocessor.cpp
@@ -318,6 +318,7 @@ private:
private slots:
void va_args();
void named_va_args();
+ void extra_va_args();
void defined();
void defined_data();
void empty_macro_args();
@@ -414,6 +415,23 @@ void tst_Preprocessor::named_va_args()
QCOMPARE(simplified(preprocessed), QString("int f();int f(int a);int f(int a,int b);"));
}
+void tst_Preprocessor::extra_va_args()
+{
+ Client *client = 0; // no client.
+ Environment env;
+
+ Preprocessor preprocess(client, &env);
+ QByteArray preprocessed = preprocess.run(QLatin1String("<stdin>"),
+ "#define foo(ret, ...) ret f(__VA_ARGS__);\n"
+ "\nfoo(int)\n"
+ "\nfoo(float,int b)\n"
+ "\nfoo(long,int b,int c)\n",
+ true, false);
+
+ preprocessed = preprocessed.simplified();
+ QCOMPARE(simplified(preprocessed), QString("int f();float f(int b);long f(int b,int c);"));
+}
+
void tst_Preprocessor::empty_macro_args()
{
Client *client = 0; // no client.