diff options
author | Christian Kamm <christian.d.kamm@nokia.com> | 2012-09-17 13:47:18 +0200 |
---|---|---|
committer | hjk <qthjk@ovi.com> | 2012-09-19 11:53:46 +0200 |
commit | ecd54059d3a0a18fd5e18c48b2c69761324d22c5 (patch) | |
tree | 139da110592d931f53037df4d927993eb9d97efd /tests | |
parent | 1aed32d86677b435eada4f8718bab3356630d74f (diff) |
C++11: Add alignof() expression.
Change-Id: Id3fb30b9a16ea724bab0d5b05e8cbddb0064e6eb
Reviewed-by: hjk <qthjk@ovi.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/cplusplus/cxx11/data/alignofAlignas.1.cpp | 2 | ||||
-rw-r--r-- | tests/auto/cplusplus/cxx11/tst_cxx11.cpp | 1 | ||||
-rw-r--r-- | tests/tools/cplusplus-dump/dumpers.inc | 12 |
3 files changed, 15 insertions, 0 deletions
diff --git a/tests/auto/cplusplus/cxx11/data/alignofAlignas.1.cpp b/tests/auto/cplusplus/cxx11/data/alignofAlignas.1.cpp new file mode 100644 index 00000000000..5ba43661ed6 --- /dev/null +++ b/tests/auto/cplusplus/cxx11/data/alignofAlignas.1.cpp @@ -0,0 +1,2 @@ +int i = alignof(int); +int t = alignof(C::foo) * 7 + alignof(Foo *); diff --git a/tests/auto/cplusplus/cxx11/tst_cxx11.cpp b/tests/auto/cplusplus/cxx11/tst_cxx11.cpp index d1c5889b759..684de7ae306 100644 --- a/tests/auto/cplusplus/cxx11/tst_cxx11.cpp +++ b/tests/auto/cplusplus/cxx11/tst_cxx11.cpp @@ -140,6 +140,7 @@ void tst_cxx11::parse_data() QTest::newRow("braceInitializers.2") << "braceInitializers.2.cpp" << ""; QTest::newRow("defaultdeleteInitializer.1") << "defaultdeleteInitializer.1.cpp" << ""; QTest::newRow("refQualifier.1") << "refQualifier.1.cpp" << ""; + QTest::newRow("alignofAlignas.1") << "alignofAlignas.1.cpp" << ""; } void tst_cxx11::parse() diff --git a/tests/tools/cplusplus-dump/dumpers.inc b/tests/tools/cplusplus-dump/dumpers.inc index 3bddba82479..52717595151 100644 --- a/tests/tools/cplusplus-dump/dumpers.inc +++ b/tests/tools/cplusplus-dump/dumpers.inc @@ -1104,6 +1104,18 @@ virtual bool visit(SizeofExpressionAST *ast) return false; } +virtual bool visit(AlignofExpressionAST *ast) +{ + if (ast->alignof_token) + terminal(ast->alignof_token, ast); + if (ast->lparen_token) + terminal(ast->lparen_token, ast); + nonterminal(ast->typeId); + if (ast->rparen_token) + terminal(ast->rparen_token, ast); + return false; +} + virtual bool visit(PointerLiteralAST *ast) { if (ast->literal_token) |