| ... | ... | @@ -1837,6 +1837,16 @@ static AstNode *trans_array_subscript_expr(Context *c, AstNode *block, ArraySubs |
| 1837 | 1837 | return node; |
| 1838 | 1838 | } |
| 1839 | 1839 | |
| 1840 | static AstNode *trans_c_style_cast_expr(Context *c, bool result_used, AstNode *block, |
| 1841 | CStyleCastExpr *stmt, TransLRValue lrvalue) |
| 1842 | { |
| 1843 | AstNode *sub_expr_node = trans_expr(c, result_used, block, stmt->getSubExpr(), lrvalue); |
| 1844 | if (sub_expr_node == nullptr) |
| 1845 | return nullptr; |
| 1846 | |
| 1847 | return trans_c_cast(c, stmt->getLocStart(), stmt->getType(), sub_expr_node); |
| 1848 | } |
| 1849 | |
| 1840 | 1850 | static AstNode *trans_stmt(Context *c, bool result_used, AstNode *block, Stmt *stmt, TransLRValue lrvalue) { |
| 1841 | 1851 | Stmt::StmtClass sc = stmt->getStmtClass(); |
| 1842 | 1852 | switch (sc) { |
| ... | ... | @@ -1872,6 +1882,8 @@ static AstNode *trans_stmt(Context *c, bool result_used, AstNode *block, Stmt *s |
| 1872 | 1882 | return trans_member_expr(c, block, (MemberExpr *)stmt); |
| 1873 | 1883 | case Stmt::ArraySubscriptExprClass: |
| 1874 | 1884 | return trans_array_subscript_expr(c, block, (ArraySubscriptExpr *)stmt); |
| 1885 | case Stmt::CStyleCastExprClass: |
| 1886 | return trans_c_style_cast_expr(c, result_used, block, (CStyleCastExpr *)stmt, lrvalue); |
| 1875 | 1887 | case Stmt::CaseStmtClass: |
| 1876 | 1888 | emit_warning(c, stmt->getLocStart(), "TODO handle C CaseStmtClass"); |
| 1877 | 1889 | return nullptr; |
| ... | ... | @@ -2020,9 +2032,6 @@ static AstNode *trans_stmt(Context *c, bool result_used, AstNode *block, Stmt *s |
| 2020 | 2032 | case Stmt::UserDefinedLiteralClass: |
| 2021 | 2033 | emit_warning(c, stmt->getLocStart(), "TODO handle C UserDefinedLiteralClass"); |
| 2022 | 2034 | return nullptr; |
| 2023 | | case Stmt::CStyleCastExprClass: |
| 2024 | | emit_warning(c, stmt->getLocStart(), "TODO handle C CStyleCastExprClass"); |
| 2025 | | return nullptr; |
| 2026 | 2035 | case Stmt::CXXFunctionalCastExprClass: |
| 2027 | 2036 | emit_warning(c, stmt->getLocStart(), "TODO handle C CXXFunctionalCastExprClass"); |
| 2028 | 2037 | return nullptr; |