From 44cf7b096b5f93adce4f316ff1c75af8be004705 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 7 Jun 2015 13:22:52 +0300 Subject: Add some missing fields in parsed nodes. --- src/parsers/decl/function_decl.cpp | 6 ++++-- src/parsers/decl/parm_decl.cpp | 1 + src/parsers/decl/result_decl.cpp | 11 +++++++++++ src/parsers/decl/var_decl.cpp | 3 ++- 4 files changed, 18 insertions(+), 3 deletions(-) (limited to 'src/parsers/decl') diff --git a/src/parsers/decl/function_decl.cpp b/src/parsers/decl/function_decl.cpp index d7e6ecc..0cf4b19 100644 --- a/src/parsers/decl/function_decl.cpp +++ b/src/parsers/decl/function_decl.cpp @@ -34,14 +34,16 @@ void parseFunctionDeclNode(FunctionDeclNode *node) fillType(node); fillLocation(node); fillDeclLabel(node); - Log::log(node); - fillDeclAutoGenerated(node); setPrintField(node, DECL_FUNCTION_VERSIONED, hasTargets); setPrintField(node, DECL_VIRTUAL_P, isVirtual); setPrintField(node, DECL_FINAL_P, isFinal); setPrintField(node, TREE_READONLY, isConst); setPrintField(node, DECL_PURE_P, isPure); + setPrintField(node, DECL_EXTERNAL, isExternal); + setPrintField(node, TREE_PUBLIC, isPublic); + + Log::log(node); fillDeclAttributes(node); node->functionType = static_cast(createParseNode( diff --git a/src/parsers/decl/parm_decl.cpp b/src/parsers/decl/parm_decl.cpp index 4d305dd..fd314db 100644 --- a/src/parsers/decl/parm_decl.cpp +++ b/src/parsers/decl/parm_decl.cpp @@ -34,6 +34,7 @@ void parseParmDeclNode(ParmDeclNode *node) fillLocation(node); fillDeclLabel(node); setPrintField(node, DECL_REGISTER, isRegister); + setPrintField(node, TREE_USED, isUsed); Log::log(node); diff --git a/src/parsers/decl/result_decl.cpp b/src/parsers/decl/result_decl.cpp index 163e757..8a85c47 100644 --- a/src/parsers/decl/result_decl.cpp +++ b/src/parsers/decl/result_decl.cpp @@ -44,6 +44,17 @@ void parseResultDeclNode(ResultDeclNode *node) node, TREE_TYPE(node->gccNode), "result type")); + + node->declSize = static_cast(createParseNode( + node, + DECL_SIZE(node->gccNode), + INTEGER_CST, + "decl size")); + + node->initial = createParseNode( + node, + DECL_INITIAL(node->gccNode), + "initial"); } } diff --git a/src/parsers/decl/var_decl.cpp b/src/parsers/decl/var_decl.cpp index 99b1fe0..5c411f7 100644 --- a/src/parsers/decl/var_decl.cpp +++ b/src/parsers/decl/var_decl.cpp @@ -36,6 +36,8 @@ void parseVarDeclNode(VarDeclNode *node) fillLocation(node); fillDeclLabel(node); setPrintField(node, DECL_THIS_STATIC, isStatic); + setPrintField(node, DECL_REGISTER, isRegister); + setPrintField(node, TREE_USED, isUsed); Log::log(node); @@ -53,7 +55,6 @@ void parseVarDeclNode(VarDeclNode *node) TREE_TYPE(node->gccNode), "var type")); - node->initial = createParseNode( node, DECL_INITIAL(node->gccNode), -- cgit v1.2.3-60-g2f50