parent
5f759e89b3
commit
8b347aed42
|
@ -5194,7 +5194,8 @@ static const Token * parsedecl(const Token *type, ValueType * const valuetype, V
|
||||||
valuetype->type = ValueType::Type::INT;
|
valuetype->type = ValueType::Type::INT;
|
||||||
} else
|
} else
|
||||||
valuetype->type = ValueType::Type::RECORD;
|
valuetype->type = ValueType::Type::RECORD;
|
||||||
while (Token::Match(type, "%name%|*|&|::") && !type->variable() && !type->function()) {
|
while (Token::Match(type, "%name%|*|&|::") && !Token::Match(type, "typename|template") &&
|
||||||
|
!type->variable() && !type->function()) {
|
||||||
if (type->isSigned())
|
if (type->isSigned())
|
||||||
valuetype->sign = ValueType::Sign::SIGNED;
|
valuetype->sign = ValueType::Sign::SIGNED;
|
||||||
else if (type->isUnsigned())
|
else if (type->isUnsigned())
|
||||||
|
|
|
@ -297,6 +297,7 @@ private:
|
||||||
TEST_CASE(symboldatabase74); // #8838 - final
|
TEST_CASE(symboldatabase74); // #8838 - final
|
||||||
TEST_CASE(symboldatabase75);
|
TEST_CASE(symboldatabase75);
|
||||||
TEST_CASE(symboldatabase76); // #9056
|
TEST_CASE(symboldatabase76); // #9056
|
||||||
|
TEST_CASE(symboldatabase77); // #8663
|
||||||
|
|
||||||
TEST_CASE(createSymbolDatabaseFindAllScopes1);
|
TEST_CASE(createSymbolDatabaseFindAllScopes1);
|
||||||
|
|
||||||
|
@ -4219,6 +4220,15 @@ private:
|
||||||
ASSERT_EQUALS(2, db->mVariableList.size());
|
ASSERT_EQUALS(2, db->mVariableList.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void symboldatabase77() { // #8663
|
||||||
|
GET_SYMBOL_DB("template <class T1, class T2>\n"
|
||||||
|
"void f() {\n"
|
||||||
|
" using T3 = typename T1::template T3<T2>;\n"
|
||||||
|
" T3 t;\n"
|
||||||
|
"}");
|
||||||
|
ASSERT_EQUALS(2, db->mVariableList.size());
|
||||||
|
}
|
||||||
|
|
||||||
void createSymbolDatabaseFindAllScopes1() {
|
void createSymbolDatabaseFindAllScopes1() {
|
||||||
GET_SYMBOL_DB("void f() { union {int x; char *p;} a={0}; }");
|
GET_SYMBOL_DB("void f() { union {int x; char *p;} a={0}; }");
|
||||||
ASSERT(db->scopeList.size() == 3);
|
ASSERT(db->scopeList.size() == 3);
|
||||||
|
|
Loading…
Reference in New Issue