summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorChristian Kamm <kamm@incasoftware.de>2012-09-19 10:26:07 +0200
committerhjk <qthjk@ovi.com>2012-09-19 12:21:31 +0200
commit83da5f68bec13dcb05b84a005f4bb3bc7e8bc82b (patch)
treef29e5c977a316cd757e9a00ddb43bcbf98999880 /tests
parent2aa27e6d22757976811ac9f29291bb12e8871f0a (diff)
downloadqt-creator-83da5f68bec13dcb05b84a005f4bb3bc7e8bc82b.tar.gz
C++11: Allow for typename Foo<T>{}, Foo{} and int{}.
As a postfix expression. Change-Id: I65cae0571080a9fb699af61c661328ef06f97890 Reviewed-by: hjk <qthjk@ovi.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/cplusplus/cxx11/data/braceInitializers.3.cpp3
-rw-r--r--tests/auto/cplusplus/cxx11/tst_cxx11.cpp1
-rw-r--r--tests/tools/cplusplus-dump/dumpers.inc14
3 files changed, 6 insertions, 12 deletions
diff --git a/tests/auto/cplusplus/cxx11/data/braceInitializers.3.cpp b/tests/auto/cplusplus/cxx11/data/braceInitializers.3.cpp
new file mode 100644
index 0000000000..58b5a8dd48
--- /dev/null
+++ b/tests/auto/cplusplus/cxx11/data/braceInitializers.3.cpp
@@ -0,0 +1,3 @@
+auto x = int{};
+auto y = Foo{};
+auto z = typename Foo<T>{};
diff --git a/tests/auto/cplusplus/cxx11/tst_cxx11.cpp b/tests/auto/cplusplus/cxx11/tst_cxx11.cpp
index 09a1632115..53d2cae2a1 100644
--- a/tests/auto/cplusplus/cxx11/tst_cxx11.cpp
+++ b/tests/auto/cplusplus/cxx11/tst_cxx11.cpp
@@ -138,6 +138,7 @@ void tst_cxx11::parse_data()
QTest::newRow("noExcept.1") << "noExcept.1.cpp" << "noExcept.1.errors.txt";
QTest::newRow("braceInitializers.1") << "braceInitializers.1.cpp" << "braceInitializers.1.errors.txt";
QTest::newRow("braceInitializers.2") << "braceInitializers.2.cpp" << "";
+ QTest::newRow("braceInitializers.3") << "braceInitializers.3.cpp" << "";
QTest::newRow("defaultdeleteInitializer.1") << "defaultdeleteInitializer.1.cpp" << "";
QTest::newRow("refQualifier.1") << "refQualifier.1.cpp" << "";
QTest::newRow("alignofAlignas.1") << "alignofAlignas.1.cpp" << "";
diff --git a/tests/tools/cplusplus-dump/dumpers.inc b/tests/tools/cplusplus-dump/dumpers.inc
index 015e2a39be..6e4ec32e74 100644
--- a/tests/tools/cplusplus-dump/dumpers.inc
+++ b/tests/tools/cplusplus-dump/dumpers.inc
@@ -1017,12 +1017,7 @@ virtual bool visit(TypenameCallExpressionAST *ast)
if (ast->typename_token)
terminal(ast->typename_token, ast);
nonterminal(ast->name);
- if (ast->lparen_token)
- terminal(ast->lparen_token, ast);
- for (ExpressionListAST *iter = ast->expression_list; iter; iter = iter->next)
- nonterminal(iter->value);
- if (ast->rparen_token)
- terminal(ast->rparen_token, ast);
+ nonterminal(ast->expression);
return false;
}
@@ -1030,12 +1025,7 @@ virtual bool visit(TypeConstructorCallAST *ast)
{
for (SpecifierListAST *iter = ast->type_specifier_list; iter; iter = iter->next)
nonterminal(iter->value);
- if (ast->lparen_token)
- terminal(ast->lparen_token, ast);
- for (ExpressionListAST *iter = ast->expression_list; iter; iter = iter->next)
- nonterminal(iter->value);
- if (ast->rparen_token)
- terminal(ast->rparen_token, ast);
+ nonterminal(ast->expression);
return false;
}