From 0be97b4243b5eb51af4705adbb7332bef4476080 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 17 Jun 2015 02:05:37 +0300 Subject: Fix crash in manaplus compiling. --- src/parsers/expr/call_expr.cpp | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/parsers/expr/call_expr.cpp b/src/parsers/expr/call_expr.cpp index 096d2c5..6eecb26 100644 --- a/src/parsers/expr/call_expr.cpp +++ b/src/parsers/expr/call_expr.cpp @@ -39,8 +39,18 @@ void parseCallExprNode(CallExprNode *node) // not recommended // fillExprOperands(node); - node->functionName = internal_fn_name(CALL_EXPR_IFN (node->gccNode)); - Log::dump(node, "- function: %s", node->functionName.c_str()); + if (CALL_EXPR_FN(node->gccNode) != NULL_TREE) + { + node->function = createParseNode( + node, + CALL_EXPR_FN(node->gccNode), + "function"); + } + else + { + node->functionName = internal_fn_name(CALL_EXPR_IFN (node->gccNode)); + Log::dump(node, "- function: %s", node->functionName.c_str()); + } // if (!node->parseChilds) // return; @@ -61,11 +71,6 @@ void parseCallExprNode(CallExprNode *node) if (node->functionName == "LOAD_LANES") return; - - node->function = createParseNode( - node, - CALL_EXPR_FN(node->gccNode), - "function"); } } -- cgit v1.2.3-70-g09d2