Skip to content

Commit f26dff0

Browse files
committed
specify missing language for TokenList
1 parent df0a7dc commit f26dff0

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

lib/symboldatabase.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1804,6 +1804,7 @@ void SymbolDatabase::setArrayDimensionsUsingValueFlow()
18041804
// In template arguments, there might not be AST
18051805
// Determine size by using the "raw tokens"
18061806
TokenList tokenList(&mSettings);
1807+
tokenList.setLang(dimension.tok->isCpp() ? Standards::Language::CPP : Standards::Language::C);
18071808
tokenList.addtoken(";", 0, 0, 0, false);
18081809
bool fail = false;
18091810
for (const Token *tok = dimension.tok; tok && !Token::Match(tok, "[,>]"); tok = tok->next()) {

test/testtokenlist.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,12 @@
3535

3636
class TestTokenList : public TestFixture {
3737
public:
38-
TestTokenList() : TestFixture("TestTokenList") {}
38+
TestTokenList() : TestFixture("TestTokenList") {
39+
settings.enforcedLang = Standards::Language::C;
40+
}
3941

4042
private:
41-
const Settings settings;
43+
/*const*/ Settings settings;
4244

4345
void run() override {
4446
TEST_CASE(testaddtoken1);
@@ -59,7 +61,7 @@ class TestTokenList : public TestFixture {
5961

6062
void testaddtoken2() const {
6163
const std::string code = "0xF0000000";
62-
/*const*/ Settings settings1;
64+
/*const*/ Settings settings1 = settings;
6365
settings1.platform.int_bit = 32;
6466
TokenList tokenlist(&settings1);
6567
tokenlist.addtoken(code, 1, 1, false);

0 commit comments

Comments
 (0)