Skip to content

Commit 1c2cb0e

Browse files
committed
Add tests
1 parent 69a2d17 commit 1c2cb0e

2 files changed

Lines changed: 22 additions & 2 deletions

File tree

test/testtokenize.cpp

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,8 @@ class TestTokenizer : public TestFixture {
276276
TEST_CASE(functionAttributeListAfter);
277277
TEST_CASE(functionAttributeListAfter2);
278278
TEST_CASE(cppMaybeUnusedBefore);
279-
TEST_CASE(cppMaybeUnusedAfter);
279+
TEST_CASE(cppMaybeUnusedAfter1);
280+
TEST_CASE(cppMaybeUnusedAfter2);
280281
TEST_CASE(cppMaybeUnusedStructuredBinding);
281282

282283
TEST_CASE(splitTemplateRightAngleBrackets);
@@ -4258,7 +4259,7 @@ class TestTokenizer : public TestFixture {
42584259
ASSERT(var && var->isAttributeMaybeUnused());
42594260
}
42604261

4261-
void cppMaybeUnusedAfter() {
4262+
void cppMaybeUnusedAfter1() {
42624263
const char code[] = "int var [[maybe_unused]] {};";
42634264
const char expected[] = "int var { } ;";
42644265

@@ -4271,6 +4272,19 @@ class TestTokenizer : public TestFixture {
42714272
ASSERT(var && var->isAttributeMaybeUnused());
42724273
}
42734274

4275+
void cppMaybeUnusedAfter2() {
4276+
const char code[] = "std::string var [[maybe_unused]];";
4277+
const char expected[] = "std :: string var ;";
4278+
4279+
SimpleTokenizer tokenizer(settings0, *this);
4280+
ASSERT(tokenizer.tokenize(code));
4281+
4282+
ASSERT_EQUALS(expected, tokenizer.tokens()->stringifyList(nullptr, false));
4283+
4284+
const Token *var = Token::findsimplematch(tokenizer.tokens(), "var");
4285+
ASSERT(var && var->isAttributeMaybeUnused());
4286+
}
4287+
42744288
void cppMaybeUnusedStructuredBinding() {
42754289
const char code[] = "[[maybe_unused]] auto [var1, var2] = f();";
42764290
const char expected[] = "auto [ var1 , var2 ] = f ( ) ;";

test/testunusedvar.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6532,6 +6532,12 @@ class TestUnusedVar : public TestFixture {
65326532
" [[maybe_unused]] char b[1][2];\n"
65336533
"}");
65346534
ASSERT_EQUALS("", errout_str());
6535+
6536+
functionVariableUsage("int main() {\n"
6537+
" std::string a [[maybe_unused]];\n"
6538+
" f();\n"
6539+
"}");
6540+
ASSERT_EQUALS("", errout_str());
65356541
}
65366542

65376543
void localvarrvalue() { // ticket #13977

0 commit comments

Comments
 (0)