Fixed #9382 (Hang: CheckLeakAutoVar pellepl/spiffs/src/spiffs_hydrogen.c)
This commit is contained in:
parent
8f46bb3ef6
commit
b97436e8f8
|
@ -836,6 +836,13 @@ static void compilePrecedence2(Token *&tok, AST_state& state)
|
||||||
compileUnaryOp(tok, state, nullptr);
|
compileUnaryOp(tok, state, nullptr);
|
||||||
}
|
}
|
||||||
tok = tok->link()->next();
|
tok = tok->link()->next();
|
||||||
|
} else if (iscast(tok) && Token::simpleMatch(tok->link(), ") {") && Token::simpleMatch(tok->link()->linkAt(1), "} [")) {
|
||||||
|
Token *cast = tok;
|
||||||
|
tok = tok->link()->next();
|
||||||
|
Token *tok1 = tok;
|
||||||
|
compileUnaryOp(tok, state, compileExpression);
|
||||||
|
cast->astOperand1(tok1);
|
||||||
|
tok = tok1->link()->next();
|
||||||
} else if (state.cpp && tok->str() == "{" && iscpp11init(tok)) {
|
} else if (state.cpp && tok->str() == "{" && iscpp11init(tok)) {
|
||||||
if (Token::simpleMatch(tok, "{ }"))
|
if (Token::simpleMatch(tok, "{ }"))
|
||||||
compileUnaryOp(tok, state, compileExpression);
|
compileUnaryOp(tok, state, compileExpression);
|
||||||
|
|
|
@ -7426,8 +7426,9 @@ private:
|
||||||
ASSERT_EQUALS("ac5[new(=", testAst("a = (b*)(new c[5]);")); // #8786
|
ASSERT_EQUALS("ac5[new(=", testAst("a = (b*)(new c[5]);")); // #8786
|
||||||
ASSERT_EQUALS("a(4+", testAst("(int)(a) + 4;"));
|
ASSERT_EQUALS("a(4+", testAst("(int)(a) + 4;"));
|
||||||
|
|
||||||
// TODO: This AST is incomplete however it's very weird syntax (taken from clang test suite)
|
// (cast){data}[index]
|
||||||
ASSERT_EQUALS("a&(", testAst("(int (**)[i]){&a}[0][1][5] = 0;"));
|
ASSERT_EQUALS("a&{(0[1[5[0=", testAst("(int (**)[i]){&a}[0][1][5] = 0;"));
|
||||||
|
ASSERT_EQUALS("ab12,{(0[,(", testAst("a(b, (int []){1,2}[0]);"));
|
||||||
ASSERT_EQUALS("n0=", testAst("TrivialDefCtor{[2][2]}[1][1].n = 0;"));
|
ASSERT_EQUALS("n0=", testAst("TrivialDefCtor{[2][2]}[1][1].n = 0;"));
|
||||||
ASSERT_EQUALS("aT12,3,{1[=", testAst("a = T{1, 2, 3}[1];"));
|
ASSERT_EQUALS("aT12,3,{1[=", testAst("a = T{1, 2, 3}[1];"));
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue