diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-06-23 19:46:24 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-06-23 19:46:24 +0300 |
commit | 8aa42b625d7fd34d22df6690e5b305b5be525eea (patch) | |
tree | f515914c33725728adea08ebb1e7366ced964c0f /src/parsers/decl/function_decl.cpp | |
parent | 17932a2f13f35d1ec451af73411898ebb03be5be (diff) | |
download | paranucker-8aa42b625d7fd34d22df6690e5b305b5be525eea.tar.gz paranucker-8aa42b625d7fd34d22df6690e5b305b5be525eea.tar.bz2 paranucker-8aa42b625d7fd34d22df6690e5b305b5be525eea.tar.xz paranucker-8aa42b625d7fd34d22df6690e5b305b5be525eea.zip |
Improve a bit parsing nested FUNCTION_DECL.
Diffstat (limited to 'src/parsers/decl/function_decl.cpp')
-rw-r--r-- | src/parsers/decl/function_decl.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/parsers/decl/function_decl.cpp b/src/parsers/decl/function_decl.cpp index c619d86..91eb15b 100644 --- a/src/parsers/decl/function_decl.cpp +++ b/src/parsers/decl/function_decl.cpp @@ -47,14 +47,16 @@ void parseFunctionDeclNode(FunctionDeclNode *node) setPrintField(node, DECL_EXTERNAL, isExternal); setPrintField(node, TREE_PUBLIC, isPublic); - if (!node->parseChilds) - return; - fillDeclAttributes(node); node->functionType = static_cast<TypeNode*>(createParseNode( node, TREE_TYPE(node->gccNode), - "function type")); + "function type", + node->parseChilds)); + + if (!node->parseChilds) + return; + node->result = static_cast<ResultDeclNode*>(createParseNode( node, DECL_RESULT(node->gccNode), |