summaryrefslogtreecommitdiff
path: root/tests/auto/cplusplus
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2016-04-20 14:58:48 +0200
committerEike Ziller <eike.ziller@qt.io>2016-04-20 14:58:48 +0200
commitee8bf341c6f64096c6ccfeefd3b6b8a85fe91c0b (patch)
tree4dd8b097d0d2acc17f1a13e0e99debfc92b36466 /tests/auto/cplusplus
parent0eeee15a887a8180c1c28dc9f4929b066e096136 (diff)
parent5dc690f234ec7bb5dcdb11a610a4ecbee6dc4d64 (diff)
downloadqt-creator-ee8bf341c6f64096c6ccfeefd3b6b8a85fe91c0b.tar.gz
Merge remote-tracking branch 'origin/4.0'
Conflicts: src/plugins/projectexplorer/session.cpp src/plugins/qmlprofiler/qmlprofilerclientmanager.cpp Change-Id: I6946139f5e5fa3a9cdbb322fd50be248e2c0133f
Diffstat (limited to 'tests/auto/cplusplus')
-rw-r--r--tests/auto/cplusplus/checksymbols/tst_checksymbols.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/auto/cplusplus/checksymbols/tst_checksymbols.cpp b/tests/auto/cplusplus/checksymbols/tst_checksymbols.cpp
index d2de76e4d8..cf26114d9a 100644
--- a/tests/auto/cplusplus/checksymbols/tst_checksymbols.cpp
+++ b/tests/auto/cplusplus/checksymbols/tst_checksymbols.cpp
@@ -219,6 +219,8 @@ private slots:
void test_checksymbols_infiniteLoop_data();
void test_checksymbols_infiniteLoop();
+ void test_checkForValidSymbolFileId();
+
void test_parentOfBlock();
void findField();
@@ -1165,6 +1167,33 @@ void tst_CheckSymbols::test_checksymbols_infiniteLoop()
TestCase::runCheckSymbols(document1, snapshot);
}
+void tst_CheckSymbols::test_checkForValidSymbolFileId()
+{
+ const QByteArray contents =
+ "constexpr int parent_of(const int f) { return 1; }\n"
+ "\n"
+ "template <typename T> struct wrapper { const T* ptr; };\n"
+ "template <int> struct Dummy;\n"
+ "\n"
+ "namespace impl {\n"
+ " template <int f>\n"
+ " struct dummy_impl {\n"
+ " wrapper<Dummy<parent_of(f)>> parent;\n"
+ " };\n"
+ "}\n"
+ "\n"
+ "template <int f>\n"
+ "struct Dummy : impl::dummy_impl<f> {};\n"
+ "\n"
+ "void client()\n"
+ "{\n"
+ " wrapper<Dummy<1>> a;\n"
+ " a.ptr->parent.ptr;\n"
+ "}\n";
+
+ BaseTestCase tc(contents);
+}
+
void tst_CheckSymbols::test_parentOfBlock()
{
const QByteArray source = "void C::f()\n"