parent
3fc62ce10b
commit
613bbe7674
|
@ -1732,7 +1732,7 @@ void SymbolDatabase::createSymbolDatabaseExprIds()
|
|||
} else if (tok->astParent() && !tok->astOperand1() && !tok->astOperand2()) {
|
||||
if (tok->tokType() == Token::Type::eBracket)
|
||||
continue;
|
||||
if (tok->astParent()->isAssignmentOp())
|
||||
if (tok->astParent()->str() == "=")
|
||||
continue;
|
||||
if (tok->isControlFlowKeyword())
|
||||
continue;
|
||||
|
|
|
@ -603,7 +603,7 @@ void nullPointer_localtime_s(const std::time_t *restrict time, struct tm *restri
|
|||
(void)std::localtime_s(time, result);
|
||||
}
|
||||
|
||||
void memleak_localtime_s(const std::time_t *restrict time, struct tm *restrict result)
|
||||
void memleak_localtime_s(const std::time_t *restrict time, struct tm *restrict result) // #9258
|
||||
{
|
||||
const time_t t = time(0);
|
||||
const struct tm* const now = new tm();
|
||||
|
|
|
@ -242,6 +242,7 @@ private:
|
|||
TEST_CASE(exprid5);
|
||||
TEST_CASE(exprid6);
|
||||
TEST_CASE(exprid7);
|
||||
TEST_CASE(exprid8);
|
||||
|
||||
TEST_CASE(structuredBindings);
|
||||
}
|
||||
|
@ -3957,6 +3958,18 @@ private:
|
|||
ASSERT_EQUALS(expected, tokenizeExpr(code));
|
||||
}
|
||||
|
||||
void exprid8() {
|
||||
const char code[] = "void f() {\n" // #12249
|
||||
" std::string s;\n"
|
||||
" (((s += \"--\") += std::string()) += \"=\");\n"
|
||||
"}\n";
|
||||
const char expected[] = "1: void f ( ) {\n"
|
||||
"2: std ::@UNIQUE string s@1 ;\n"
|
||||
"3: ( ( s@1 +=@UNIQUE \"--\"@UNIQUE ) +=@UNIQUE std ::@UNIQUE string (@UNIQUE ) ) +=@UNIQUE \"=\"@UNIQUE ;\n"
|
||||
"4: }\n";
|
||||
ASSERT_EQUALS(expected, tokenizeExpr(code));
|
||||
}
|
||||
|
||||
void structuredBindings() {
|
||||
const char code[] = "int foo() { auto [x,y] = xy(); return x+y; }";
|
||||
ASSERT_EQUALS("1: int foo ( ) { auto [ x@1 , y@2 ] = xy ( ) ; return x@1 + y@2 ; }\n",
|
||||
|
|
Loading…
Reference in New Issue