cppcheck 2.3 when i used two compound statement, cppcheck reporting an AST error
#include <stdio.h> #include <stdbool.h> #define TEST_MACRO(a, b) ({ \ bool v##a = ((a) & (b)); \ v##a; \ }) int main() { bool r = TEST_MACRO(1, 2) || TEST_MACRO(2, 4); if (r) { printf("true\n"); } else { printf("false\n"); } return 0; }
=>
Checking test.c ... test.c:10:28: error: Syntax Error: AST broken, binary operator '||' doesn't have two operands. [internalAstError] bool r = TEST_MACRO(1, 2) || TEST_MACRO(2, 4); ^
Statement expressions are not very well supported, see this ticket: https://trac.cppcheck.net/ticket/9513
Log in to post a comment.
cppcheck 2.3
when i used two compound statement, cppcheck reporting an AST error
=>
Statement expressions are not very well supported, see this ticket: https://trac.cppcheck.net/ticket/9513